如何在Linux VPS上安装Fail2ban

列印
  • 0

Fail2ban监控日志,并在多次登录失败后暂时阻止IP地址。它通常用于减少公共Linux服务器上的SSH暴力破解噪音。

Fail2ban通过读取日志文件,使用过滤器匹配登录失败模式,并通过监狱配置应用临时禁令来工作。

 

Ubuntu或Debian

sudo apt update
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

 

AlmaLinux、Rocky Linux、Oracle Linux或CentOS

sudo dnf install fail2ban
sudo systemctl enable --now fail2ban

如果软件包不可用,请先为您的发行版启用适当的额外存储库。

 

创建本地监狱配置

不要直接编辑jail.conf。创建或编辑jail.local,以便软件包更新不会覆盖您的更改。

sudo nano /etc/fail2ban/jail.local

一个基本的SSH监狱配置如下:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 10m
bantime = 1h

在AlmaLinux、Rocky Linux、Oracle Linux或CentOS上,SSH日志可能位于/var/log/secure:

logpath = /var/log/secure

 

常见设置

设置控制内容
enabled打开或关闭监狱。
portFail2ban应保护的服务端口。
filter用于检测失败尝试的Fail2ban过滤器。
logpathFail2ban读取的日志文件。
maxretry在禁令之前允许的失败次数。
findtimeFail2ban统计失败次数的时间窗口。
bantimeIP被禁的时长。
ignoreip永远不应被禁的IP地址。

 

将您的IP列入白名单

如果您有固定的家庭或办公室IP,请将其添加到ignoreip中,以免在测试时将自己锁定:

[DEFAULT]
ignoreip = 127.0.0.1/8 YOUR_IP_ADDRESS

仅添加您信任的IP地址。除非您了解安全影响,否则不要将广泛的公共范围列入白名单。

 

重启并检查Fail2ban

  1. 更改监狱配置后重启Fail2ban:
    sudo systemctl restart fail2ban
  2. 检查Fail2ban服务和监狱状态:
    sudo systemctl status fail2ban --no-pager
    sudo fail2ban-client status
    sudo fail2ban-client status sshd

    Linux VPS终端显示Fail2ban服务状态和sshd监狱状态

 

解除IP地址的禁令

sudo fail2ban-client set sshd unbanip IP_ADDRESS

 

查看Fail2ban日志

sudo journalctl -u fail2ban --since "1 hour ago"
sudo tail -100 /var/log/fail2ban.log

Fail2ban很有帮助,但它不能替代SSH密钥、强密码、更新和合理的防火墙。


這篇文章有幫助嗎?

相關文章

« 返回

Follow us on Social Media

Stay in the loop! Follow our social media accounts and stay up-to-date with the latest news, announcements, tips & tricks and behind-the-scenes insights!