我们收到来自特定 IP 范围 (192.168.0-255.0-255) 的 DDOS 攻击。在我们的 htaccess 文件中,我们试图将他们的请求转发到静态 HTML 文件,但只有一半的请求被阻止。有人明白为什么会这样吗?
RewriteCond %{REMOTE_ADDR} ^(10\.0\.0\.1|192\.168\.[0-9]{0,3}\.[0-9]{0,3})$
RewriteCond %{REQUEST_URI} [^/etc/blocked_ip.html]
RewriteRule ^(.*)$ /etc/blocked_ip.html [R=301,L]
我们的访问日志显示:
2014-06-27 11:59:03 192.168.20.232 - 1.2.3.4 443 GET /etc/blocked_ip.html ?
2014-06-27 11:59:08 192.168.20.231 - 1.2.3.4 443 GET /video/832
注意:我已将实际 IP 范围替换为私有(private)范围。
感谢您的任何建议。
最佳答案
其实你的重写条件是不正确的:
RewriteCond %{REQUEST_URI} [^/etc/blocked_ip.html]
可能你的意思是:
RewriteCond %{REQUEST_URI} !^/etc/blocked_ip\.html
您的规则可以缩短为:
RewriteCond %{REMOTE_ADDR} ^(10\.0\.0\.1|192\.168\.[0-9]{1,3}\.[0-9]{1,3})$
RewriteRule !^etc/blocked_ip\.html$ /etc/blocked_ip.html [R=301,L,NC]
还要确保这是您在 .htaccess 中的第一条规则。
关于linux - DDOS 模组重写 IP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452635/