如何在 CentOS 7 上安装 Fail2Ban

在本教程中,我们将向您展示如何在 CentOS 7 上安装 Fail2Ban。对于那些不知道的人,Fail2ban 是一个基于安全的应用程序,适用于您的基于 Unix 的服务器。 fail2ban 服务通常用于保护您的 SSH 和 FTP 免受未经授权的连接。 Fail2ban 作为守护进程运行,它使用 python 脚本解析日志文件以检测系统入侵尝试,并向 Iptables 配置文件添加自定义规则以禁止访问某些 IP 地址。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示如何在 CentOS 7 服务器中逐步安装 fail2ban。

先决条件

  • 运行以下操作系统之一的服务器:CentOS 7。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 CentOS 7 上安装 Fail2Ban

步骤 1. 首先,您需要在系统上启用 EPEL 存储库。

## RHEL/CentOS 7 64-Bit ## # wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm # rpm -ivh epel-release-7-5.noarch.rpm

步骤 2. 安装 Fail2Ban。

使用以下命令安装 Fail2Ban:

yum install -y fail2ban

启动服务并使其在每次重新启动服务器时自动启动:

systemctl enable fail2ban systemctl start fail2ban

配置Fail2Ban

步骤 3. 设置 Fail2ban 默认配置。

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

现在,您将看到包含一些基本规则的默认部分,fail2ban 本身遵循这些规则。 如果您想为服务器添加一些额外的保护层,则可以根据需要自定义每个规则部分。 有几行作为基本设置,您可以根据需要进行编辑以满足您的需要,包括 ignoreip、bantime、findtime 和 maxretry。 您可以在此处的解释中阅读每行的含义。

[DEFAULT]  # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space separator. ignoreip = 127.0.0.1  # "bantime" is the number of seconds that a host is banned. bantime = 600  # A host is banned if it has generated "maxretry" during the last "findtime" # seconds. findtime = 600  # "maxretry" is the number of failures before a host get banned. maxretry = 3

现在重启 Fail2ban,让新配置生效:

systemctl restart fail2ban.service

恭喜! 你已经成功安装了fail2ban。 感谢您使用本教程安装 fail2ban 以保护 CentOS 7 系统中的 SSH。 如需更多帮助或有用信息,我们建议您查看 官方fail2ban网站.