目录

SEnginx安全相关模块配置说明

SEnginx配置指南

简介

SEnginx是基于Nginx的Web应用防护模块,提供SQL注入/XSS/CC攻击等防护功能。官方主页:SEnginx官网

配置详解

全局配置

http {
    # 定义10MB内存用于访问统计
    statistics_zone 10m; 

    # IP黑名单配置
    ip_blacklist on;
    ip_blacklist_size 10240;
    ip_blacklist_timeout 120;
    ip_blacklist_mode local;

    # 限流配置(令牌桶算法)
    limit_req_zone $binary_remote_addr zone=mudoom:10m rate=10r/s;

    # 行为识别配置
    ip_behavior_zone zone=brand:10m sample_base=10 sample_cycle=2s;

    # IP白名单定义
    geo $ip_wl {
        ranges;
        default 0;
        127.0.0.1-127.0.0.1 1;
    }

    # UA白名单定义
    whitelist_ua $ua_wl {
        caseless;
        "Baiduspider" ".*\\.baidu\\.com";
        "Googlebot" ".*\\.google\\.com";
        # ...其他UA规则
    }
}

Server配置

server {
    # 虚拟主机配置
    virtual_server_name www.mudoom.cn;
    ip_behavior zone=brand type=sensitive_url;

    # 机器人防护配置
    location @process {
        robot_mitigation_global_whitelist ua_var_name=ua_wl ip_var_name=ip_wl;
        robot_mitigation on;
        robot_mitigation_mode js;
        robot_mitigation_blacklist 50;
        robot_mitigation_timeout 600;
    }

    # 管理接口配置
    location /blacklist_show {
        allow 127.0.0.1;
        deny all;
        ip_blacklist_show;
    }

    # 安全防护location
    location /mudoom {
        ip_behavior_sensitive;
        limit_req zone=mudoom burst=100 forbid_action=@process;

        # Cookie防护配置
        cookie_poisoning_whitelist ua_var_name=ua_wl ip_var_name=ip_wl;
        cookie_poisoning off;
        cookie_poisoning_action block,blacklist,5;

        # Naxsi规则配置
        naxsi_whitelist ua_var_name=ua_wl ip_var_name=ip_wl;
        LearningMode;
        DeniedUrl "/RequestDenied";
        CheckRule "$XSS >= 4" BLOCK;
        CheckRule "$SQL >= 8" BLOCK;
    }
}

统计变量说明

变量名 说明 变量名 说明
traffic 总访问量统计 attack 攻击总次数
cur_req 当前请求数 sql SQL注入攻击次数
req 总响应请求数 xss XSS攻击次数
res_2xx 2xx响应次数 rfi 远程文件包含次数
res_3xx 3xx响应次数 dt 目录穿越攻击次数
res_4xx 4xx响应次数 evade 规避攻击次数
res_5xx 5xx响应次数 fu 文件上传攻击次数
sent 发送数据总量(Byte) cp Cookie篡改次数
recvd 接收数据总量(Byte) wd 网页篡改次数
rm 机器人挑战触发次数 other 其他类型攻击次数

注意事项

  1. 统计持久化:所有统计信息保存在内存中,Nginx重启后数据会清零
  2. 安全配置:管理接口(如/blacklist_show)必须限制为内网访问
  3. 规则更新:Naxsi规则需定期更新以应对新型攻击
  4. 性能调优:根据实际流量调整limit_req_zoneip_behavior_zone的内存大小

模块功能矩阵

功能模块 支持类型 防护级别
机器人缓解 JS挑战/验证码/工作量证明 高强度防护
请求限流 令牌桶算法 基础防护
行为分析 敏感URL识别/访问模式分析 智能防护
Web攻击防护 Naxsi规则引擎 专业级防护
Cookie防护 篡改检测/黑名单 中等防护
IP/UA黑白名单 正则匹配/DNS反向解析 基础控制

建议结合WAFPHP等应用层防护方案构建纵深防御体系,推荐参考《OWASP Top 10防护指南》进行配置优化。