Linux系統密碼策略設定詳解

2021-07-16 19:45:38 字數 3104 閱讀 8779

由於工作需要最近需要將公司的多台linux伺服器進行密碼策略的設定,主要內容是增加密碼複雜度。

操作步驟如下,不會的同學可以參考:

操作前需要掌握如下幾個簡單的知識點:(其實不掌握也行,不過學學沒壞處)

pam(pluggable authentication modules )是由sun提出的一種認證機制。它通過提供一些動態鏈結庫和一套統一的api,將系統提供的服務 和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程式,同時也便於向系 統中新增新的認證手段。pam最初是整合在solaris中,目前已移植到其它系統中,如linux、sunos、hp-ux 9.0等。

pam的配置是通過單個配置檔案/etc/pam.conf。redhat還支援另外一種配置方式,即通過配置目錄/etc/pam.d/,且這種的優先順序要高於單 個配置檔案的方式。

使用 pam 整合 openldap 實現 linux 統一管理系統使用者

ftp伺服器工作原理及如何通過pam認證實現虛擬使用者登入

pam的配置過程

基於ssl/tls實現vsftpd的安全通訊並通過pam實現對vsftpd的虛擬使用者認證

linux 使用pam_ldap通過ad域認證

整合vsftp+pam+mysql—集中管理ftp的虛擬帳號

vsftpd2.3.5+pam安裝配置筆記

1、使用配置檔案/etc/pam.conf

該檔案是由如下的行所組成的:

service-name module-type control-flag module-path arguments

service-name 服務的名字,比如telnet、login、ftp等,服務名字「other」代表所有沒有在該檔案中明確配置的其它服務。

module-type 模組型別有四種:auth、account、session、password,即對應pam所支援的四種管理方式。同乙個服務可以呼叫多個 pam模組進行認證,這些模組構成乙個stack。

control-flag 用來告訴pam庫該如何處理與該服務相關的pam模組的成功或失敗情況。它有四種可能的 值:required,requisite,sufficient,optional。

required 表示本模組必須返回成功才能通過認證,但是如果該模組返回失敗的話,失敗結果也不會立即通知使用者,而是要等到同一stack 中的所有模組全部執行完畢再將失敗結果返回給應用程式。可以認為是乙個必要條件。

requisite 與required類似,該模組必須返回成功才能通過認證,但是一旦該模組返回失敗,將不再執行同一stack內的任何模組,而是直 接將控制權返回給應用程式。是乙個必要條件。注:這種只有redhat支援,solaris不支援。

sufficient 表明本模組返回成功已經足以通過身份認證的要求,不必再執行同一stack內的其它模組,但是如果本模組返回失敗的話可以 忽略。可以認為是乙個充分條件。

optional表明本模組是可選的,它的成功與否一般不會對身份認證起關鍵作用,其返回值一般被忽略。

對於control-flag,從linux-pam-0.63版本起,支援一種新的語法,具體可參看linuxpam文件。

module-path 用來指明本模組對應的程式檔案的路徑名,一般採用絕對路徑,如果沒有給出絕對路徑,預設該檔案在目錄/usr/lib/security下面。

arguments 是用來傳遞給該模組的引數。一般來說每個模組的引數都不相同,可以由該模組的開發者自己定義,但是也有以下幾個共同 的引數:

debug 該模組應當用syslog( )將除錯資訊寫入到系統日誌檔案中。

no_warn 表明該模組不應把警告資訊傳送給應用程式。

use_first_pass 表明該模組不能提示使用者輸入密碼,而應使用前乙個模組從使用者那裡得到的密碼。

try_first_pass 表明該模組首先應當使用前乙個模組從使用者那裡得到的密碼,如果該密碼驗證不通過,再提示使用者輸入新的密碼。

expose_account 允許該模組顯示使用者的帳號名等資訊,一般只能在安全的環境下使用,因為洩漏使用者名稱會對安全造成一定程度的威脅。

2、使用配置目錄/etc/pam.d/(只適用於redhat linux)

該目錄下的每個檔案的名字對應服務名,例如ftp服務對應檔案/etc/pam.d/ftp。如果名為***x的服務所對應的配置檔案/etc/pam.d/***x不存 在,則該服務將使用預設的配置檔案/etc/pam.d/other。每個檔案由如下格式的文字行所構成:

module-type control-flag module-path arguments

每個欄位的含義和/etc/pam.conf中的相同。

由於公司使用的是redhat的linux故此我將使用pam.d這個配置目錄。密碼複雜度通過/etc/pam.d/system-auth這個檔案來實現的故此我們先看一下預設有什麼內容然後將這個檔案備份乙個:

在這個檔案中我們會用到pam_cracklib.so這個模組。pam_cracklib.so是乙個常用並且非常重要的pam模組。該模組主要的作用是對使用者密碼的強健性進行檢測。即檢查和限制使用者自定義密碼的長度、複雜度和歷史等。如不滿足上述強度的密碼將拒絕使用。

pam_cracklib.so比較重要和難於理解的是它的一些引數和計數方法,其常用引數包括:   

debug:將除錯資訊寫入日誌;

type=***:當新增/修改密碼時,系統給出的預設提示符是「new unix password:」以及「retype unix

password:」,而使用該引數可以自定義輸入密碼的提示符,比如指定type=your own word;

retry=n:定義登入/修改密碼失敗時,可以重試的次數;

difok=n:定義新密碼中必須有幾個字元要與舊密碼不同。但是如果新密碼中有1/2以上的字元與舊密碼不同時,該新密碼將被接受;

minlen=n:定義使用者密碼的最小長度;

dcredit=n:定義使用者密碼中必須包含多少個數字;

ucredit=n:定義使用者密碼中必須包含多少個大寫字母;

lcredit=n:定義使用者密碼中必須包含多少個小些字母;

ocredit=n:定義使用者密碼中必須包含多少個特殊字元(除數字、字母之外);

mysql密碼策略設定

設定密碼過期策略 mysql資料庫使用者同系統使用者一樣,可以設定密碼過期策略,密碼的過期天數可以在配置檔案裡面設定,也可以通過命令設定,通過命令為每個使用者設定密碼的過期天數則會覆蓋系統配置檔案中的設定。1 配置檔案中設定 選項 default password lifetime 過期天數 如果設...

linux伺服器密碼策略設定 登入密碼錯誤次數限制

1.備份要操作的兩個配置檔案 cp etc pam.d sshd etc pam.d sshd.bak cp etc pam.d login etc pam.d login.bak 2.檢查是否有pam tally2.so模組 root iz25dd99ylmz security find lib ...

Linux賬戶密碼過期安全策略設定

主機上普通使用者執行crontab e 時,會報錯,資訊如下 you 使用者名稱 are not allowed to access to crontab because of pam configuration.問題排查思路 一 檢查crond許可權。1 cat etc corn.deny,檔案是...