vps虚拟主机中查看日志文件tail /var/log/secure,经常会看到一些IP不停的连接22端口,来尝试破解SSH登陆密码。现使用Fail2Ban这个工具可以自动封锁“穷举密码机”。
一、下载并解压Fail2Ban
wget http://soft.kwx.gd/security/fail2ban-0.8.4.tar.bz2
下载Fail2Ban 0.8.4版本
tar -xjvf fail2ban-0.8.4.tar.bz2
解压缩文件
cd fail2ban-0.8.4
进入fail2ban-0.8.4文件夹
二、安装Fail2Ban
python setup.py install #运行安装脚本
cd files #进入files文件夹
cp ./redhat-initd /etc/init.d/fail2ban #复制文件到启动列表
chkconfig --add fail2ban #创建启动项
service fail2ban start #测试运行
三、修改配置文件
1、进入目录
cd /etc/fail2ban
2、修改总体配置文件 jail.conf
(1)总体配置
#此ip或者ip段为例外,不受以下条件影响
ignoreip = 127.0.0.1
# 封锁时间(如一天为:86400)
bantime = 600
# 在多长时间以内达到条件则开始执行封锁,如600秒达到3次则执行。 # 单位:秒
findtime = 600
# 在以上条件的出错次数,如600秒达到3次则执行。
# 单位:次
maxretry = 3
(2)SSH设置
[ssh-iptables]
enabled = false #是否开启,开启则为true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp] #post为端口号
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
#上方红色字-you@mail.com,则为您的邮箱地址和发送人地址(建议一样)
#发信需要sendmail服务的支持,如果没有此服务或不需要发信可在sendmail前加#号注释掉。
logpath = /var/log/sshd.log #相应错误日志,一般为:/var/log/secure
maxretry = 5 #尝试错误次数
四、保存并重启Fail2Ban
service fail2ban restart #重启fail2ban
chkconfig fail2ban on #设置为开机自动启动
五、验证Fail2Ban是否正常运行
fail2ban-client status