来自 https://wiki.vpsmm.com/nginx-apachebench/

一、首先观测到对方是使用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进入

标签:ApacheBench

你的评论