项目地址:https://github.com/fail2ban/fail2ban
背景:
最近研究1panel时,发现服务器在被别人暴力破解,为了防御,看见上面提示可通过工具箱中的 Fail2ban 屏蔽暴力破解 IP,从而保护主机安全
。遍去了解了一番。
作用:限制ssh远程登录,防止被人爆破服务器,封禁登录ip
使用lastb命令可查看到登录失败的用户及ip,无时无刻的不在爆破服务器
安装
sudo apt install fail2ban
配置
fail2ban安装路径为 /etc/fail2ban
fail2ban在安装时会创建两个默认的配置文件/etc/fail2ban/jail.d/defaults-debian.conf和/etc/fail2ban/jail.conf。我们不建议直接修改这些文件,因为更新fail2ban时它们可能会被覆盖。
fail2ban将按以下顺序读取配置文件。每个.local文件都会覆盖.conf文件中的设置:
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf
/etc/fail2ban/jail.local
/etc/fail2ban/jail.d/*.local
每个.local文件都会覆盖.conf文件中的设置。配置fail2ban的最简单方法是将jail.conf复制到jail.local并修改.local文件。你也可以从头开始构建.local配置文件。
示例
[sshd]
enable = true # 启用对sshd服务的保护,即当满足触发条件时会对IP地址进行封禁
maxretry = 3 # 允许尝试登录的最大次数,超过这个次数会触发封禁机制
findtime = 1h # 触发封禁的时间窗口,即在这个时间段内累积超过maxretry次登录失败会被封禁
bantime = 3h # 封禁的时间,即被封禁IP地址被阻止访问服务的时间长度
ignoreip = 192.168.31.1 # 指定不需要被fail2ban封禁的IP地址,即对该IP地址的登录失败次数不会计入封禁机制
运行
sudo systemctl start fail2ban # 启动服务
sudo systemctl enable fail2ban # 开机自启
Fail2ban客户端
fail2ban-client -h # 客户端命令帮助
fail2ban-client status {服务名} # 检查服务状态
fail2ban-client set {服务名} unbanip {ip} # 解封ip
fail2ban-client set {服务名} banip {ip} # 封禁ip
评论区