今天有一个童鞋,使用AB脚本来攻击小夜博客,算是小白级别的。写个教程,记录一下,如果再有同学问这个问,直接扔给他就行。
一、首先观测到对方是使用apachebech来攻击你。 这个查看nginx日志,非常明显。cat ssl.vpsmm.log 一片带有ab的ua
二、使用nginx设置,301掉所有ab过来的访问
if ($http_user_agent ~* ApacheBench ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}
三、设置脚本,每分钟自动执行 因为对方采用的是vultr的自动api,换IP太过频率,用个脚本。每分钟自动执行:
*/1 * * * /root/ab.sh
四、简单脚本,就4行如下:
cd /home/wwwlogs/ #进入nginx日志目录
cat ssl.vpsmm.log | grep 'ApacheBench' | awk '{print "iptables -I INPUT -s ", $1, "-j DROP"}'| sort -n | uniq | sh
#检索当前日志文件,查到有ApacheBench特征码的ip,全部ban掉
rm ssl.vpsmm.log #删除已经封掉ip的日志log
/etc/init.d/nginx reload #重载nginx,重新生成log文件,等待新ip进入