总以为 Linux 比较安全,被攻击的概率较低,如果机器在公网上总人试着破解你的密码,尽管我们做了相关的安全设置,但是天天也还是会被人试密码,心里总是不爽,找找看有没有什么输错几次密码就自动禁止 IP 的工具。这不,还真找到了个叫 fail2ban 的小工具,通过分析日志来自动 ban 入侵者的 IP,话不多说,装上去用用。
下载地址在:http://fail2ban.sourceforge.net/rpms/
找到最新版本的 rpm 包来安装,装好后,稍微根据自己的情况改一下配置就可以使用了。
vi /etc/fail2ban.conf
#以 daemon 方式启动 fail2ban
background = true
#允许尝试次数
maxfailures = 3
#触发 maxfailures 之後的封锁时间(秒); 设为 -1 表示永远封锁
bantime = 3600
#以 findtime (秒) 时间内的错误记录作为 maxfailures 的计数基准
findtime = 600
#排除 IP 范围, 以空白隔开
ignoreip = 127.0.0.1 192.168.0.0/24
#不启用 mail 通知
[MAIL]
enabled = false
#修改自 VSFTPD, 未提及的部份保持原设定
[PROFTPD]
enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password
#未提及的部份保持原设定
[SSH]
enabled = true
logfile = /var/log/secure
service fail2ban start
这个服务启动以后,每天都能在 /var/log/fail2ban.log 中看到有攻击的肉鸡被 ban 了。
2008-08-01 09:13:33,532 WARNING: SSH: Ban (3600 s) 205.189.197.66
2008-08-01 12:24:41,943 WARNING: SSH: Ban (3600 s) 121.52.209.5