我的网站正受到恶意的botstream量的攻击,我一直试图在过去一周内干扰。 它出现在我的'other_vhost_access.log'中:
www.mywebsite.com:80 217.96.40.85 - - [01/Sep/2017:12:21:08 +0000] "HEAD http://xxx.xxx.xxx.xxx:80/phpmyadmin/ HTTP/1.1" 302 237 "-" "Mozilla/5.0 Jorgee ”
和:
www.mywebsite.com:80 173.208.148.218 - - [31/Aug/2017:09:32:10 +0000] "POST /FlashChat/upload.php HTTP/1.1" 302 523 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" www.mywebsite.com:80 173.208.148.218 - - [31/Aug/2017:09:32:11 +0000] "GET /FlashChat/temp/error.php HTTP/1.1" 302 531 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
我昨天以每30秒100次的速度发出了大约4000次这样的请求。 这很麻烦,因为TTFB发生了21秒(每次)。
我已经启用了Apache服务器状态,并且据我所知,资源没有被过度征税(cpu保持在1%以下,最多8个工作人员正在工作)。 但是即使刷新服务器状态页也是排队的。
我使用tls certs 运行一个EC2 t2微型实例。 我使用两个VirtualHost指令(一个到主站点,另一个到子域,在同一个文件中)将端口80到443的stream量转发。
我一直在网上尝试各种build议,但我不确定他们是否真的在继续攻击,随后是排队时间。
例如,豪尔赫请求我在我的.conf中:
IfModule mod_ssl.c> FileETag None TraceEnable off <IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" </IfModule> <Location "/"> SetEnvIfNoCase User-Agent "Mozilla/5.0 Jorgee" bad_bot Deny from env=bad_bot </Location>
这是我的.conf中的第一行。 通过https://www.hurl.it/ ,回应一个403.我认为这将彻底否认一个连接,但事实并非如此。
我也尝试使用iptables命令来限制每个IP的连接数量:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
运行sudo iptables -L显示以下内容:
ubuntu@ip-172-31-55-158:~$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: " REJECT tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN #conn src/32 > 5 reject-with tcp-reset Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
然而,我仍然在一分钟之内从同一个IP获得100多个请求。
我正在寻找使用apache和iptables来控制这些请求。 谢谢。
原来,我有一个冲突的logging(因为只能有一个主机:URLredirect,CName和Alogging)。 一旦我删除了冲突的logging,连接就能够快速解决,同时多人访问该网站。