公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具
fail2ban ,他可以监控系统日志,如有人无限尝试 登录
SSH,FTP,SMTP,Nginx,等服务,就可以用表达式过滤分析,具有攻击行为的ip,并自动屏蔽这个IP,还可以发送邮件给系统管理员!

它的原理也比较简单,就是通过调用iptables等安全策略来达到放暴力破解的目的!

下面开始测试

环境:

centos7 ,IP 192.168.109.121

安装fail2ban

yum -y install epel-release    #epel库里就有fail2ban 直接安装epel库就可以使用yum -y install fail2ban        #安装fail2ban

配置fail2ban

贴上官方文档:http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Definitions

grep -v "^#" /etc/fail2ban/jail.conf [DEFAULT] ignoreip = 127.0.0.1/8  ignorecommand = bantime  = 600     #屏蔽时间,-1是永久屏蔽 findtime  = 600     #设置限定时间内超过 最大尝试次数 限制次数即被封锁 maxretry = 3        #最大尝试次数 backend = auto     #日志修改后检测机制   usedns = warn      #ssh链接加速 logencoding = auto enabled = false[ssh-iptables] ## 分类设置(基于 SSHD 服务的防护) enabled = true ## 是否开启防护,false 为关闭 filter = sshd ## 过滤规则 filter 名称,对应 filter.d 目录下的 sshd.conf action = iptables[name=SSH, port=ssh, protocol=tcp] ## 动作参数sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"] ## 邮件通知参数                          ## 收件人地址           ## 发件人地址logpath = /var/log/secure ## 检测系统登陆日志文件 maxretry = 3 ## 最大尝试次数

查看iptables等状态


用客户端测试一下

用 Powershell试试错误登录三次的后果

果然。。。。。错误3次后就登不上了

看看日志

等待600秒看看能登上么

可以登录了