在 Freebsd 控制檯或用 dmesg -a 查看系統消息的時候會發現相似於下面的大量信息,這是由於有人在嘗試暴力破解 SSH 密碼的緣由。安全
Jun 22 06:42:00 vps sshd[80092]: error: PAM: authentication error for illegal user nuucp from 200.79.53.211 Jun 22 06:44:12 vps sshd[80118]: error: PAM: authentication error for illegal user nx from 87.139.25.251 Jun 22 06:47:00 vps sshd[80138]: error: PAM: authentication error for illegal user ocs from 85.41.229.81 Jun 22 06:49:23 vps sshd[80144]: error: PAM: authentication error for illegal user office1 from 211.25.200.194
Freebsd 下最經常使用的管理軟件是SSH,SSH 自己能夠限制一個IP輸錯多少次密碼以後能夠斷掉連接,但不會封 IP ,攻擊依舊能夠持續連接來窮舉密碼。若是想在必定時間內封掉對方IP 的話,讓其沒法連接,能夠經過 sshguard 來實現。服務器
sshguard 能夠與 Pf,IPFW,netfilter/iptables 等幾個軟件結合來實現輸入密碼錯誤屢次以後禁止該 IP 再訪問服務器的SSH端口。ssh
安裝和使用rest
cd /usr/ports/security/sshguard-ipfw/ make install clean
編輯 /etc/syslog.confcode
把下面一行前面的 # 去掉。vps
#auth.info;authpriv.info |exec /usr/local/sbin/sshguard
重啓 syslogdip
/etc/rc.d/syslogd restart
等待一段時間,查看控制檯或 dmesg -a ,出現下面相似消息說明 sshguard 已經正常運行了。it
Jun 22 06:59:43 vps sshguard[79469]: Blocking 89.120.242.95:4 for >420secs: 4 failures over 0 seconds.
FreeBSD 的 sshd_config 配置中默認容許用戶輸錯 6 次密碼,這也就是說以前設置的 sshguard 在對方嘗試六次後才封 ip ,爲了進一步繒強安全性,咱們能夠修改這一參數。io
vi /etc/ssh/sshd_config
去掉 #MaxAuthTries 6 前面的 # 號,並修改成 2table
MaxAuthTries 2