Fail2Ban Jails 管理
高级用户可能还会对配置 Fail2Ban jails 用于阻止 IP 地址的方式感兴趣。一个 Fail2Ban jail 是一个过滤器和一项或多项操作的组合。过滤器会定义匹配与失败登录尝试和其它恶意操作相对应的模式的常规表达方式。这些操作则定义当过滤器捕捉到不规范使用 IP 地址时需要执行的命令。
jail 可以是活动或不活动状态。当正在运行 Fail2Ban 服务时,只有活动的 jails 将用于监控日志文件以及禁止可疑的 IP 地址。
在 Plesk 中,有针对所有主机服务(web 服务器、邮件服务器、FTP 服务器)的预先配置的 jails。大部分以相同方式运行:它们会检测失败的登录尝试并阻止访问服务10分钟。这些 jails 位于 Jails 标签(在 工具与设置 > IP 地址禁止 (Fail2Ban) 下)。
下面是可用的预配置 jails选项:
- plesk-apache 查找 Apache 验证失败的尝试操作并禁止攻击者 10 分钟。
- plesk-apache-badbot 在 Apache 访问日志文件中查找邮件捕获者和漏洞扫描器。禁止会持续两天。
- plesk-dovecot 查找 Dovecot IMAP、POP3 和 Sieve 验证失败的尝试操作,并禁止攻击者 10 分钟。
- plesk-horde 和 plesk-roundcube 检测 web 邮箱失败的登录尝试,并阻止访问 web 服务 10 分钟。
- plesk-modsecurity 会禁止由 ModSecurity Web 应用程序防火墙检测为有害的 IP 地址。该 jail 只有在 ModSecurity 已经运行的情况下才能被激活,即使 ModSecurity 正在 “仅检测” 模式中运行也将会禁止攻击者的访问。该禁止会持续 10 分钟。
- plesk-panel 检测 Plesk 登录失败的尝试操作,并禁止攻击者 10 分钟。
- plesk-postfix 查找Postfix SMTP 和 SASL 验证失败的尝试操作,并禁止攻击者 10 分钟。
- plesk-proftpd 查找 ProFTPD 登录失败的尝试操作并禁止攻击者 10 分钟。
- plesk-wordpress 查找 WordPress 验证失败的尝试操作并禁止攻击者 10 分钟。
- recidive 在 Fail2Ban 日志中查找其它的 jails 禁止。它会阻止五次接收到来自其它 jails 长达 10 分钟禁止命令的主机。该禁止会持续一周,且适用于服务器上的所有服务。
- ssh 查找 SSH 登录失败的尝试操作并禁止攻击者 10 分钟。
对未安装的 Plesk 组件预先配置的 jails 不会在列表中显示。例如,如果 RoundCube web 邮箱未安装, plesk-roundcube jail 则不会在可用的 jails 列表中显示。
若要保护您的服务不被指定威胁侵入,以及保护非 Plesk 附带的第三方服务,您可以设置自己的 jails,这将可以关闭和打开、更新 jail 设置,并添加可被 jails 使用的过滤器。
激活或停用 Jail
若要激活 jail,请如下操作:
- 请进入 工具与设置 > IP 地址禁止 (Fail2Ban) > Jails 。
- 选定一个 jail 并点击 启用 按钮。只有正在运行 Fail2Ban 服务时,才能使用该按钮( 启用入侵检测 复选框已在 设置 标签上选定)。
注解: 如果您尝试使用群组 启用 操作一次启用多个 jails,如果其中的一个 jails 启动失败,则所有的 jails 都无法启用。那么,请一个一个地分别启用。
若要停用 jail,请如下操作:
-
请进入 工具与设置 > IP 地址禁止 (Fail2Ban) > Jails 。
-
选定一个 jail 并点击 关闭 按钮。
配置 Jail 的设置
要设置心的 jail,请执行下列步骤:
-
请进入 工具与设置 > IP 地址禁止 (Fail2Ban) > Jails > 添加 Jail 。
-
指定过滤器。
您可以使用已在 Plesk 中设置的以下过滤器:
- apache-auth 用于 Apache 验证失败
- apache-badbots 用于垃圾邮件机器人和网络爬虫
- plesk-courierlogin 用于 Courier IMAP 和 POP3 验证失败
- plesk-dovecot 用于 Dovecot IMAP、POP3 和 Sieve 验证失败
- plesk-horde 用于 Horde web 邮箱验证失败
- plesk-modsecurity 用于通过 ModSecurity Web 应用防火墙检测出来的对 web 应用的攻击
- plesk-panel 用于 Plesk 验证失败
- plesk-qmail 用于 QMail SMTP 验证失败
- plesk-roundcube 用于 Roundcube web 邮箱验证失败
- plesk-wordpress 用于 WordPress 验证失败
- postfix-sasl 用于 Postfix SMTP 和 SASL 验证失败
- proftpd 用于 ProFTPD 登录失败
- recidive 用于被 Fail2Ban 重复禁止的主机
- sshd 用于 SSH 登录失败
您还可以添加您自己的过滤器。详情请查看下面的 管理过滤器 部分。
-
指定 jail 操作。
您可以使用已在 Plesk 中设置的以下操作:
- iptables 用于在单个端口上禁止攻击者
- iptables-allports 用于在所有端口上禁止攻击者
- iptables-multiport 用于在多个端口上禁止攻击者
- sendmail 用于向指定的邮件地址发送邮件通知
从 操作 菜单选择一个操作,并点击 添加 以将其添加到 jail。您可以添加任意数量的操作到一个 jail。可以根据您的要求定制化操作,例如,您可以指定一个邮件地址来发送通知或指定应关闭的端口。
-
在 日志路径 字段中,指定 Fail2ban 将要在里面查找攻击迹象的一个或多个日志文件。
-
设置 IP 地址禁止时段(以秒为单位)。
-
设置登录尝试失败的次数。
-
点击 确定 。
要更改现有 jail 设置,请执行下列步骤:
- 进入 工具与 > IP 地址禁止 (Fail2Ban) > Jails ,点击 jail 的名称,然后点击 更改设置 。
- 编辑 jail 的设置并点击 确定 。
若要移除 jail,请如下操作:
- 请进入 工具与设置 > IP 地址禁止 (Fail2Ban) > Jails 。
- 选定一个 jail 并点击 移除 。
注解: Plesk 附带的 Jails 不能被移除,您只能停用。但是您可以移除自己添加的 jails。
管理过滤器
若要添加可以被 jail 使用的过滤器:
- 请进入 工具与设置 > IP 地址禁止 (Fail2Ban) > Jails > 管理过滤器 > 添加过滤器 。
- 指定用于匹配日志文件行的过滤器名称和常规表达。有关 Fail2Ban 过滤器的详情,请参阅 Fail2Ban 文档 http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters 。因为 Fail2Ban 是 Python 应用程序,因而有关 Python 常规表达的详情可参阅 Python 文档 https://docs.python.org/2/library/re.html 。