使用Fail2Ban封禁SSH爆破IP
1、安装Fail2Ban
Fail2Ban是一个用于保护服务器免受恶意攻击的开源工具。它通过监视系统日志文件并根据预定义的规则来自动禁止恶意行为的IP地址。Fail2Ban 已经与大部分 Linux 发行版打包在一起了,所以只需使用你的发行包版的包管理器来安装它。
#Debian / Ubuntu
sudo apt install fail2ban
#CentOS/RHEL
sudo yum install fail2ban 2、配置 Fail2Ban
Fail2Ban 将所有配置文件保存在 /etc/fail2ban/jail.conf 中。它包含一组预定义的过滤器,而且会随着软件更新而被重置,所以建议在同一目录下创建一个名为 jail.local 的新配置文件,再进行修改。
touch /etc/fail2ban/jail.local
配置模版
#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 # ip白名单
enabled = true
filter = sshd
port = 22 # 端口
maxretry = 2 # 最大尝试次数
findtime = 300 # 发现周期 单位s
bantime = -1 # 封禁时间,单位s。-1为永久封禁
action = %(action_mwl)s
banaction = ufw # 禁用方式,ubuntu填写ufw
logpath = /var/log/auth.log # SSH登录日志路径,ubuntu为/var/log/auth.log重启Fail2Ban服务
systemctl restart fail2ban.serviceFail2Ban其他常用命令
查询Fail2Ban状态(jail规则)
fail2ban-client status
#示例
Status
|- Number of jail: 1 #jail的数量
`- Jail list: sshd #现有jail的名称,可供后续查询具体jail的详情
查询某个jail的统计信息
sudo fail2ban-client status sshd
#示例
Status for the jail: sshd #jail名称
|- Filter
| |- Currently failed: 0 #当前时间窗口内失败次数
| |- Total failed: 0 #总失败次数
| `- File list: /var/log/auth.log #日志文件路径
`- Actions
|- Currently banned: 816 #当前时间窗口内被ban次数
|- Total banned: 1445 #ban掉的ip总数
`- Banned IP list: #被ban的ip列表
解禁某个IP
fail2ban-client set sshd unbanip 192.168.1.1
本文链接:
/archives/1719543924334
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
锦轩个人小站!
喜欢就支持一下吧
打赏
微信
支付宝
微信
支付宝