centos7安装配置fail2ban及常规使用
常用的防暴力破解软件有 fail2ban、DenyHosts,但在使用过程中发现DenyHosts只支持python2,刚好把系统python版本升级到了python3,导致DenyHosts不可用,所以改用fail2ban了;如果不是python环境的影响,还是比较推荐DenyHosts的。
1. 安装:yum install -y iptables iptables-services fail2ban
2. 一些文件路径:
fail2ban的配置文件路径:/etc/fail2ban fail2ban安装目录:/usr/share/fail2ban 日志文件:/var/log/fail2ban.log 达到阈值之后的执行的动作的配置文件: action.d/ 包含所有的过滤规则:filter.d/
3. 修改配置文件:vim /etc/fail2ban/jail.d/jail.local
#defalut这里是设定全局设置,如果下面的监控没有设置就以全局设置的值设置。 [DEFAULT] # 用于指定哪些地址ip可以忽略 fail2ban 防御,以空格间隔。 #ignoreip = 127.0.0.1/8 # 客户端主机被禁止的时长(默认单位为秒),-1为永久封禁 bantime = -1 # 过滤的时长(秒) findtime = 10 # 匹配到的阈值(次数) maxretry = 3 [ssh] # 是否开启 enabled = true # 过滤规则 filter = sshd # port=ssh为默认协议端口22,如果更改了ssh服务的端口号,需要在这里设置对应的端口号,否则配置不生效 action = iptables[name=SSH, port=ssh, protocol=tcp] # 日志文件的路径 logpath = /var/log/secure # 匹配到的阈值(次数) maxretry = 3
4. 启动fail2ban和iptables
systemctl start fail2ban
systemctl start iptables
systemctl enable fail2ban
systemctl enable iptables
5. 查看当前被禁止登陆的ip:fail2ban-client status ssh
6. fail2ban-client使用命令
start——启动fail2ban server和监狱 reload——重新加载配置文件 stop——暂停fail2ban和监狱 status——查看运行的监控服务数量和列表 set loglevel——设置日志等级,有 CRITICAL, ERROR, WARNING,NOTICE, INFO, DEBUG get loglevel——获取当前日志的等级 set idle on|off——设置某个监控(监狱)的状态。 set addignoreip ——设置某个监控(监狱)可以忽略的ip set delignoreip ——删除某个监控(监狱)可以忽略的ip set banip ——将ip加入 监控(监狱) set unbanip ——将ip从监控(监狱)移除
7. 移除
fail2ban-client set ssh unbanip 1.1.1.1
8. 注意事项
测试过程中,发现只能封禁密码登录失败的,但密钥登录失败的却没有封禁。 封禁:sshd[11050]: Failed password for root from 8.xx.xx.xx port 50200 ssh2 不封禁:sshd[27624]: Failed publickey for root from 8.xx.xx.xx port 38844 ssh2: RSA SHA256:snxo/2xxxxx+WUxxxxxxxxxxxxxxxQ
一些事情一直在干,说不定以后就结果了呢
本文来自博客园,作者:chenjianwen,转载请注明原文链接:https://www.cnblogs.com/chenjw-note/p/16891693.html