使用Fail2Ban增强SSH安全保护的实战教程

保护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数量和其他详细信息。使用Fail2Ban增强SSH安全保护的实战教程

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

(0)
运维侠的头像运维侠共建用户
上一篇 2025年6月18日 18:11
下一篇 2025年6月20日 18:11

相关推荐

发表回复

登录后才能评论