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

2021-09-13 03:20:58 字數 3453 閱讀 2489

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* -iname 「pam_tally2.so」

/lib64/security/pam_tally2.so

[root@iz25dd99ylmz security]# find /lib* -iname 「pam_tally.so」

[root@iz25dd99ylmz security]# cat /etc/pam.d/sshd

3.登入失敗處理功能策略(伺服器終端)

vim /etc/pam.d/system-auth (伺服器終端)

在首行#%pam-1.0下增加:

auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30

注意新增的位置,要寫在第一行,即#%pam-1.0的下面。

以上策略表示:普通帳戶和 root 的帳戶登入連續 3 次失敗,就統一鎖定 40 秒, 40 秒後可以解鎖。如果不想限制 root 帳戶,可以把 even_deny_root root_unlock_time

這兩個引數去掉, root_unlock_time 表示 root 帳戶的 鎖定時間,onerr=fail 表示連續失敗,deny=3,表示 超過3 次登入失敗即鎖定。

注意:使用者鎖定期間,無論在輸入正確還是錯誤的密碼,都將視為錯誤密碼,並以最後一次登入為鎖定起始時間,若果使用者解鎖後輸入密碼的第一次依然為錯誤密碼,則再次重新鎖定。

4.登入失敗處理功能策略(ssh遠端連線登入)

上面只是限制了從終端登陸,如果想限制ssh遠端的話, 要改的是

/etc/pam.d/sshd這個檔案,新增的內容跟上面一樣!

vim /etc/pam.d/sshd (遠端ssh)

在首行#%pam-1.0下增加:

auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30

vim /etc/pam.d/login (終端)

在首行#%pam-1.0下增加:

auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30

如果在操作中間出現下面這個錯誤:

dec 7 15:06:51 iz2zee7gmy40tbverl53rfz sshd[15747]: pam unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: no such file or directory

dec 7 15:06:51 iz2zee7gmy40tbverl53rfz sshd[15747]: pam adding faulty module: /lib64/security/pam_tally.so

上面的錯誤意思是在/lib64/security/ 下面找不到pam_tally.so,而我進入到目錄下,確實沒找到這個檔案,解決方法是將現有的 pam_tally2.so做個軟連線到pam_tally.so

[root@iz2zee7gmy40tbverl53rfz ~]# cd /lib64/security/

[root@iz2zee7gmy40tbverl53rfz ~]#ln -s pam_tally2.so pam_tally.so

各引數解釋:

even_deny_root 也限制root使用者;

deny=3 設定普通使用者和root使用者連續錯誤登陸的最大次數,超過最大次數,則鎖定該使用者

unlock_time=20 設定普通使用者鎖定後,多少時間後解鎖,單位是秒;

root_unlock_time 設定root使用者鎖定後,多少時間後解鎖,單位是秒;

5.測試

可以故意輸錯密碼超過三次,然後第五次輸入正確密碼,如果正確密碼進入不了系統,說明配置生效。以上的配置是即時生效的,不用重啟配置檔案或系統,但是請注意多開個ssh視窗,防止配置檔案更改錯誤,將自己關在伺服器外面。

6.解鎖賬戶

如果密碼在鎖定時間內,但是又要立即進入系統,可使用下面方法解鎖被鎖定使用者,當然這是對於root使用者解鎖普通使用者來說的。如果root使用者被鎖,請等待鎖定期過後在操作。

手動解除鎖定:

檢視某一使用者錯誤登陸次數:

pam_tally –-user

例如,檢視work使用者的錯誤登陸次數:

pam_tally –-user work 或者 pam_tally –u work

清空某一使用者錯誤登陸次數:

pam_tally –-user –-reset

例如,清空 work 使用者的錯誤登陸次數,

pam_tally –-user work –-reset

faillog -r 命令亦可。

如果前幾條沒生效的話,也可以使用命令:

pam_tally2 –u tom --reset將使用者的計數器重置清零(sles 11.2下用此命令才重置成功)

檢視錯誤登入次數:pam_tally2 –u tom

解鎖指定使用者

[root@iz25dsfp6c3dz ~]# pam_tally2 -r -u root

7.修改密碼長度限制和字元限制

vim /etc/pam.d/system-auth

password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 dcredit=-1 ocredit=-1 ucredit=-1

password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5

就是密碼的一些策略,密碼長度至少8

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

minlen 定義使用者密碼的最小長度為8位

lcredit=-1 定義使用者密碼中最少有1個小寫字母

dcredit=-1 定義使用者密碼中最少有1個數字

ocredit=-1 定義使用者密碼中最少有1個特殊字元

ucredit=-2 定義使用者密碼中最少有2個大寫字母

remember=5 修改使用者密碼時最近5次用過的舊密碼就不能重用了

Linux伺服器檔案刪除策略

磁碟空間滿 由於linux沒有 站功能,所以線上伺服器上所有要刪除的檔案都會先移動到系統 tmp目錄下,然後定期清除 tmp目錄下的資料。這個策略本身沒有問題,但是通過檢查發現這台伺服器的系統分割槽中並沒有單獨劃分 tmp分割槽,這樣 tmp下的資料其實占用了根分割槽的空間。既然找到了問題,那麼刪除...

linux設定時間伺服器

對多個linux伺服器,時間保持一致是很必要的。根據精確度要求,應該有相應的時間間隔進行時間同步。如果不進行時間同步,時間久了就會差別很大,遇到問題時定位就很困難。因為多台裝置的配合,log之間可能有前因後果,時間是同步事件的先後的重要依據。一般來說,對乙個機房內的裝置,可以設定一台時間伺服器,由它...

linux設定時間伺服器

周海漢 文 2010.3.30 對多個linux伺服器,時間保持一致是很必要的。根據精確度要求,應該有相應的時間間隔進行時間同步。如果不進行時間同步,時間久了就會差別很大,遇到問題時定位就很困難。因為多台裝置的配合,log之間可能有前因後果,時間是同步事件的先後的重要依據。一般來說,對乙個機房內的裝...