参考资料

  1. nginx 配置代理
  2. Nginx 启动、停止、重启、加载配置详细说明以及案例
  3. NginxMemcached缓存模块详细说明以及案例
  4. 如何配置Nginx用户认证?
  5. OpenResty编译安装详细说明以及案例
  6. 如何防止SQL注入和XSS攻击?
  7. NginxFastCGI模块配置详细说明以及案例
  8. nginx 防止各种攻击

如何结合WAF使用Nginx提高安全性?

  1. 安装Nginx和WAF模块

    • 安装Nginx

    • 添加ModSecurity模块(如LibModSecurity)

  2. 配置WAF规则

    • 使用OWASP核心规则集(CRS)

    • 示例配置片段:

      modsecurity_rules_file /etc/nginx/modsec/main.conf;
      modsecurity on;
  3. Nginx安全加固配置

    • 禁用服务器令牌:

      server_tokens off;
    • 设置安全头部:

      add_header X-Frame-Options "SAMEORIGIN";
      add_header X-Content-Type-Options "nosniff";
  4. 限制请求处理

    • 限制请求大小:

      client_max_body_size 10m;
    • 限制请求方法:

      if ($request_method !~ ^(GET|POST|HEAD)$) {
          return 444;
      }
  5. 日志监控

    • 配置ModSecurity审计日志:

      SecAuditLog /var/log/nginx/modsec_audit.log
  6. 示例完整配置

    server {
        listen 80;
        modsecurity on;
        modsecurity_rules_file /etc/nginx/modsec/main.conf;
        
        location / {
            proxy_pass http://backend;
            modsecurity_rules_file /etc/nginx/modsec/crs-setup.conf;
            modsecurity_rules_file /etc/nginx/modsec/rules/*.conf;
        }
    }