應公司內部網站等級測評的需求,正逐漸加強系統安全防護。
設備默認 3 次驗證失敗自動退出,並且結束會話;網絡登錄連接超時自動退出時間 5 分鍾;
第一種方法:已驗證。
1.ssh超時時間設置
# cd /etc/profile.d/ #創建兩個空白文件autologout.csh 、autologout.sh用來保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh #編輯autologout.sh
# 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