在 Ubuntu 24.04 或 22.04 LTS 服务器上安装、配置和使用 Fail2ban
关于在 Ubuntu 24.04、22.04 或 20.04 LTS Linux 服务器上安装和配置 Fail2ban 服务器、客户端和服务的教程。
博主和开发人员如果自行运行和管理服务器,也需要负责其安全性。在当今世界,如果不重视安全性,我们的服务器可能会成为攻击者的攻击目标并造成损害。尽管有许多在线 WAF(Web 应用防火墙),但为了加固服务器,有一个名为 Fail2ban 的开源程序。它可以确保在多次尝试失败后,攻击者的 IP 地址会被暂时阻止,从而防止无限次的尝试,这些尝试最终可能会导致密码被破解。
Fail2ban 可以监控各种服务,当然包括 SSH 访问、FTP、邮件等。在这里,我们学习如何在 Ubuntu 24.04 或 22.04 LTS 上安装 Fail2ban 及其配置过程。
在 Ubuntu 24.04 或 22.04 LTS 上安装 Fail2ban
安装和配置 Fail2ban 的软件包可在 Ubuntu 24.04/22.04 的官方仓库中找到。因此,我们需要使用 apt 命令进行安装。
首先,运行更新命令以重建仓库缓存:
sudo apt update
然后,使用以下命令安装这个安全工具:
sudo apt install fail2ban
运行上述命令后,安装完成后将提供以下程序:
- fail2ban-server – 服务器
- fail2ban-client – 用于配置和评估服务器的客户端程序
- fail2ban-regex – 用于测试正则表达式的程序
启用并检查服务状态:
sudo systemctl enable fail2ban
sudo systemctl status fail2ban
在 Ubuntu 上配置 Fail2ban
Fail2ban 读取扩展名为 .conf
和 .local
的配置文件类型。扩展名为 .conf
的文件在安装过程中创建,并且会在软件包升级时被 覆盖,因此所有更改都必须在对应的 .local
文件中进行。因此,只应在该文件中添加或更改与默认或全局设置不同的值。
Fail2ban 有三种配置文件类型:
/etc/fail2ban/action.d/*.conf/*
/etc/fail2ban/filter.d/*.conf/*
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf
action.d
目录 /etc/fail2ban/action.d/ 中的文件包含用于(解除)阻止 IP 地址的命令。操作文件包含两个部分:[Definition]
和 [Init]
。[Init]
部分中的条目用于覆盖在监狱中定义的规则。以下表中的示例取自 iptables-multiport-conf 操作。所有命令都以 fail2ban 用户权限执行。
选项概览 | 描述 | 示例 |
---|---|---|
[Definition] | ||
actionstart | 在启动 fail2ban 时执行的命令 | actionstart = iptables -N fail2ban-<name> iptables -A fail2ban-<name> -j RETURN iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name> |
actionstop | 在退出 fail2ban 时执行的命令 | actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name> iptables -F fail2ban-<name> iptables -X fail2ban-<name> |
actioncheck | 在每次执行 actionban 之前执行的命令。这些命令用于检查当前环境的功能性。 | `actioncheck = iptables -n -L |
actionban | 当 IP 被阻止时执行的命令。条件是 < |