如何在 CentOS 上安装 Fail2Ban

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

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

先决条件

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

在 CentOS 上安装 Fail2Ban

步骤 1. 首先,将 EPEL yum 存储库添加到您的系统。

CentOS 6:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

CentOS 7:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm

步骤 2. 使用安装 Fail2Ban yum 包管理器。

yum install 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

步骤 4. 重新启动 Fail2Ban 服务。

chkconfig --level 23 fail2ban on service fail2ban start

恭喜! 您已成功安装 Fail2Ban。 感谢您使用本教程在 CentOS 系统上安装 Fail2Ban。 如需更多帮助或有用信息,我们建议您查看 Fail2Ban 官方网站.