zoukankan      html  css  js  c++  java
  • nginx防攻击的简单配置

    主要通过两方案来做防护,一是nginx自带模块限制请求连接数和并发数;二是筛选IP加入黑名单;

    1、并发数和连接数控制的配置
        nginx http配置:
        #请求数量控制,每秒20个
        limit_req_zone $binary_remote_addr zone=one:10m rate=20r/s;
        #并发限制30个
        limit_conn_zone $binary_remote_addr zone=addr:10m;
        
        server块配置
        limit_req zone=one burst=5;
        limit_conn addr 30;


    2、根据nginx 访问日志记录发现可疑的或者不正常的访问记录记录然后自动添加到nginx的黑名单
    起到阻止的作用  可以作为防范少量的ddos攻击

    策略:根据nginx日志,最近5W条同一IP访问记录超过5000的加入黑名单禁止访问,每两小时执行一次

    示例脚本:
    #!/bin/bash
    acc_log=/usr/local/nginx/logs/uatpc.access.log
    blockip=/usr/local/nginx/conf/vhost/blockip.conf
    #最近50000条日志,同一IP超过5000的加入黑名单
    tail -n50000 ${acc_log} | awk '{print $1,$7,$9}'|grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou|360|bing|soso|403|api"|awk '{print $1}'|sort|uniq -c|sort -rn | awk '{if($1>5000)print "deny "$2";"}' >> ${blockip}

    #排除公司IP
    sed -i '/116.228.62.38/d' ${blockip}
    /usr/local/nginx/sbin/nginx -s reload

  • 相关阅读:
    八数码(BFS)
    食物链(并查集)
    最大异或对(Trie)
    解决espeak编译的一些问题
    AcWing 3779. 相等的和
    AcWing 3775. 数组补全(环图)
    AcWing 3728. 城市通电(最小生成树)
    AcWing 3727. 乘方相乘(进位制)
    tarjan
    LC刷题简要记录
  • 原文地址:https://www.cnblogs.com/franjia/p/6703947.html
Copyright © 2011-2022 走看看