在 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