网站搜索

如何在 CentOS/RHEL 8 上安装 Fail2Ban 来保护 SSH


Fail2ban 是一款免费、开源且广泛使用的入侵防御工具,它扫描日志文件中是否存在显示恶意迹象(例如密码失败次数过多等)的 IP 地址,并禁止它们(更新防火墙拒绝 IP 地址的规则)。默认情况下,它附带了各种服务的过滤器,包括sshd

另请阅读:使用 CentOS/RHEL 8 进行初始服务器设置

在本文中,我们将介绍如何安装和配置 fail2ban 来保护 SSH 并提高 SSH 服务器安全性,防止 上的暴力攻击CentOS/RHEL 8。

在 CentOS/RHEL 8 上安装 Fail2ban

fail2ban 软件包不在官方存储库中,但可以在 EPEL 存储库中找到。登录系统后,访问命令行界面,然后在系统上启用 EPEL 存储库,如图所示。

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

然后,通过运行以下命令安装 Fail2ban 软件包。

dnf install fail2ban

配置 Fail2ban 保护 SSH

fail2ban 配置文件位于 /etc/fail2ban/ 目录中,过滤器存储在 /etc/fail2ban/filter.d/ 中目录(sshd 的过滤器文件为 /etc/fail2ban/filter.d/sshd.conf)。

fail2ban服务器的全局配置文件是/etc/fail2ban/jail.conf,但是不建议直接修改该文件,因为打包的情况下可能会被覆盖或者改进未来升级。

作为替代方案,建议在 jail.local 文件或 /etc/fail2ban/jail 下的单独 .conf 文件中创建和添加配置。 d/ 目录。请注意,jail.local 中设置的配置参数将覆盖 jail.conf 中定义的任何内容。

对于本文,我们将在 /etc/fail2ban/ 目录中创建一个名为 jail.local 的单独文件,如图所示。

vi /etc/fail2ban/jail.local

文件打开后,将以下配置复制并粘贴到其中。 [DEFAULT] 该部分包含全局选项,[sshd] 包含 sshd Jail 的参数。


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

我们简单解释一下上面配置中的选项:

  • ignoreip:指定不禁止的 IP 地址或主机名列表。
  • bantime:指定主机被禁止的秒数(即有效禁止持续时间)。
  • maxretry:指定主机被禁止之前的失败次数。
  • findtime:如果主机在最后“findtime”秒内生成了“maxretry”,fail2ban 将禁止该主机。
  • banaction:禁止行动。
  • backend:指定用于获取日志文件修改的后端。

因此,上述配置意味着如果某个 IP 在过去 5 分钟内失败 3 次,则将其禁止 6 小时,并忽略该 IP IP 地址192.168.56.2

接下来,暂时启动并启用 fail2ban 服务,并使用以下 systemctl 命令检查它是否已启动并正在运行。

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

使用fail2ban-client监控失败和禁止的IP地址

配置fail2ban以保护sshd后,您可以使用fail2ban-client监控失败和禁止的IP地址。要查看fail2ban服务器的当前状态,请运行以下命令。

fail2ban-client status

要监视 sshd 监狱,请运行。

fail2ban-client status sshd

要在fail2ban(在所有监狱和数据库中)中取消禁止IP地址,请运行以下命令。

fail2ban-client unban 192.168.56.1

有关fail2ban 的更多信息,请阅读以下手册页。

man jail.conf
man fail2ban-client

这就是本指南的总结!如果您对此主题有任何疑问或想法想要分享,请随时通过下面的反馈表与我们联系。


版权所有。 © Linux-Console.net • 2019-2024