1、安装
sudo apt update sudo apt install fail2ban
2、配置
在 [sshd] 部分(或新建一个针对SSH的配置段),可以调整如下的参数:
enabled: 确保此项设为 true 来启用对SSH服务的防护
port: 默认应该是22,即SSH服务端口。
filter: 应该已经指向了用于分析SSH日志的过滤器,通常是 sshd。
logpath: 设置SSH日志文件路径,通常为 /var/log/auth.log 或 /var/log/secure。
maxretry: 设置允许的最大失败登录尝试次数,默认可能为6次,可以根据需要减少。
findtime: 在指定的时间内达到最大尝试次数才会触发禁止,例如 findtime = 10m 表示10分钟内。
bantime: IP被禁止访问的持续时间,例如 bantime = 24h 将阻止IP地址24小时。
示例配置片段:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = %(sshd_log)s
maxretry = 5
findtime = 10m
bantime = 10d
3、启动并设置开机自动启动Fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
4、测试和验证配置:
检查Fail2ban是否正常运行,并查看已屏蔽的IP地址列表(如果有的话):
sudo fail2ban-client status sshd
5、fail2ban-client的相关用法
查看所有可用jail的状态:
fail2ban-client status
添加或移除IP地址黑名单:
封禁一个IP地址(通常不需要手动执行,因为fail2ban会根据日志自动执行):
fail2ban-client set banip
解封一个IP地址:
fail2ban-client set unbanip
重启整个fail2ban服务:
sudo systemctl restart fail2ban
好
good