我的服务器受到 HTTP POST 攻击,我想将所有这些请求发送到 403,而不是让它们被 mod_security 捕获,以提高拒绝速度并减轻 Apache 的负担。这是目前通过 mod_security 发生的事情:
[Tue Jul 31 23:40:42 2012] [error] [client 24.201.202.189] ModSecurity: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/var/asl/rules/10_asl_rules.conf"] [line "63"] [id "390616"] [rev "2"] [msg "Atomicorp.com WAF Rules: POST request must have a Content-Length header"] [severity "WARNING"] [hostname "some-server.domain.com"] [uri "/index.php/1.0"] [unique_id "UBhQ2myulQkAADbaEm8AAACN"]
我正在尝试通过 mod_rewrite 将对 index.php 的任何访问发送到 403,但它似乎不起作用。我假设这些要么不适用于 POST,要么我遗漏了一些东西。这是我现在正在使用的:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^http://(www\.)?some-server\.domain\.com
RewriteRule ^index\.php$ [F]
服务器名称的结构与上面类似,但出于显而易见的原因,我已将其替换为一些通用名称。
任何人都可以通过 mod_rewrite 规则对此提供反馈以及我可能做错了什么吗?
谢谢!