当前位置:   article > 正文

根据nginx日志,设置防火墙。防止恶意攻击。ipset_nginx 设置恶意访问

nginx 设置恶意访问

 有人恶意攻击我们服务器,可以根据nginx打印出来的访问日志ip,筛选出来访问量过大的ip,给他设置黑名单,设置防火墙,配置ipset,写一个脚本。

新建block_ip.sh

  1. #!/bin/bash
  2. #nginx的日志文件
  3. logfile=/var/log/nginx
  4. last_minutes=1
  5. #过滤出单位之间内的日志并统计最高ip数 一分钟超过两百条的过滤出来
  6. ip=`awk '{print $1}' $logfile/access.log |sort |uniq -c|sort -n | awk '{if($1>200)print $2}'`
  7. # 单位时间[1分钟]内单ip访问次数超过200次的ip通过ipset封锁
  8. echo "start-----------------------------------" >> /data/shell/log/blockip.log
  9. for line in $ip
  10. do
  11. echo "$line" >> /data/app/shell/log/blockip.log
  12. #设置黑名单 blacklist
  13. /usr/sbin/ipset add -exist blacklist $line
  14. #echo $line
  15. done
  16. echo "" > $logfile/access.log
  17. echo "" > $logfile/error.log
  18. echo "stop-----------------------------------" >> /data/shell/log/blockip.log

下面是配置黑名单,白名单的。 因为有些合作方需要回调我们接口。所以还需要加白名单,不能把人家禁止了,所以需要新增白名单

配置 开端口,开黑白名单

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/702621?site
推荐阅读
相关标签
  

闽ICP备14008679号