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

  • 相关阅读:
    Day12:前端代码的合并和登录过程的完善
    Day11:基本界面的完成
    Day10:界面的跳转
    Day9:尝试连接绑定数据与API
    Day8:转战前端开发
    Day7:熟悉搭建服务器工具及配置
    Day6:完成API的列举设计
    day14
    day13
    day13
  • 原文地址:https://www.cnblogs.com/franjia/p/6703947.html
Copyright © 2011-2022 走看看