Fail2Ban:阻断暴力攻击与恶意登录
· 2 min read
Fail2ban的安装及部署方法
更新软件源
sudo apt-get update
安装fail2ban
sudo apt-get install -y fail2ban
启动fail2ban服务并设置开机自启
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
配置 fail2ban jail 规则
Fail2Ban 封禁行为的配置文件是 /etc/fail2ban/jail.conf。为了便于修改,可以把它复制一份 /etc/fail2ban/jail.local,后面的修改都针对jail.local这个文件。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
下面是配置文件jail.local的配置项含义,所有配置项的格式都是key=value。
bantime
封禁的时间长度,单位m表示分钟,d表示天,如果不写单位,则表示秒。Fail2Ban 默认封禁10分钟(10m 或 600)。
[DEFAULT]
bantime = 10m
findtime
登录失败计算的时间长度,单位m 表示分钟,d表示天,如果不写单位,则表示秒。Fail2Ban 默认封禁 10 分钟内登录 5 次失败的客户端。
[DEFAULT]
findtime = 10m
maxretry
[DEFAULT]
maxretry = 5
尝试登录的最大失败次数, -1 为永久封禁。
用任意文本编辑器打开 /etc/fail2ban/jail.local
, 用以下内容替换原有配置:
[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.1.10 192.168.1.20
bantime = -1
findtime = 1d
maxretry = 3
[sshd]
enabled = true
port = ssh
filter = sshd
banaction = iptables
backend = systemd
保存并关闭该文件。使用以下命令重新启动fail2ban
sudo systemctl restart fail2ban
fail2ban的测试及关闭服务方法
查看当前封禁IP:sudo fail2ban-client status sshd
解禁某一IP: sudo fail2ban-client set sshd unbanip IP_ADDRESS
停止fail2ban服务:sudo systemctl stop fail2ban
关闭fail2ban服务:sudo systemctl disable fail2ban