安装配置
在配置 fail2ban 的时候应该避免直接更改由 fail2ban 安装创建的.conf 文件(例如 fail2ban.conf 和 jail.conf),相反,应该创建扩展名为.local 的新文件(例如 jail.local)来进行自定义配置。.local 文件将覆盖.conf 文件相同部分的参数
apt instal fail2ban
vim /etc/fail2ban/jail.local
/etc/fail2ban/jail.local —> 添加如下内容
[DEFAULT]
ignoreip = 127.0.0.1/8
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/secure
bantime = 1mon
findtime = 5m
maxretry = 3
action = hostsdeny
参数详解:
- ignoreip:配置忽略检测的 IP (段),如有多个用空格隔开 enabled:配置是否启用此 section 的的扫描监控
- port:配置服务端口,如果 SSH 使用非默认端口 22,要修改为实际使用端口 filter:配置使用的匹配规则文件(位于
- /etc/fail2ban/filter.d 目录中) logpath:配置要扫描的日志文件路径 bantime:配置 IP
- 封禁的持续时间(秒或时间缩写格式:years/months/weeks/days/hours/minutes/seconds)
- findtime:配置从当前时间的多久之前开始计算失败次数(秒或时间缩写格式:years/months/weeks/days/hours/minutes/seconds)
- maxretry:配置在 findtime 时间内发生多少次失败登录然后将 IP 封禁。 action:配置封禁 IP 的手段(位于
- /etc/fail2ban/action.d 目录中),可通过 iptables、firewalld 或者 TCP Wrapper 等,此处设置为 hostsdeny 代表使用 TCP Wrapper
解封
# 解封所有IP
fail2ban-client unban --all
# 解封指定IP
# fail2ban-client unban <IP> ... <IP>
fail2ban-client unban 36.250.4.182
# 查看状态
fail2ban-client status
# Status
# |- Number of jail: 2
# `- Jail list: gitea, sshd