Nginx需通过模块协同实现等保合规:启用realip模块校验真实IP、自定义日志格式并用logrotate+Filebeat构建180天防篡改日志闭环、集成Naxsi实现主动WAF防护、用headers-more模块清除敏感响应头并添加安全头。

Nginx 本身不内置完整安全审计与防护功能,必须通过模块协同实现——核心是用对模块、配好逻辑、联动生效。光装模块不调策略,或只改日志格式不补字段,等保测评时依然会被一票否决。
启用 realip 模块保障真实 IP 审计可信
前端有 WAF、CDN 或 LB 时,$remote_addr 不可靠,$http_x_forwarded_for 可被伪造。必须启用 ngx_http_realip_module:
- 在 http 块中配置可信代理段:set_real_ip_from 10.0.0.0/8;(按实际填,如 192.168.10.0/24)
- 指定头字段与递归解析:real_ip_header X-Forwarded-For; 和 real_ip_recursive on;
- 日志中改用 $realip_remote_addr,它经过链路校验,比原始头更权威
- 禁用未受信头如 X-Real-IP,防止绕过
用 log_format + logrotate + Filebeat 构建合规日志闭环
等保三级要求日志留存 180 天、防篡改、字段完整。单靠 access_log 不够:
- 自定义日志格式必须含:$realip_remote_addr、$msec(毫秒级)、$request_uri(带参数)、$request_method $status $body_bytes_sent、$request_time $upstream_response_time、$http_referer $http_user_agent $upstream_addr
- 用 logrotate 切分并压缩日志,设置 maxage 180;配合 WORM 存储 或只读挂载防止覆盖
- 用 Filebeat 采集并打时间戳、哈希摘要,发往 SIEM 系统,满足“不可抵赖”要求
集成 Naxsi 实现应用层主动防御
Naxsi 是嵌入式 WAF 模块,不依赖外部服务,适合轻量级深度防护:
- 它采用“消极安全模型”:默认拦截可疑行为,按字符、关键字(如 ' ; union select)匹配并累加分数
- 需手动编写白名单规则(Whitelist Rules),适配业务接口参数,否则误拦率高
- 建议先开启学习模式(Learning Mode),记录正常流量特征,再切到拦截模式
- 配合 limit_req_zone 控制请求频次,形成“速率限流 + 载荷检测”双控
配合 headers-more 模块精控响应头防信息泄露
Server、X-Powered-By 等头泄露技术栈,是等保高频扣分项:
- 安装 headers-more-nginx-module 后,在 http 块中添加:more_clear_headers "Server" "X-Powered-By";
- 可选自定义:more_set_headers 'Server: Web-Gateway';,进一步混淆
- 同步配置安全头:add_header X-Frame-Options "DENY";、add_header Content-Security-Policy "default-src 'self'";、add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";


















