针对用nginx防止ddos攻击策略

nginx防止ddos策略

1.脚本防御
使用ab进行压力测试,并通过脚本获取访问日志中访问量前3的IP地址
模拟20人发起2000次访问
ab -c 20 -n 2000 http://192.168.189.161/

  查询目前nginx日志中访问次数排行前3的IP地址
  awk '{print $1 }' /usr/local/nginx/logs/access.log  | sort | uniq -c | sort -nr | head -n 3

  将IP地址取出后使用iptables封锁即可!
  可以结合iptables 编写ddos防御脚本
  ---------------------------------------------------------------------
  #!/bin/bash
  ip=($(awk '{print $1 }' /usr/local/nginx/logs/access.log  | sort | uniq -c  | awk '$1>50{print $2}'))
  for i in ${ip[@]}
  do
    iptables -L -n | grep DROP | grep -q $i
    if [ $? -ne 0 ];then
  	    iptables -A INPUT -s $i -j DROP
  	fi
  done

猜你喜欢

转载自blog.csdn.net/weixin_54632015/article/details/112850407