📌 原文链接:https://1panel.cn/... 🕘 收藏时间:2024年08月18日 📂 文档目录:我的云文档 📑 本文档由【金山收藏助手】一键生成
Fail2ban
1 安装¶
RedHat / CentOS
1、安装 epel 源
yum install -y epel-release
2、安装 Fail2ban
yum install -y fail2ban
3、启动 Fail2ban 服务
systemctl start fail2ban
4、开机自启动
systemctl enable fail2ban
5、查看 Fail2ban 服务状态。
systemctl status fail2ban
Ubuntu / Debian
1、安装 Fail2ban
sudo apt-get install fail2ban
2、Debian 12 及以上的版本需要手动安装 rsyslog
sudo apt-get install rsyslog
3、启动 Fail2ban 服务
sudo systemctl start fail2ban
4、开机自启动
sudo systemctl enable fail2ban
5、查看 Fail2ban 服务状态。
sudo systemctl status fail2ban
2 默认配置¶
1Panel 会默认使用以下配置:
#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 # 白名单
enabled = true
filter = sshd
port = 22 # 端口
maxretry = 2 # 最大尝试次数
findtime = 300 # 发现周期 单位s
bantime = 600 # 封禁时间,单位s。-1为永久封禁
action = %(action_mwl)s
banaction = iptables-multiport # 禁用方式
logpath = /var/log/secure # SSH 登陆日志位置
3 故障排除¶
如之前已经手动安装过 Fail2ban,需要将 [sshd] 部分的配置信息写入到 jail.local 中,重启 fail2ban 服务,否则可能出现获取黑名单报错的问题;
如果选择的禁用方式为 -muliport,则在封禁时,只会禁用配置中的端口,如默认配置中的 22;
如果需要修改禁用方式,需要先判读对应服务是否正常可用;
RedHat/CentOS 使用的是 Firewall 防火墙。
Debian/Ubuntu使用的是 UFW 防火墙。
日志路径需要根据操作系统修改。
RedHat/CentOS 日志为 /var/log/secure。
Debian/Ubuntu 日志为 /var/log/auth.log
Debian 从 12 开始弃用了 rsyslog,使用时需要先自行安装;