1、安装Fail2Ban

Fail2Ban是一个用于保护服务器免受恶意攻击的开源工具。它通过监视系统日志文件并根据预定义的规则来自动禁止恶意行为的IP地址。Fail2Ban 已经与大部分 Linux 发行版打包在一起了,所以只需使用你的发行包版的包管理器来安装它。

 #Debian / Ubuntu 

sudo apt install fail2ban

  #CentOS/RHEL 

sudo yum install fail2ban 

2、配置 Fail2Ban

Fail2Ban 将所有配置文件保存在 /etc/fail2ban/jail.conf 中。它包含一组预定义的过滤器,而且会随着软件更新而被重置,所以建议在同一目录下创建一个名为 jail.local 的新配置文件,再进行修改。

touch /etc/fail2ban/jail.local

  • 配置模版

#DEFAULT-START
[DEFAULT]
bantime = 600
findtime = 300
maxretry = 5
banaction = firewallcmd-ipset
action = %(action_mwl)s
#DEFAULT-END

[sshd]
ignoreip = 127.0.0.1/8               # ip白名单
enabled = true
filter = sshd
port = 22                            # 端口
maxretry = 2                         # 最大尝试次数
findtime = 300                       # 发现周期 单位s
bantime = -1                         # 封禁时间,单位s。-1为永久封禁
action = %(action_mwl)s
banaction = ufw                      # 禁用方式,ubuntu填写ufw
logpath = /var/log/auth.log          # SSH登录日志路径,ubuntu为/var/log/auth.log
  • 重启Fail2Ban服务

systemctl restart fail2ban.service

  • Fail2Ban其他常用命令

查询Fail2Ban状态(jail规则)

fail2ban-client status

#示例
Status
|- Number of jail:      1   #jail的数量
`- Jail list:   sshd        #现有jail的名称,可供后续查询具体jail的详情
  • 查询某个jail的统计信息

sudo fail2ban-client status sshd 

#示例
Status for the jail: sshd                     #jail名称
|- Filter                                     
|  |- Currently failed: 0                     #当前时间窗口内失败次数
|  |- Total failed:     0                     #总失败次数
|  `- File list:        /var/log/auth.log     #日志文件路径
`- Actions
   |- Currently banned: 816                   #当前时间窗口内被ban次数
   |- Total banned:     1445                  #ban掉的ip总数
   `- Banned IP list:                         #被ban的ip列表
  • 解禁某个IP

fail2ban-client set sshd unbanip 192.168.1.1

文章作者: 锦轩
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 锦轩个人小站
软件类 操作系统 linux 系统 Halo
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝