配置审计与业务可用性之间如何平衡?
TOPIC SOURCE
安全运维运营手册:Nginx配置审计怎么做更稳
说实话,我刚开始做 Nginx 配置审计那会儿,干过一次特别糗的事:照着网上的加固教程一口气贴了一堆规则,感觉自己安全意识拉满,结果第二天同事找过来,说后台上传图片全挂了。那次之后我才想明白,配置审计最难的从来不是"查出问题",而是修的时候别把业务一起修没了。
后来我自己摸索出一个原则:安全和可用性的平衡,关键不是取舍,而是节奏。
先按风险排队,别一股脑全改
审计出来的问题通常一抓一大把,但威胁程度完全不一样。我现在会先问自己:这条影响的是账号安全、数据安全、服务器安全,还是只是流程不规范?凡是涉及高权限、敏感数据、公网入口的,当天就处理;剩下的排进一周、一个月的节奏里慢慢补齐。这样既不会拖延,也不会因为一次改太多而出事。
一次只改一组,改完立刻验证
这是我用教训换来的铁律。每次变更前先跑一遍 nginx -t、留好旧配置备份,然后一次只动一组规则,改完马上去点一遍真实业务路径:登录、后台、上传、搜索、评论、定时任务,一个都不能少。很多人喜欢改完看一眼首页没白屏就收工,结果某个功能悄悄挂了三天才发现。
还有个大坑是复制别人的 deny 规则不测兼容性,或者规则顺序写错导致根本没生效——看起来"已加固",实际在裸奔。所以我的验证清单里永远有两项:业务能不能正常用,规则是不是真的拦住了。
让每次变更都能回头
真正的平衡感,来自"可回滚"三个字。我会把每次改动的影响范围、处理动作、验证结果和复查日期简单记下来,哪怕只有几行。万一改出问题,几分钟就能回退,而不是半夜对着配置抓瞎。审计做得稳不稳,最终看的不是你堵了多少漏洞,而是业务在你手下有没有晃过一下。

参与讨论
风险排队确实重要,我之前也吃过亏