Nginx安全设置有哪些要点
导读:Nginx 安全设置要点 一 运行身份与最小权限 以非 root用户运行 Nginx 工作进程,避免进程被攻破后直接获取系统最高权限。部署时可在编译阶段指定运行用户,或在 systemd 服务中设置,例如:User=nginx。同时,确保...
Nginx 安全设置要点
一 运行身份与最小权限
- 以非 root用户运行 Nginx 工作进程,避免进程被攻破后直接获取系统最高权限。部署时可在编译阶段指定运行用户,或在 systemd 服务中设置,例如:User=nginx。同时,确保 Nginx 配置文件、证书和密钥的权限最小化,仅对必要用户可读。示例检查命令:
systemctl cat nginx.service | grep User。
二 隐藏版本信息与错误页
- 关闭版本暴露:在 http 块设置 server_tokens off; ,避免响应头与错误页泄露 Nginx 版本与内部信息。
- 定制错误页面:为 4xx/5xx 配置统一的错误页面(如 /50x.html、/4xx.html),并在 location 中仅提供必要静态资源,避免泄露目录结构或服务器细节。
三 请求方法与访问控制
- 禁用不必要的 HTTP 方法:对静态站点或仅使用 GET/POST/HEAD 的业务,限制 PUT、DELETE、TRACE、OPTIONS 等。示例:
- 全局限制:
limit_except GET POST HEAD { deny all; } - 按方法返回 403:
if ($request_method = PUT) { return 403; }
- 全局限制:
- 基于 IP 白名单/黑名单 的访问控制:对管理后台等敏感路径限制来源网段,必要时叠加认证。
- 基于 HTTP Basic Auth 的访问控制:为敏感资源增加用户名/密码校验,提升拦截能力。
四 速率与连接限制
- 限制并发连接数:使用 limit_conn_zone 与 limit_conn 控制单源 IP 的连接占用,缓解连接耗尽型攻击。
- 限制请求速率:使用 limit_req_zone 与 limit_req 控制单源 IP 的 QPS,设置 burst 与 nodelay 平滑突发流量,抵御简单 DoS/CC。示例:
- 连接:
limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 100; - 请求:
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=10r/s; limit_req zone=req_zone burst=20 nodelay;
- 连接:
- 反向代理场景可结合上游限流与排队策略,保护后端服务稳定性。
五 传输加密与安全头
- 启用 HTTPS 并强制跳转:监听 443 ssl,证书路径配置正确;对 HTTP 请求返回 301 跳转至 HTTPS。
- 优化 TLS 参数:仅启用 TLSv1.2/TLSv1.3,开启 ssl_prefer_server_ciphers on; ,禁用不安全协议与弱套件。
- 部署关键安全头:
- Strict-Transport-Security:
add_header Strict-Transport-Security "max-age=31536000" always; - X-Frame-Options:
add_header X-Frame-Options "SAMEORIGIN"; - X-XSS-Protection:
add_header X-XSS-Protection "1; mode=block"; - X-Content-Type-Options:
add_header X-Content-Type-Options "nosniff"; - Referrer-Policy:
add_header Referrer-Policy "strict-origin-when-cross-origin"; - Content-Security-Policy:按站点策略配置,示例
default-src 'self';(请结合实际调整)。
- Strict-Transport-Security:
六 运维与加固清单
- 系统与软件更新:保持 Nginx 与操作系统补丁为最新,及时修复已知漏洞。
- 防火墙与端口管控:仅开放 80/443(以及必要的 22/管理端口),使用 UFW/firewalld/iptables 实施最小暴露面。
- 构建最小化功能集:编译时禁用不需要的模块(如 autoindex),减少攻击面。
- 配置审计与 WAF:使用 Gixy 等工具检查常见错误配置;在需要时引入 ModSecurity 等 WAF 能力增强应用层防护。
- 日志与监控:开启并集中访问与错误日志,结合告警策略监测异常流量、扫描与暴力访问。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Nginx安全设置有哪些要点
本文地址: https://pptw.com/jishu/755383.html
