zoukankan      html  css  js  c++  java
  • Nginx+iptables 防DDOS,恶意访问,采集器

    Nginx+iptables 防DDOS,恶意访问,采集器

    通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx

    脚本如下:

    #!/bin/sh
    nginx_home = /Data/app_1/nginx
    log_path = /Data/logs
    /usr/bin/tail -n50000 $log_path/access.log \
    |awk ‘$8 ~/aspx/{print $2,$13}’ \
    |grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
    |awk ‘{print $1}’|sort|uniq -c |sort -rn \
    |awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
    /bin/kill -HUP `cat $nginx_home/nginx.pid`

    也可以通过分析nginx日志过滤出频繁访问IP,直接用iptables屏蔽这个IP,就用不着重启nginx了,并且屏蔽效果更好。

    单个IP的命令是
    iptables -I INPUT -s 124.115.0.199 -j DROP

    封IP段的命令是
    iptables -I INPUT -s 124.115.0.0/16 -j DROP

    封整个段的命令是
    iptables -I INPUT -s 194.42.0.0/8 -j DROP

    封几个段的命令是
    iptables -I INPUT -s 61.37.80.0/24 -j DROP
    iptables -I INPUT -s 61.37.81.0/24 -j DROP

    刚才不小心搞的自己都连不上了-_-!!!

    iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

    以后用这种只封80端口就行了,不会出问题!

    iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP
    iptables -I INPUT -s 61.37.81.0/24 -j DROP

    解封
    iptables -F

    清空
    iptables -D INPUT 数字
     
    ___________________________________
     
    #!/bin/sh
    nginx_home = /usr/local/nginx
    log_path = /home/wwwroot/logs
    /usr/bin/tail -n50000 $log_path/access.log \
    |awk ‘$8 ~/aspx/{print $2,$13}’ \
    |grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
    |awk ‘{print $1}’|sort|uniq -c |sort -rn \
    |awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
    /bin/kill -HUP `cat $nginx_home/nginx.pid`
  • 相关阅读:
    excel成绩统计公式
    freebsd Cacti
    图片处理程序
    php 图片水印+文字水印函数,但是不能设置透明
    PHP计算两个时间之差的函数(年,月,周,日,小时,分钟,秒数)
    php图片水印(可以设置透明度)
    使用函数递归实现基于PHP和MySQL的动态树型菜单[转]
    PHP实现MYSQL备份
    FreeBSD备忘录转载
    超级简单但超级实用的 PHP 的 mysql 类
  • 原文地址:https://www.cnblogs.com/wenus/p/1825199.html
Copyright © 2011-2022 走看看