公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具 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, [email protected], [email protected], sendername="Fail2Ban"] ## 邮件通知参数
## 收件人地址 ## 发件人地址
logpath = /var/log/secure ## 检测系统登陆日志文件 maxretry = 3 ## 最大尝试次数

  

三) 查看iptables等状态

fail2ban 防暴力破解总结-LMLPHP

fail2ban 防暴力破解总结-LMLPHP

四)   用客户端测试一下

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

fail2ban 防暴力破解总结-LMLPHP

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

fail2ban 防暴力破解总结-LMLPHP

看看日志

fail2ban 防暴力破解总结-LMLPHP

等待600秒看看能登上么

fail2ban 防暴力破解总结-LMLPHP

可以登录了

关注公众号获取更多内容

fail2ban 防暴力破解总结-LMLPHP

05-03 21:18