公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具 fail2ban ,他可以监控系统日志,如有人无限尝试 登录 SSH,FTP,SMTP,Nginx,等服务,就可以用表达式过滤分析,具有攻击行为的ip,并自动屏蔽这个IP,还可以发送邮件给系统管理员!
它的原理也比较简单,就是通过调用iptables等安全策略来达到放暴力破解的目的!
下面开始测试
环境:centos7 ,IP 192.168.109.121
一) 安装fail2ban
1 yum -y install epel-release #epel库里就有fail2ban 直接安装epel库就可以使用 2 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秒看看能登上么
可以登录了
关注公众号获取更多内容