从MDN文档到实战:Web安全防护的落地清单
MDN上的安全教程看了一堆,真到服务器上却不知道从哪下手。这篇把文档里的知识点翻译成可执行的运维动作,覆盖传输加密、访问控制、日志监控三个实操方向。
HTTPS只是起点,不是终点
MDN上关于Web安全的章节写得很清楚:传输层加密是基础。但很多站长以为上了SSL证书就安全了,实际上TLS配置不当照样被降级攻击。强制HSTS、禁用TLS 1.0/1.1、启用OCSP Stapling,这几步在Nginx里加几行配置就能搞定。
更关键的是证书管理。Let's Encrypt三个月一续,忘了续期直接红锁警告,用户跑光。建议用acme.sh自动续期,再加个监控告警,到期前七天发邮件。别问我怎么知道忘续期的痛的。
访问控制:最小权限不是口号
MDN反复强调同源策略和CORS,但落到服务器层面,很多人连基本的目录权限都没管好。上传目录给了执行权限,等于给攻击者留了后门。正确做法:
- 上传目录禁止PHP/Python执行,Nginx里加location规则
- 数据库账号只给必要库的权限,别用root连业务
- 后台管理路径改掉默认的/admin,加IP白名单
- API接口做频率限制,防止撞库和爬虫
这些动作不需要多高深的技术,但能挡掉80%的脚本小子。
日志和监控:出事了得知道谁干的
很多站长服务器被入侵了还不知道,等到搜索引擎标记「该网站可能被篡改」才反应过来。Web日志、系统日志、登录日志,至少保留30天。重点看几个信号:
- 短时间内大量404/403,可能是扫描器
- 凌晨异常登录,尤其是root
- 带宽突增但流量来源单一,大概率被CC
如果你用的是独立服务器,建议把日志集中到一个地方分析。秀米云的洛杉矶裸机云服务器VIII,E5双路+32G+100M带宽,性能足够跑日志分析和轻量监控,月付119刀,比单独买日志服务划算。
安全是持续动作,不是一次性配置
MDN的文档再好,也只是告诉你「应该怎么做」。真正落地需要把这些规范变成日常习惯:每周扫一次漏洞,每月换一次密码,每季度做一次恢复演练。安全没有银弹,但有清单。照着清单一条条勾,比出了事再救火强一百倍。