如何在 Linux 上設置密碼策略


 

對於用戶賬戶的管理是系統管理員最重要的工作之一。尤其是,對於任何自稱安全的linux系統,最受關心的應該是密碼安全問題。在本教程中,我將介紹如何在linux上設置嚴密的密碼策略。
 
我假設你的linux系統是最近的linux發行版,那么你正在使用的應該是PAM(可插拔認證模塊)。
 
1.准備
安裝一個PAM模塊來啟用cracklib支持,這可以提供額外的密碼檢查功能。
在Debin,Ubuntu或者Linux Mint使用命令:
sudo apt-get install libpam-cracklib  
這個模塊在CentOS,Fedora或者RHEL默認安裝了。所以在這些系統上就沒有必要安裝了。
 
如要強制執行密碼策略,我們需要修改/etc/pam.d這個與身份驗證相關的文件。這個文件會在修改后立即生效。
 
請注意,本教程中的密碼規則只有在非root用戶更改密碼時強制執行。
 
2.避免重復使用舊密碼
尋找同時包含“password”和"pam_unix.so"的行,然后再這行后面加上“remember=5”。這將防止5個最近使用過的密碼被用來設置為新密碼(通過將它們存放在/etc/security/opasswd文件中)。
在Debin,Ubuntu或者Linux Mint使用命令:
 
sudo  vi  /etc/pam.d/common-password  

修改內容:

    password    [success=1 default=ignore]    pam_unix.so obscure sha512 remember=5  

在Fedora,CentOS或RHEL使用命令:

sudo  vi  /etc/pam.d/system-auth  

修改內容:

password   sufficient   pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5  
3.設置最小密碼長度
尋找同時包含“password”和“pam_cracklib.so”的一行,並在后面加上“minlen=10”。這將強行設置密碼的最小密碼長度為10位,其中<# of types>多少個不同類型的字符在密碼中使用。有四種符號類型(大寫、小寫、數字和符號)。所以如果使用所有四種類型的組合,並指定最小長度為10,所允許的簡單密碼部分將是6位。
在Debin,Ubuntu或者Linux Mint使用命令:
 
 
sudo  vi  /etc/pam.d/common-password  

 

修改內容:
password   requisite    pam_cracklib.so retry=3 minlen=10 difok=3  

在Fedora,CentOS或RHEL使用命令:

 

sudo  vi  /etc/pam.d/system-auth  

 

 

 

修改內容:
 
 
password   requisite   pam_cracklib.so retry=3 difok=3 minlen=10  

 

4.設置密碼復雜度
尋找同時包含“password”和“pam_cracklib.so”的一行,並在后面加上“ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1”。這將迫使你在密碼中至少包括一個大寫字母、兩個小寫字母、一個數字和一個符號。
在Debin,Ubuntu或者Linux Mint使用命令:
 
sudo  vi  /etc/pam.d/common-password  

修改內容:

 

password   requisite    pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1  

 

 

 

在Fedora,CentOS或RHEL使用命令:
 
sudo  vi  /etc/pam.d/system-auth  

修改內容:

 

password   requisite   pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1 

 

 

 

5.設置密碼的有效期
要設置當前密碼的最大有效期,就修改/etc/login.defs文件的下列變量:
 
 
sudo  vi  /etc/login.def  

 

修改內容:
 
    PASS_MAX_DAYS     150  
    PASS_MIN_DAYS     0  
    PASS_WARN_AGE     7  

 

這將迫使每一位用戶每半年更改一次他們的密碼,並且在密碼過期之前七天發送密碼過期還有幾天到等等的警告信息給用戶(到最后甚至在用戶開機登錄時強制用戶更改密碼,不然無法進入系統(個人在linux程序設計中看到的知識,非原作者觀點))。如果你想基於不同的用戶使用密碼期限功能,那就使用chage命令。要查看針對特別用戶的密碼過期策略使用的命令如下:

sudo  chage -l  xmodulo  

注意:xmodule是原作者在linux系統中使用的用戶名。

顯示如下:

 

    Last password change                                    : Dec 30, 2013  
    Password expires                                        : never  
    Password inactive                                       : never  
    Account expires                                         : never  
    Minimum number of days between password change          : 0  
    Maximum number of days between password change          : 99999  
    Number of days of warning before password expires       : 7  

 

默認設置中,用戶的密碼是不會過期的。
為用戶的xmodulo更改有限期限的命令如下:
 
$ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmodulo  

 

以上命令將密碼設置為在2014年6月30日過期。並且,密碼更改時間間隔的最大/最小數量分別為5和90。在一個密碼過期后,這個賬號將被鎖30天。在密碼過期前14天,警告信息就會發送到對應的賬戶。

 

下面是例子:

 

 轉自:http://blog.csdn.net/persistvonyao/article/details/18464089

原址:xmodulo.com/set-password-policy-linux.html

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM