这就是为什么你会在短时间后再次看到使用相同方案的攻击,但使用不同的 IP 地址。这种保护措施只能在短时间内有效。然而,它适合作为一种即时措施,让你松一口气。 使用 .htaccess 文件中的重写规则阻止用户代理 您知道 .htaccess 文件是控制 Apache Web 服务器的有用工具。 您可以在最开始的地方添加一条规则,当访问者的“用户代理”包含某个字符串时,阻止该请求: RewriteEngine On RewriteBase / RewriteCond %{HTTP_USER_AGENT} (PetalBot|UptimeRobot|seocompany|LieBaoFast|SEOkicks|Uptimebot|Cliqzbot|ssearch_bot|domaincrawler|spot|DigExt|Sogou|MegaIndex.ru|majestic12|80legs|SISTRIX|HTTrack|Semrush|MJ12|Ezooms|CCBot|TalkTalk|Ahrefs|BLEXBot) [NC] RewriteRule .* - [F] 如果规则适用,则不会执行进一步的操作。这意味着尽管 Web 服务器必须始终查看和处理请求,但它不必呈现页面或通过网络向攻击者返回大量数据。相反,它只响应 403 禁止。
这减少了 CPU 的负载。该示例仅显示了用户代理的简短列表。下面,我们将展示一个全面的坏机器人列表,作为高效解决 电报号码数据 方案的一部分。 重写规则程序仅对恶意机器人有效,这些机器人在日志中通过机器人名称进行识别,其缺点是传入的网络流量必须由 Apache Web 服务器查看。这仍然会产生不必要的 CPU 负载。此外,必须为每个单独的网站进行设置。总体而言,使用 .htaccess 会浪费计算时间并增加磁盘 I/O 负载,因为 Web 服务器必须读取并考虑每次资源访问的文件。 高效方法 一旦流量到达您的 Web 服务器,就会造成内存、CPU 和磁盘 I/O 负载。因此,您需要一个解决方案,确保不会将攻击者流量转发到服务器上的服务。 这就是 Fail2Ban 与您服务器上的“iptables”结合使用时所做的。您可能已经在使用 Fail2Ban。如果没有,现在是时候使用了。Fail2Ban 可以扫描您网站的日志文件,检测攻击并将攻击者的 IP 地址添加到服务器上的“ipables”防火墙,以阻止来自攻击者 IP 的进一步流量。为此,它使用“过滤器”和“监狱”。
“过滤器”决定哪些 IP 地址将被评估为恶意。“监狱”决定应对此类 IP 地址执行何种操作,例如应禁止它们多长时间。与您相关的监狱是文件 /etc/fail2ban/jail.local 中的“plesk-apache-badbot”条目,其相应的过滤器位于文件 /etc/fail2ban/filter.d/apache-badbots.conf 中。默认情况下,它会禁止众所周知的恶意机器人。/etc/fail2ban/jail.d/plesk.conf 中也提到了这一点,但我们不会编辑该文件来实现我们的目标。 监狱具有容忍度。例如,它们会等待几个恶意请求,直到真正禁止攻击者。在这里,我们将加强监管,并严格阻止恶意机器人。一旦容忍度限制被取消,同样的监狱也适用于阻止黑客扫描。 如何使用 Fail2Ban 快速且长期地阻止恶意机器人和黑客 在默认设置下,Fail2Ban 可以容忍不当行为。例如,在登录对话框中多次输入错误密码的用户不应立即被锁定在服务器之外。但是,在出现恶意机器人和黑客扫描的情况下,您应该变身为极端主义者。您希望在第一次尝试时就抓住这些攻击者并将其锁定。