[轉]CentO下限制SSH登錄次數


應公司內部網站等級測評的需求,正逐漸加強系統安全防護。

設備默認 3 次驗證失敗自動退出,並且結束會話;網絡登錄連接超時自動退出時間 5 分鍾;

第一種方法:已驗證。

1.ssh超時時間設置
# cd /etc/profile.d/  #創建兩個空白文件autologout.csh 、autologout.sh用來保存TMOUT配置 
# touch autologout.csh 
# touch autologout.sh 
# vi autologout.sh       #編輯autologout.sh
#auto out in 5 minutes   
TMOUT=300            #超時時間,單位為s   
readonly TMOUT      #設置TMOUT變量只讀   
export TMOUT        #設置環境TMOUT  

# vi autologout.csh   #編輯autologout.csh

set -r autologout 2  

# chmod  +x autologout.*     #可執行權限,其實單給u+x就行了。 

斷開Client,重新登錄終端5分鍾不使用ssh就會自動斷開連接.

2. ssh認證次數限制:

/etc/ssh/sshd_config 

MaxAuthTries=3   這僅是超過3次驗證錯誤斷開連接。

 

第二種方法:(試驗中還是有問題出現)

原理:通過系統的pam認證實現。

1.備份/etc/pam.d/system_auth文件,更改: 

#%PAM-1.0  
# This file is auto-generated.  
# User changes will be destroyed the next time authconfig is run.  
auth        required      pam_env.so  
auth        required      pam_unix.so nullok try_first_pass  將原來的sufficient改為required
#auth        requisite     pam_succeed_if.so uid >= 500 quiet 注釋掉此行 
auth        required      pam_tally.so deny=3 unlock_time=300  增加一行,失敗超過3次限制5分鍾后登錄
#auth        required      pam_deny.so    注釋掉此行
 
account     required      pam_unix.so  
account     sufficient    pam_succeed_if.so uid < 500 quiet  
account     required      pam_permit.so  
account     required      pam_tally2.so   增加一行  
 
password    requisite     pam_cracklib.so try_first_pass retry=3 
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok  
password    required      pam_deny.so  
 
session     optional      pam_keyinit.so revoke  
session     required      pam_limits.so  
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid  
session     required      pam_unix.so 

2. 建議sshtest帳戶,進行密碼錯誤登錄驗證。查看tail  /var/log/secure |grep sshtest記錄:

Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest (503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130  user=sshtest

帳戶已被鎖住,無法登錄,等待5分鍾后才能重新登錄.

3、禁止root通過ssh遠程登錄
vi /etc/ssh/sshd_config
找到PermitRootLogin,將后面的yes改為no,把前面的注釋#取消,這樣root就不能遠程登錄了!
可以用普通賬號登錄進去,要用到root的時候使用命令su root 切換到root賬戶
=======================================================================
4、限制用戶的SSH訪問
假設我們只要root,user1和user2用戶能通過SSH使用系統,向sshd_config配置文件中添加
vi /etc/ssh/sshd_config
AllowUsers rootuser1user2
=======================================================================
5、配置空閑超時退出時間間隔
用戶可以通過ssh登錄到服務器,你可以設置一個空閑超時時間間隔。
打開sshd_config配置文件,設置為如下。
vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0
上面的例子設置的空閑超時時間間隔是600秒,即10分鍾,
過了這個時間后,空閑用戶將被自動踢出出去(可以理解為退出登錄/注銷)。
=======================================================================
6、限制只有某一個IP才能遠程登錄服務器
vi /etc/hosts.deny #在其中加入sshd:ALL
vi /etc/hosts.allow #在其中進行如下設置:sshd:192.168.1.1 #(只允許192.168.1.1這個IP遠程登錄服務器)
最后重啟ssh服務:/etc/init.d/sshd restart

 


免責聲明!

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



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