安裝 sshguard
下載 sshguard source tarball
tar jxf sshguard-version.tar.bz2
cd sshguard-version
python scons.py -Q FIREWALLTYPE=iptables
python scons.py -Q FIREWALLTYPE=iptables install
chmod +s /usr/local/sbin/sshguard
vi /etc/syslog.conf
auth.info;authpriv.info /var/log/auth.log
vi /etc/ssh/sshd_config
UseDNS no
killall -HUP syslogd sshd
iptables -N sshguard
iptables -A INPUT -p tcp --dport 22 -j sshguard
啟用 sshguard
tail -n0 -f /var/log/auth.log | /usr/local/sbin/sshguard &
實測
ssh sshd.host.ip (或 ssh localhost 直接測試本機) 輸入錯誤密碼數次後, sshguard 將自動封鎖來源 IP
遭封鎖的 IP 可用 iptables -L -n 查出
數分鐘後自動解除封鎖
其他常見 ssh 保護方式
以 TCPWrapper 限制連線來源
vi /etc/hosts.deny
#只允許內部 IP 192.168.1.* 與指定之外部 IP 123.123.123.123 連入 sshd
sshd: ALL EXCEPT 192.168.1. 123.123.123.123ps. 存檔後立即生效
關閉密碼驗證功能, 僅允許 ssh 金鑰驗證登入
更多的方法
參考資料
转载于:https://blog.51cto.com/axlrose/1287325