返回

使用 Fail2ban 提升 SSH 服务器安全性

后端

在当今数字化世界中,网络安全至关重要,尤其是对于承担关键角色的服务器而言。一种有效的防御措施是部署入侵检测和预防系统 (IDPS),例如 Fail2ban。在本篇文章中,我们将指导您在 CentOS 8 系统上安装和配置 Fail2ban,以增强您的 SSH 服务器安全性。

Fail2ban 简介

Fail2ban 是一种入侵检测和预防系统,用于监视系统日志并根据预定义的规则禁止恶意 IP 地址。它专为保护 SSH 等远程服务而设计,通过识别并阻止来自可疑 IP 地址的登录尝试,有效防止暴力破解。

安装 Fail2ban

在 CentOS 8 系统上安装 Fail2ban 非常简单。只需在终端中执行以下命令:

sudo yum install fail2ban

安装完成后,启动并启用 Fail2ban 服务:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

配置 Fail2ban

Fail2ban 的主要配置文件位于 /etc/fail2ban/jail.conf。在此文件中,您可以定义要保护的服务、允许的登录失败次数以及禁止 IP 地址的持续时间。对于 SSH 服务,以下配置将提供良好的保护:

[sshd]
enabled = true
port = ssh
maxretry = 3
findtime = 600
bantime = 3600

SSH 限制

Fail2ban 允许您进一步限制对 SSH 服务的访问。例如,您可以使用以下选项阻止来自特定国家/地区的 IP 地址:

[sshd]
...
banaction = iptables-allports
banaction_allports = iptables -I INPUT -s <country code> -j DROP

或者,您可以阻止使用特定用户名进行的登录尝试:

[sshd]
...
logpath = /var/log/auth.log

Fail2ban 管理

Fail2ban 提供了几个命令用于管理其服务。以下是一些有用的命令:

  • 列出禁用的 IP 地址:sudo fail2ban-client status
  • 禁用特定 IP 地址:sudo fail2ban-client set ssh banip <ip address>
  • 解禁特定 IP 地址:sudo fail2ban-client set ssh unbanip <ip address>

结论

Fail2ban 是一个强大的 IDPS,可以显著提高 SSH 服务器的安全性。通过监视系统日志并阻止可疑 IP 地址,它可以防止暴力破解和其他恶意活动。按照本指南中的步骤进行操作,您可以轻松地将 Fail2ban 部署到您的 CentOS 8 系统上,并为您的服务器增加一层额外的保护。