如何在Linux VPS上安装Fail2ban

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密钥、强密码、更新和合理的防火墙。

  • 0 用戶發現這個有用
這篇文章有幫助嗎?

相關文章

如何使用SSH连接到Linux VPS

SSH是管理Linux VPS的常用方式。它为您提供服务器上的终端,以便您可以安装软件、编辑文件、检查日志、重启服务和运行游戏服务器命令。...

如何在 Linux VPS 上更新软件包

保持软件包更新有助于修补安全问题,并保持服务器工具的兼容性。如果 VPS 托管游戏服务器、数据库、面板、机器人或实时网站,请在维护窗口期间运行更新。 首先通过 SSH 连接:如何通过 SSH...

如何在Linux VPS上创建sudo用户

sudo用户允许您在不以root身份登录的情况下管理Linux VPS。这对于日常管理更安全,并且更容易为其他管理员提供受控访问。...

如何在Linux VPS上保护SSH

SSH是管理Linux VPS的主要方式,因此在服务器用于公共服务之前应进行安全设置。首先添加SSH密钥和sudo用户,然后尽可能减少基于密码的访问。...

如何检查Linux VPS上的磁盘使用情况

磁盘使用问题可能会导致更新、备份、日志、数据库和游戏存档无法正确写入。检查总磁盘使用情况以及哪些文件夹占用了最多空间。 使用SSH连接到VPS。 显示已挂载磁盘的使用情况:df -h...