我已经在基于 CentOS 的 Linux 服务器上部署了 WP 项目。
我遇到了来自随机 IP 地址的异常流量(爬行),因此导致服务器负载非常高(高达平均负载 200)。
是否有可能在服务器上自动检测此类请求并暂时阻止该 IP?
我的意思是,如果服务器在一秒钟内发现来自同一 IP 的 100 个请求,它应该阻止该 IP。
请指导。
答案1
是的,它存在并且被称为fail2ban:
www.fail2ban.org
编辑:让我将包含详细解决方案的 URL 从评论复制到这里:
谢谢@Pit
答案2
我们在公司中使用专门用于All-In-One WP Security
此任务的 Web 应用程序防火墙插件。
https://wordpress.org/plugins/all-in-one-wp-security-and-firewall/
我认为这绝对是一定有适用于每个 WordPress 网站(无论是此插件还是任何其他具有高安全标准的安全插件)。我们的 WP 网站遭受过暴力攻击,但能够使用此插件最大限度地保护我们的网站。除了 IP 阻止之外,您还可以使用此插件设置许多其他安全选项,例如.htaccess
限制、黑名单功能、文件系统安全选项、防火墙功能、恶意软件扫描等等。
答案3
您可以通过检查 apache 日志手动阻止 IP 地址。您可以在 apache 的配置路径中检查日志位置。
root@ping# vi /etc/httpd/conf/httpd.conf
搜索错误日志在此文件中。
我的服务器上安装了 WHM,因此在我的情况下日志位于下面定义的路径
root@ping# tail -f /usr/local/apache/logs/error_log
搜索持续请求的IP并通过iptables阻止该IP地址。
Iptables 命令永久阻止 IP 地址
root@ping# iptables -I INPUT -s 1.2.3.4 -j DROP
在1.2.3.4处添加自己的IP