Fail2Ban 是一款入侵防御软件,其工作原理是分析日志文件,检测失败的登录尝试,然后采取措施,例如在特定时间段内禁止 IP 地址进一步登录尝试。它在防止暴力攻击方面特别有效,攻击者反复尝试猜测密码或访问资源。Fail2Ban 还可以防止攻击者使用端口扫描工具来识别服务器上可以利用的开放端口。
在 Manjaro 上安装 Fail2Ban
步骤 1。在安装任何新软件之前,最好先更新包数据库。这可确保您安装的是最新版本的软件,并且所有依赖项都是最新的。若要更新包数据库,请在终端中运行以下命令:
sudo pacman -Syu
第2步。在 Manjaro 上安装 Fail2Ban。
更新系统存储库后,您可以使用以下命令安装 Fail2Ban:
sudo pacman -S fail2ban
此命令将在Man jaro系统上下载并安装Fail2Ban。 安装完成后,您可以使用以下命令检查其版本,以验证是否已正确安装 Fail2Ban:
fail2ban-client version
安装 Fail2Ban 后,您需要启动 Fail2Ban 服务。您可以使用以下命令执行此操作:
sudo systemctl start fail2ban
要确保 Fail2Ban 在系统启动时自动启动,您需要启用它。您可以使用以下命令执行此操作:
sudo systemctl enable fail2ban
您可以使用以下命令检查 Fail2Ban 服务的状态:
sudo systemctl status fail2ban
第 3 步。配置 Fail2Ban。
Fail2Ban 通过位于 /etc/fail2ban/
目录下的层次结构中的多个文件进行配置。 主要配置在定义每个应用程序“jails”的文件中指定。 默认情况下,Fail2Ban 附带一个 jail。会议
文件。但是,若要保留自定义设置,建议创建名为 jail 的配置文件的本地副本。当地
。 您可以使用以下命令执行此操作:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- 设置监狱
监狱是 Fail2Ban 的一个关键功能。当 SSHd 等服务被监禁时,Fail2Ban 将持续监控该服务的日志,以防可能的重复尝试。 如果在特定时间窗口内检测到给定数量的尝试,则会自动为给定时间设置阻止规则。 这些监狱的设置是通过监狱完成的。当地
文件。
例如,若要限制 SSH 服务,可以将以下行添加到监狱中。当地
文件:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 600
此配置将启用 SSH jail 并将端口设置为 ssh
,使用 sshd
过滤器,将日志路径设置为 /var/log/auth。日志
,将最大重试次数设置为 3
,并将封禁时间设置为 600
秒。
- 自定义封禁设置
您可以通过 在监狱中设置 bantime、findtime 和
maxretry
等参数来自定义封禁设置。当地
文件。 例如,要将默认封禁时间更改为 1 天,您可以将以下行添加到 jail。当地
文件:
[DEFAULT] bantime = 1d
- 将 IP 地址列入白名单
您可以在 jail 中使用 ignoreip
参数将受信任的 IP 地址列入白名单。当地
文件。 例如,将 IP 地址 192.168 列入白名单。1.100
,您可以将以下行添加到 jail。当地
文件:
[DEFAULT] ignoreip = 192.168.1.100
此配置将阻止 IP 地址 192.168。1.100
免于被禁止。
- 配置日志文件
Fail2Ban 通过监视所选条目的日志文件来运行。 您可以指定要在 jail 中监视的日志文件。当地
文件。 例如,监视 /var/log/auth。日志
文件,您可以将以下行添加到 jail。当地
文件:
[sshd] logpath = /var/log/auth.log
第 4 步。测试 SSH 暴力保护。
在依靠 Fail2Ban 进行安全保护之前,验证监狱是否正常工作是重要的一步。我们将手动触发封禁,以确保根据之前设置的最大尝试
限制阻止来自违规者 IP 的流量。
感谢您使用本教程在 Manjaro 系统上安装最新版本的 Fail2Ban。如需更多帮助或有用信息,我们建议您查看 Fail2Ban 官方网站。