要限制CentOS上的SSH登录次数,您可以使用Fail2Ban工具。Fail2Ban是一个用于防止暴力破解攻击的工具,它可以监控日志文件并禁止多次尝试登录失败的IP地址。以下是如何在CentOS上安装和配置Fail2Ban的步骤:
sudo yum install epel-release
sudo yum install fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Fail2Ban的配置文件位于/etc/fail2ban/jail.conf
。您可以使用文本编辑器(如vim或nano)编辑此文件:
sudo vi /etc/fail2ban/jail.conf
在jail.conf
文件中,找到以下部分并进行相应的修改:
enabled = no
更改为enabled = yes
以启用jail。port
为您的SSH服务端口(默认为22)。filter
为您的SSH登录失败日志过滤器名称(默认为sshd
)。logpath
为您的SSH登录失败日志文件路径(默认为/var/log/auth.log
)。maxretry
为您希望允许的最大登录尝试次数(例如,设置为3表示允许3次失败的尝试)。例如:
[sshd]
enabled = yes
port = sshd
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
如果您需要自定义过滤器,可以在/etc/fail2ban/filter.d/
目录下创建一个新的过滤器文件。例如,创建一个名为my_sshd.conf
的文件:
sudo vi /etc/fail2ban/filter.d/my_sshd.conf
在my_sshd.conf
文件中,定义一个正则表达式以匹配您的SSH登录失败日志。例如:
[Definition]
failregex = ^%(__prefix_line)s(?:error: PAM: )?(?:[a-zA-Z0-9_-]{3,32}: )?authentication failure
ignoreregex =
然后,在jail.conf
文件中引用您的新过滤器:
[sshd]
...
filter = my_sshd
...
sudo fail2ban-client reload
现在,Fail2Ban将根据您的配置限制SSH登录次数。当某个IP地址超过允许的最大尝试次数时,Fail2Ban会将其添加到防火墙的阻止列表中,阻止其进一步尝试登录。