linux

Nginx安全防护怎么做有效

小樊
45
2025-08-12 00:36:50
栏目: 编程语言

以下是有效的Nginx安全防护措施:

  1. 基础安全加固

    • 隐藏版本号:server_tokens off;
    • 禁用非必要HTTP方法:limit_except GET POST { deny all; }
    • 限制敏感文件访问:location ~* \.(git|env|htaccess) { deny all; }
  2. HTTPS与加密配置

    • 强制HTTPS跳转:return 301 https://$host$request_uri;
    • 配置安全加密套件:ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384';
    • 启用HSTS:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
  3. 请求限制与防护

    • 限制请求速率:limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
    • 限制并发连接数:limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 100;
    • 防止缓冲区溢出:设置client_max_body_size 10m; client_body_buffer_size 1k;
  4. 安全头部增强

    • 防止点击劫持:add_header X-Frame-Options "SAMEORIGIN";
    • 启用XSS保护:add_header X-XSS-Protection "1; mode=block";
    • 控制内容类型:add_header X-Content-Type-Options "nosniff";
  5. 访问控制与监控

    • IP白名单/黑名单:allow 192.168.1.0/24; deny all;
    • 启用日志监控:分析/var/log/nginx/access.logerror.log,结合工具(如GoAccess、ELK)
    • 定期更新Nginx:修复漏洞,保持模块最新
  6. 高级防护(可选)

    • 部署WAF:如ModSecurity或商业WAF(Cloudflare)
    • 启用Fail2Ban:自动封禁暴力破解IP
    • SSL/TLS扫描验证:使用testssl.sh或SSL Labs测试配置

参考来源:

0
看了该问题的人还看了