参考资料

  1. nginx代理详细讲解
  2. 如何查看nginx主配置文件路径方式
  3. Nginx监控工具(Prometheus)配置详细说明以及案例
  4. Nginx教程,一看就懂,一学就会
  5. SCGI(Simple Common Gateway Interface,简单通用网关接口)详细说明以及案例
  6. Nginxserver_name 配置主机名称详细说明以及案例
  7. Nginx在负载均衡中的角色
  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;
        }
    }