Fail2ban安装配置详细步骤

Fail2ban安装配置详细步骤
子非鱼Fail2ban 是一个用来防止暴力破解和其他类型的攻击的安全工具。它通过监视日志文件,并根据配置文件中的规则对可疑的 IP 地址进行封禁。以下是 Fail2ban 的详细安装和配置步骤。
一、安装 Fail2ban
在 Ubuntu/Debian 系统上
更新包索引并安装 Fail2ban:
1
2sudo apt update
sudo apt install fail2ban -y
在 CentOS/RHEL 系统上
启用 EPEL 仓库并安装 Fail2ban:
1
2sudo yum install epel-release -y
sudo yum install fail2ban -y
二、配置 Fail2ban
Fail2ban 的默认配置文件位于 /etc/fail2ban/jail.conf,但是不建议直接修改此文件。相反,我们可以创建一个自定义的配置文件 /etc/fail2ban/jail.local 来覆盖默认设置。
创建 jail.local 文件:
1
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑 jail.local 文件:
1
sudo nano /etc/fail2ban/jail.local
配置基本设置([DEFAULT] 部分):
1
2
3
4
5[DEFAULT]
ignoreip = 127.0.0.1/8 ::1
bantime = 10m
findtime = 10m
maxretry = 5- ignoreip:指定不会被封禁的 IP 地址(通常是你自己的 IP 地址)。
- bantime:指定封禁的时间长度(默认 10 分钟)。
- findtime:在这个时间段内如果达到最大失败尝试次数则会被封禁。
- maxretry:指定最大失败尝试次数。
启用特定的服务监控(如 SSH、Nginx 等):
在 jail.local 文件中找到相应的 [sshd] 部分,启用它并进行配置:1
2
3
4
5[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s如果你需要监控其他服务,比如 Nginx,可以添加或编辑对应的部分:
1
2
3
4
5
6[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log
maxretry = 6
三、启动并启用 Fail2ban 服务
启动 Fail2ban 服务:
1
sudo systemctl start fail2ban
设置开机自启动:
1
sudo systemctl enable fail2ban
四、检查 Fail2ban 状态和日志
查看 Fail2ban 状态:
1
sudo fail2ban-client status
查看具体 jail 的状态,例如 sshd:
1
sudo fail2ban-client status sshd
查看 Fail2ban 日志:
1
sudo tail -f /var/log/fail2ban.log
五、管理 Fail2ban
手动封禁和解封 IP 地址
手动封禁 IP:
1
sudo fail2ban-client set sshd banip 192.168.1.100
手动解封 IP:
1
sudo fail2ban-client set sshd unbanip 192.168.1.100
六、创建自定义过滤器
如果默认的过滤器不能满足你的需求,你可以创建自定义的过滤器。以下是创建自定义过滤器的步骤:
创建过滤器文件:
1
sudo nano /etc/fail2ban/filter.d/custom.conf
在文件中添加过滤规则:
1
2
3[Definition]
failregex = ^<HOST> -.*"GET /wp-login.php HTTP/1.1" 200
ignoreregex =上面的规则示例会捕捉尝试访问 wp-login.php 的 IP。
在 jail.local 文件中添加对该过滤器的监控:
1
2
3
4
5
6[custom]
enabled = true
filter = custom
action = iptables[name=custom, port=http, protocol=tcp]
logpath = /var/log/nginx/access.log
maxretry = 3
七、重启 Fail2ban
每次修改配置文件后,重启 Fail2ban 以使更改生效:
1 | sudo systemctl restart fail2ban |
通过以上步骤,你可以成功安装、配置和管理 Fail2ban,从而增强服务器的安全性。
评论
匿名评论隐私政策










