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

Fail2ban是一个免费的开放源代码且广泛使用的入侵防御工具,它可以扫描日志文件中的IP地址,这些IP地址显示出恶意迹象,例如密码失败过多等等,并禁止它们(更新防火墙规则以拒绝IP地址) 。。默认情况下,它附带用于各种服务的过滤器,包括sshd  。
在本文中,我们将解释如何安装和配置fail2ban来保护SSH并提高SSH服务器的安全性,以防止对centos / RHEL 8的暴力攻击 。
在CentOS / RHEL 8上安装Fail2banfail2ban软件包不在官方存储库中,但在EPEL存储库中可用 。登录系统后,访问命令行界面,然后如图所示在系统上启用EPEL存储库 。

# dnf install epel-release
OR
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
【如何在CentOS / RHEL 8上安装Fail2Ban保护SSH】 
如何在CentOS / RHEL 8上安装Fail2Ban保护SSH

文章插图
在CentOS和RHEL 8上安装EPEL Repo
之后,通过运行以下命令来安装Fail2ban软件包 。
# dnf install fail2ban
 
如何在CentOS / RHEL 8上安装Fail2Ban保护SSH

文章插图
在CentOS和RHEL 8中安装Fail2ban
配置Fail2ban保护SSHfail2ban配置文件位于/ etc / fail2ban /目录中,过滤器存储在/etc/fail2ban/filter.d/目录中(sshd的过滤器文件为/etc/fail2ban/filter.d/sshd.conf ) 。。
fail2ban服务器的全局配置文件是/etc/fail2ban/jail.conf ,但是,不建议直接修改此文件,因为将来在升级程序包时可能会覆盖或改进该文件 。
或者,建议在/etc/fail2ban/jail.d/目录下的jail.local文件或单独的.conf文件中创建和添加配置 。请注意,在jail.local中设置的配置参数将覆盖jail.conf中定义的任何参数 。
对于本文,我们将在/ etc / fail2ban /目录中创建一个名为jail.local的单独文件,如下所示 。
# vi /etc/fail2ban/jail.local
打开文件后,将以下配置复制并粘贴到其中 。[DEFAULT]部分包含全局选项, [sshd]部分包含sshd监狱的参数 。
[DEFAULT]
ignoreip = 192.168.56.2/24
bantime = 21600
findtime = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
[sshd]
enabled = true
 
如何在CentOS / RHEL 8上安装Fail2Ban保护SSH

文章插图
Fail2ban配置
让我们简要解释一下上述配置中的选项:
  • ignoreip :指定不禁止的IP地址或主机名列表 。
  • bantime :指定禁止主机的秒数(即有效禁止持续时间) 。
  • maxretry :指定禁止主机之前的故障数 。
  • findtime :fail2ban将禁止主机,如果主机在最后一个“ findtime ”秒内生成了“ maxretry ” 。
  • 禁止行动:禁止行动 。
  • backend :指定用于修改日志文件的后端 。
因此,上述配置意味着,如果IP在最近5分钟内发生3次故障,则将其禁止6个小时,并忽略IP地址192.168.56.2  。
接下来,立即启动并启用fail2ban服务,并使用以下systemctl命令检查它是否已启动并正在运行 。
# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban
 
如何在CentOS / RHEL 8上安装Fail2Ban保护SSH

文章插图
启动Fail2ban服务
使用fail2ban-client监视失败和禁止的IP地址
将fail2ban配置为保护sshd后 ,可以使用fail2ban-client监视失败和被禁止的IP地址 。要查看fail2ban服务器的当前状态,请运行以下命令 。
# fail2ban-client status

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

文章插图
检查Fail2ban监狱状态
要监视sshd监狱,请运行 。
# fail2ban-client status sshd
 
如何在CentOS / RHEL 8上安装Fail2Ban保护SSH

文章插图
使用Fail2ban监视SSH失败的登录
要在fail2ban(在所有监狱和数据库)中取消禁止IP地址,请运行以下命令 。
# fail2ban-client unban 192.168.56.1
有关fail2ban的更多信息,请阅读以下手册页 。
# man jail.conf
# man fail2ban-client
转载自:https://www.howtoing.com/install-fail2ban-to-protect-ssh-on-centos-rhel




    推荐阅读