保护SSH服务器对于保护系统免受未经授权的访问非常重要。保护SSH服务器的最佳工具之一是Fail2Ban。它监控您的服务器日志,并自动阻止显示恶意活动迹象的IP地址,例如太多失败的登录尝试。在本文中,我们将指导您在基于Debian和RHEL的系统上使用Fail2Ban通过5个简单步骤保护SSH服务器。
一、先决条件
1.正常配置apt和yum源。
二、解决方案
1.安装Fail2Ban
首先,您需要在服务器上安装Fail2Ban。
对于基于Debian的系统(如Ubuntu),打开终端并运行以下命令:
sudo apt update sudo apt install fail2ban -y
对于基于RHEL的系统(如CentOS、Fedora),打开终端并运行以下命令:
sudo yum install epel-release -y sudo yum install fail2ban -y
以上操作将在您的服务器上安装Fail2Ban。
2.为SSH配置Fail2Ban
安装Fail2Ban后,您需要对其进行配置以保护您的SSH服务器。
(1)创建本地配置文件
Fail2Ban使用名为jail.conf的配置文件。与其直接编辑此文件,不如创建一个名为jaill.local的副本,以避免在更新Fail2Ban时丢失设置。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
(2)编辑jail.local文件
打开jail.local文件进行编辑:
sudo nano /etc/fail2ban/jail.local
向下滚动以找到[sshd]部分。在这里,您将设置保护SSH服务器的规则。确保以下行存在且未注释:
[sshd] enabled = true # 这将启用SSH的Fail2Ban port = ssh # 指定ssh端口(默认为22) logpath = /var/log/secure # 这是SSH日志的路径 backend = %(sshd_backend)s # 这指定了fail2ban用于处理日志的后端 maxretry = 5 # 设置IP被禁止前的最大失败尝试次数 bantime = 10m # 指定了IP地址被禁止访问SSH服务的时间长度 findtime = 10m # 在这个时间窗口内,如果一个IP地址的登录失败次数达到maxretry指定的次数,那么该IP地址将被禁止访问。
保存并退出编辑器(在nano中,按CTRL+X,然后按Y和Enter)。
3.启动并启用Fail2Ban
现在您已经配置了Fail2Ban,您需要启动它并确保它在启动时自动运行。
sudo systemctl start fail2ban sudo systemctl enable fail2ban
这将启动Fail2Ban,并确保每次服务器启动时它都会运行。
4.检查Fail2Ban状态
启动Fail2Ban后,最好检查其状态以确保其正常运行。
sudo fail2ban-client status
此命令将显示Fail2Ban的状态,包括哪些监狱(规则)处于活动状态。
要具体检查SSH监狱,请运行:
sudo fail2ban-client status sshd
这将显示当前被禁止的IP数量和其他详细信息。
5.取消禁止IP(如果需要)
有时,合法用户可能会意外被禁止。如果发生这种情况,您可以取消他们的IP地址。
要取消IP的禁令,请使用以下命令:
sudo fail2ban-client set sshd unbanip
将替换为要取消绑定的实际IP。
三、总结
通过遵循这5个简单的步骤,您已经使用Fail2Ban保护了SSH服务器。现在,您的服务器可以更好地抵御暴力攻击。Fail2Ban将自动阻止可疑IP,保护您的服务器免受未经授权的访问。确保定期监控Fail2Ban,以确保其正常工作,并根据需要调整设置以满足您的安全要求。
原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/fail2ban-ssh-security-enhancement-practical-guide.html