Linux如何配置PAM認(rèn)證?安全登錄策略優(yōu)化

pam配置增強(qiáng)linux系統(tǒng)安全的核心方法包括四步:一、了解pam基本結(jié)構(gòu),其配置文件位于/etc/pam.d/目錄,每行定義模塊、控制標(biāo)志和參數(shù),如required(必須成功)、requisite(失敗即終止)、sufficient(成功即滿足)、optional(不影響結(jié)果);二、設(shè)置密碼策略,使用pam_pwquality.so設(shè)定密碼復(fù)雜度,結(jié)合pam_unix.so啟用密碼歷史記錄防止重復(fù)使用;三、限制登錄嘗試與訪問時間,通過pam_tally2.so限制失敗次數(shù)并鎖定賬戶,利用pam_access.so控制ip和時間段訪問;四、啟用雙因素認(rèn)證,如配置pam_google_authenticator.so實(shí)現(xiàn)ssh登錄動態(tài)驗(yàn)證碼驗(yàn)證,提升遠(yuǎn)程安全性。配置前應(yīng)備份文件,確保邏輯清晰、順序正確,避免誤操作導(dǎo)致登錄問題。

Linux如何配置PAM認(rèn)證?安全登錄策略優(yōu)化

linux系統(tǒng)中,PAM(Pluggable Authentication Modules)是一個非常靈活且強(qiáng)大的認(rèn)證機(jī)制。通過配置PAM,可以有效增強(qiáng)系統(tǒng)的安全性,比如限制登錄嘗試次數(shù)、設(shè)置密碼復(fù)雜度、控制用戶訪問時間等。它不是直接改一個文件就能搞定的事,但只要理解結(jié)構(gòu)和邏輯,其實(shí)并不難。

Linux如何配置PAM認(rèn)證?安全登錄策略優(yōu)化


一、了解PAM的基本結(jié)構(gòu)

PAM的配置文件通常位于 /etc/pam.d/ 目錄下,每個服務(wù)(如 login、sshd、su 等)都有對應(yīng)的配置文件。這些文件里每一行定義了一個模塊及其控制標(biāo)志和參數(shù)。

Linux如何配置PAM認(rèn)證?安全登錄策略優(yōu)化

常見的控制標(biāo)志有:

  • required:必須成功執(zhí)行,否則繼續(xù)檢查其他模塊,最終返回失敗。
  • requisite:如果失敗立即返回錯誤,不再繼續(xù)。
  • sufficient:如果成功就認(rèn)為滿足條件,不再繼續(xù)。
  • optional:結(jié)果不影響整體認(rèn)證是否成功。

舉個例子,下面這行表示使用 pam_Access.so 模塊來控制訪問權(quán)限:

Linux如何配置PAM認(rèn)證?安全登錄策略優(yōu)化

account required pam_access.so

理解每種模塊的作用和調(diào)用順序,是配置PAM的基礎(chǔ)。


二、設(shè)置密碼策略增強(qiáng)安全

要提高系統(tǒng)安全性,首先要從密碼策略入手??梢酝ㄟ^ pam_pwquality.so 或 pam_cracklib.so 來設(shè)置密碼復(fù)雜度要求。

例如,在 /etc/pam.d/system-auth 中添加或修改如下行:

password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

這段配置的意思是:

  • 用戶最多可以重試3次;
  • 密碼最小長度為10;
  • 必須包含大小寫字母、數(shù)字和特殊字符各至少一個。

還可以結(jié)合 pam_unix.so 設(shè)置密碼歷史記錄,防止重復(fù)使用舊密碼:

password sufficient pam_unix.so sha512 shadow nullok remember=5

這樣用戶就不能重復(fù)使用最近5次用過的密碼了。


三、限制登錄嘗試與訪問時間

為了防止暴力破解,建議使用 pam_tally2.so 或 pam_faillock.so 來記錄失敗登錄次數(shù),并在超過閾值后鎖定賬戶。

比如在 /etc/pam.d/sshd 文件中加入:

auth required pam_tally2.so deny=5 unlock_time=300

表示允許最多5次失敗登錄,之后賬戶會被鎖定300秒(5分鐘)。

另外,也可以通過 pam_access.so 和 /etc/security/access.conf 控制哪些IP地址或用戶可以在什么時間段登錄。例如:

# 允許root在工作時間從特定IP登錄 :root: 192.168.1.0/24 : tty=tty1:tty2:time= Wk0800-1700

這樣可以大大減少非授權(quán)訪問的可能性。


四、啟用雙因素認(rèn)證(可選)

如果你對安全性要求更高,可以考慮在SSH登錄中啟用雙因素認(rèn)證,比如使用 Google Authenticator。這需要安裝 libpam-google-authenticator 包,并在 /etc/pam.d/sshd 中添加:

auth required pam_google_authenticator.so

然后讓用戶運(yùn)行 google-authenticator 命令生成二維碼并綁定手機(jī)App。這樣每次SSH登錄除了密碼,還需要輸入動態(tài)驗(yàn)證碼。

雖然增加了登錄步驟,但顯著提升了遠(yuǎn)程訪問的安全性。


基本上就這些。PAM的配置不復(fù)雜,但容易忽略細(xì)節(jié)。關(guān)鍵是要清楚每個模塊的作用,以及它們之間的執(zhí)行順序。改之前最好備份原始配置文件,避免誤操作導(dǎo)致無法登錄。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享