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

  • 相关阅读:
    云服务器配置
    linux云服务器的配置
    Python进阶练习与爬取豆瓣T250的影片相关信息
    实时爬取疫情动态变化并进行可视化展示
    python基础学习
    异步实现用户名的校验
    人月神话读书笔记(一)
    第三周学习进度博客
    CentOS7.4下编译Hadoop-2.7.6
    Linux 内存使用率
  • 原文地址:https://www.cnblogs.com/franjia/p/6703947.html
Copyright © 2011-2022 走看看