Jon*_*n M 7 iptables rhel5 apache-2.2
每隔几周我们就会遇到一个问题,即单个 IP 地址同时打开大量 Apache 进程。
它似乎每次都连接到类似的页面,但我们的 Apache 进程从正常的 ~20-25 个繁忙插槽变为最大 (256)。
然后这个 IP 地址不断刷新所有请求,增加我们服务器上的负载并显着降低站点速度。
每个实例的解决方案都很简单;我从 Apache“服务器状态”中找出 IP,并使用 IP 表规则阻止 IP。
不幸的是,IP 地址每次都会更改(它总是相似的,并且当我查找主机时说“bt openworld”),而且我无法 24/7 全天候登录并添加 IP 表规则。
需要明确的是,我们可以毫无问题地处理来自 Google 和其他搜索引擎的抓取,我不确定我们所遇到的是否是恶意的。
我怎样才能限制这种影响?
我们的设置是一个同时处理 MySQL 和 Apache 的服务器。
我被告知负载平衡器是对来自单个(但每次攻击都会改变)IP 地址的连接数进行速率限制的唯一方法。
也许这样的事情会有所帮助。它将阻止任何在 2 分钟(180 秒)内打开超过 150 个连接的主机:
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 180 --hitcount 150 -j REJECT
Run Code Online (Sandbox Code Playgroud)
您必须调整脚本,以便普通用户永远不会被阻止
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |