Fail2Ban 可以说是保护 Linux 服务器并保护其免受自动攻击的最佳软件,启用后,它会提供许多可自定义的规则来禁止可能试图访问您的计算机的源地址。Fail2Ban 与防火墙协同工作,因此我们建议您将它们作为单独的安全层进行安装和启用。
在本文中,我们将解释什么是 Fail2Ban 及其用例,我们还将向您展示如何安装和设置 Fail2Ban。
Fail2Ban 是一个日志解析应用程序,可保护基于 Linux 的 Web 服务器免受许多安全威胁,例如字典、DoS、DDoS 和暴力攻击,它通过监视系统日志中的任何恶意活动并扫描文件以查找与已识别模式匹配的任何条目来工作。
如果 Fail2Ban 检测到登录尝试失败的高峰,它会自动将新的防火墙规则添加到您的 iptables 并在指定时间或无限期阻止源地址。
安装 Fail2Ban 可帮助服务器所有者自动减少任何非法活动。每当发生攻击时,它还会通过电子邮件向他们发出警报。
要安装 Fail2Ban 服务,请使用终端(macOS 和 Linux)或 PuTTY(Windows)等 SSH 客户端以 root 访问权限连接到您的服务器。
以下是在Ubuntu上安装 Fail2Ban 的方法:
在安装新软件包之前,我们建议更新系统存储库和软件。运行以下命令:
apt-get update && apt-get upgrade
通过运行以下命令安装 Fail2Ban 包:
apt-get install fail2ban
如果要为 Fail2Ban 服务添加电子邮件支持,请插入以下命令并按Enter:
apt-get install sendmail
使用以下命令验证 Fail2Ban 状态:
sudo systemctl status fail2ban
按照以下步骤在CentOS上安装 Fail2Ban :
sudo yum install epel-release
sudo yum install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
以下是在 Debian 上安装 Fail2Ban 的方法:
apt-get update && apt-get upgrade -y
apt-get install fail2ban
apt-get install sendmail-bin sendmail
systemctl status fail2ban
按照以下说明在 Fedora 上安装 Fail2Ban:
dnf update
dnf install fail2ban
dnf install sendmail
systemctl start fail2ban
systemctl enable fail2ban
systemctl start sendmail
systemctl enable sendmail
安装 Fail2Ban 后,考虑配置它。在本节中,我们将探讨如何使用fail2ban.local和jail.local文件来实现。
fail2ban.conf文件包含 Fail2Ban 的基本配置。它包含不应修改的全局设置。
如果您想进行任何更改,我们建议您创建一个本地文件。复制fail2ban.conf并将其重命名为fail2ban.local以覆盖默认配置文件。
以下是如何更改副本的名称并在 fail2ban.local 文件上设置设置:
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
sudo nano /etc/fail2ban/fail2ban.local
让我们回顾一下选项和它们可以采用的值。
loglevel = INFO
将日志输出级别定义为:
logtarget = STDERR
在特定目标套接字中记录操作,可以是:
syslogsocket = auto
将 syslog 套接字文件设置为auto或file(如果您已将logtarget设置为SYSLOG)。
socket = /var/run/fail2ban/fail2ban.sock
设置套接字文件以与守护程序通信。默认位置是/var/run/fail2ban/fail2ban.sock。
pidfile = /var/run/fail2ban/fail2ban.pid
设置 PID 文件来存储 Fail2Ban 服务器的进程 ID。默认位置是/var/run/fail2ban/fail2ban.pid。
Fail2Ban 有另一个名为jail.conf的配置文件,其中包括监狱——带有动作的过滤器。但是,用户不应直接修改此文件,因为它包含软件的基本规则集。
相反,制作原始文件的副本并将其命名为jail.local。使用它,您将能够自定义和设置过滤器和操作,例如ignoreip、bantime、findtime、maxretry和backend。
此功能要求您指定 Fail2Ban 应忽略的可信 IP 地址、DNS 主机或 CIDR 掩码。此参数允许来自指定来源的所有流量。您可以添加多个地址并用空格分隔它们。
此参数设置客户端在身份验证失败后将被禁止的时间长度。禁止期限以秒为单位,默认数字为 600 或 10 分钟。
此设置确定登录尝试失败的时间段。如果一个主机在设定的时间段内认证失败一定次数(基于maxretry设置),它的 IP 地址将被禁止。
maxretry与findtime一起工作——它设置在定义的时间窗口内不成功的登录尝试的最大次数。默认值为 5。
此功能允许您指定文件修改的后端配置。默认值为auto,但如果你使用 CentOS 或 Fedora,则需要systemd。
以下是您可以选择的可用值:
您还可以在jail.local文件中设置其他配置,包括SSH和iptables设置。可用选项包括:
Fail2Ban 是日志解析软件,有助于保护基于 Linux 的 Web 服务器免受网络攻击。
本文演示了如何在流行的操作系统上安装 Fail2Ban,例如 Ubuntu、CentOS、Debian 和 Fedora,我们还解释了如何编辑软件的配置文件fail2ban.local和jail.local 。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。