公司的服务器安全问题一直很头疼。很多运维小伙伴一直在使用脚本监控服务器登录状态。但是,脚本编写比较麻烦。今天给大家推荐一款小巧的反暴力破解工具fail2ban,可以监控系统日志。如果有人试图登录SSH、FTP、SMTP、Nginx等服务,它可以使用表达式过滤分析具有攻击行为的IP,并自动封禁该IP,还可以给系统管理员发邮件!它的原理也比较简单,就是通过调用iptables等安全策略来达到暴力破解的目的!下面开始测试环境:centos7,IP192.168.109.121installfail2banyum-yinstallepel-release#epel库中有fail2ban,安装好epel库后直接yum-yinstallfail2ban即可#installfail2ban配置fail2ban粘贴官方文档:http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Definitionsgrep-v"^#"/etc/fail2ban/jail.conf[DEFAULT]ignoreip=127.0.0.1/8ignorecommand=bantime=600#Blocktime,-1为永久阻塞findtime=600#设置在限定时间内最大尝试次数会被阻塞maxretry=3#最大尝试次数backend=auto#修改日志使用检测机制ns=warn#sshlinkaccelerationlogencoding=autoenabled=false[ssh-iptables]##分类设置(基于SSHD服务的保护)enabled=true##是否开启保护,false为关闭filter=sshd##过滤规则的过滤名称,对应filter.d目录下的sshd.confaction=iptables[name=SSH,port=ssh,protocol=tcp]##action参数sendmail-whois[name=SSH,dest=you@example.com,sender=fail2ban@example.com,sendername="Fail2Ban"]##邮件通知参数##收件人地址##发件人地址logpath=/var/log/secure##检测系统登录日志文件maxretry=3##最大尝试次数,检查iptables等状态,使用客户端用Powershell测试,尝试登录3次错误。...错误3次后,将无法登录。查看日志,等待600秒,看是否可以登录。可以登录
