公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具
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秒看看能登上么
可以登录了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。