防止暴力攻击 (Fail2Ban)

IP 地址禁止(Fail2Ban) 是自动保护您的服务器防止暴力攻击的方式。Fail2Ban 会使用常规的表达方式来监控日志文件查找与验证失败和可疑错误的模式。此类日志项在其数值达到某个预定义值时会被计算在内,Fail2Ban 会发送邮件通知或在预定期限内禁止攻击者的 IP。当禁止时间结束,该 IP 地址会被自动解禁。

Fail2Ban 逻辑由一系列的 jails 决定。一个 jail 是一组覆盖某个方案的规则。jail 的设置会决定再检测到攻击时应根据预定义的过滤方案(监控日志的一个或多个常规表达)执行哪些操作 欲了解更多信息请参阅Fail2Ban Jails 管理

注意: 若要使用 Fail2Ban,从 Plesk 11.5 升级的管理员必须从 Plesk 或其供应商获取 Plesk Onyx 的许可证密钥。

设置 Plesk 自动禁止对您的服务器会生成恶意流量的 IP 地址和网络:

  1. 进入  工具与设置 > IP 地址禁止 (Fail2Ban) (在  安全性  组里)。必须在您的服务器上安装 Fail2Ban 组件。
  2. 请选择 启用侵入检测 复选框。这将会激活 Fail2Ban 服务。
  3. 指定下列设置:
    • IP 地址禁止时段 – IP 地址被禁的时间间隔(秒)。当禁止时间结束,该 IP 地址会被自动解禁。
    • 检测后续攻击的时间间隔 - 系统计算未成功登录尝试和来自某个 IP 地址不规范行为的次数的时间间隔(秒)。
    • IP 地址被禁前的失败次数 – 某个 IP 地址尝试登录失败的次数。
  4. 点击 确定

现在所有活动的 Fail2Ban jails 都将用于监控日志文件并禁止可疑的 IP 地址。

IP_Address_Banning

Plesk 中的 Fail2Ban 有以下限制和特殊性:

  • 不得以 Plesk 服务的形式手动重启 Fail2Ban,因为所有累积的统计数据将会丢失,包括当前被禁的 IP 地址。
  • Fail2Ban 不会对使用 IPv6 地址的攻击者提供防护。Plesk 中的 Fail2ban 只依赖于 IP(没有主机名查询),除非重新配置。
  • Fail2Ban 无法防御分布式暴力破解攻击,因为它会通过其 IP 地址识别入侵者。
  • 如果您的 Plesk 安装于 VPS 上,该 VPS 的 iptables 记录限制 (numiptent) 可能会影响 Fail2Ban 的运行。当超过了该限制时,Fail2Ban 将会停止正常运行,而在 Fail2Ban 日志中您将会找到以下行:
    fail2ban.actions.action: ERROR iptables -I fail2ban-plesk-proftpd 1 -s 12.34.56.78 -j REJECT --reject-with icmp-port-unreachable returned 100
    如果是此情况,请联系您的 VPS 主机提供商来解决该问题。
  • 如果在升级到 Plesk Onyx 前于服务器上安装了 Fail2Ban,程序包将会由 Plesk 的 Fail2Ban 程序包替代。如果您已安装的程序包比 Plesk 提供的更新,升级将会失败。现有的 jails 将不会被覆写,而您可以在 Plesk 与 Plesk Onyx jails 中对其进行管理。

如果不想阻止某些 IP 地址:

  1. 请进入  工具与设置  > IP 地址禁止 (Fail2Ban) > 信任的 IP 地址 > 添加信任的 IP 进行操作。
  2. IP 地址 字段中提供一个 IP 地址、一个 IP 范围、或一个 DNS 主机名,然后点击 确定

您可以进入  工具与设置 > IP 地址禁止 (Fail2Ban) > 日志  中查看和下载 Fail2Ban 日志文件。

您可进入  工具与设置 > IP 地址禁止 (Fail2Ban) > 被禁的 IP 地址  中查看被禁的 IP 地址列表,解禁,或移动都信任的地址列表中。

您可以进入 工具与设置 > IP 地址禁止 (Fail2Ban) > 信任的 IP 地址  中查看永远不会被禁止的 IP 地址列表,以及添加 IP 地址或移除 IP 地址。

在本节:

Fail2Ban Jails 管理

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.