linux 密码复杂度,用PAM 搞定Linux 平台密码复杂度问题
用PAM 搞定Linux 平臺密碼復雜度問題
星期五, 十二月 27, 20130
作為一個PAM的一個模塊,pam_cracklib可以被用來檢查密碼是否違反密碼字典,這個驗證模塊可以通過插入password堆棧,為特殊的應用提供可插入式密碼強度性檢測,能夠很好地解決Linux平臺密碼復雜度的問題。
身邊很多人有這樣的困惑,無論是在做安全檢查還是在做日常運維規范,對于管理員設置的密碼是否達到要求比較頭疼,往往只能通過觀察管理員在登錄的時候手指的活動區域,進而判斷是否有數字、大小寫、特殊字符。
Windows 平臺一般管理員都比較熟悉,有專門配置復雜度的地方,如下圖所示:
但是對于Linux平臺卻無從下手,做的好的企業會對/etc/login.defs文件進行配置,但是此文件根本解決不了密碼復雜度的問題。真正解決問題的是/lib/security/pam_cracklib.so 這個文件,此文件是RedHat 開發的默認會安裝,如系統中不存在,可以考慮通過YUM的方式安裝cracklib-* 這個包。
僅僅一個密碼復雜度的問題在pam_cracklib.so中有很多參數可以選擇,具體配置如下:
debug此選為記錄Syslog日志。
type=safe輸入新密碼的時候給予的提示。
retry=N改變輸入密碼的次數,默認值是1。就是說,如果用戶輸入的密碼強度不夠就退出。可以使用這個選項設置輸入的次數,以免一切都從頭再來。
difok=N默認值為10。這個參數設置允許的新、舊密碼相同字符的個數。
difignore=N多少個字符的密碼應收到difok將被忽略。默認為23
minlen=N新的最低可接受的大小密碼。除了在新密碼的字符數。此參數的默認值是9,它是一個老式的UNIX密碼的字符相同類型的所有好,但可能過低,利用一個MD5的系統增加安全性。
dcredit=N限制新密碼中至少有多少個數字。
ucredit=N限制新密碼中至少有多少個大寫字符。
lcredit=N限制新密碼中至少有多少個小寫字符。
ocredit=N限制新密碼中至少有多少個其它的字符。此參數用于強制模塊不提示用戶的新密碼,但以前使用的堆疊模塊提供的密碼之一。
dictpath=/path/to/dict //注:密碼字典,這個是驗證用戶的密碼是否是字典一部分的關鍵
cracklib密碼強度檢測過程:
首先檢查密碼是否是字典的一部分,如果不是,則進行下面的檢查
密碼強度檢測過程–>
新密碼是否舊密碼的回文–>
新密碼是否只是就密碼改變了大小寫–>
新密碼是否和舊密碼很相似–>
新密碼是否太短–>
新密碼的字符是否是舊密碼字符的一個循環 例如舊密碼:123 新密碼:231 –>
這個密碼以前是否使用過
password required pam_cracklib.so \
difok=3 minlen=15 dcredit=2 ocredit=2
允許有3個新、舊密碼相同字符的
最小長度15位 和至少包含2數字、至少包含2個特殊字符數
password required pam_cracklib.so \
dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
最小長度為8和至少1位數字,1位大寫字母,和另外1個字符的密碼
注意這個設置對于root沒有作用。只針對普通用戶
總結
以上是生活随笔為你收集整理的linux 密码复杂度,用PAM 搞定Linux 平台密码复杂度问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux dosbox使用教程,dos
- 下一篇: linux线程引起jvm崩溃,JVM宕机