说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导。该部署安全规范内容充实,对于部署有很大意义。同时也涉及到了许多web前端应用安全的基本知识,如
CSP
,TOKEN
,HTTPS
,COOKIES
等,对于前端来说了解安全规范相关知识是十分有必要的,尤其是COOKIE
以及CSP
。
原文地址:https://infosec.mozilla.org/guidelines/web_security,以下是翻译内容:
web 安全速查表
本文档的目的在于帮助运维团队构建安全的web应用。所有Mozilla站点和部署应用都应当遵循以下建议,同时也我们也非常鼓励其他开发者遵循这些建议。本文档作为参考指南,由企业信息安全小组(Infosec)维护。
指导 | 安全收益 | 部署难度 | 优先级 | 需求† | 备注 |
---|---|---|---|---|---|
HTTPS | 最高 | 中 | 强制 | 所有通信站点都应该使用https或者其他安全协议 | |
Public Key Pinning | 低 | 最高 | -- | 对于存在高风险的站点来说是强制的 | 不适用所有站点 |
Redirections from HTTP | 最高 | 低 | 3 | 强制 | web站点必须重定向到https,api接口则需要完全禁用http |
Resource Loading | 最高 | 低 | 2 | 强制 | 所有主动或者被动资源,都应该通过使用TLS的协议来加载,例如https |
Strict Transport Security | 高 | 低 | 4 | 强制 | 最小设置过期时间为六个月 |
TLS Configuration | 中 | 中 | 1 | 强制 | 为你的站点使用最安全的TLS配置 |
Content Security Policy | 高 | 高 | 10 | 新部署的站点:强制已经存在的站点:推荐 | 禁用行内脚本是CSP首先考虑。 |
Cookies | 高 | 中 | 7 | 新部署的站点:强制已经存在的站点:推荐 | 所有的cookie必须带有secure标识,并且尽可能地限定其作用域 |
contribute.json | 低 | 低 | 9 | 新部署的站点:强制已经存在的站点:推荐 | Mozilla站点应当部署contribute.json文件,并且保持其持续更新 |
Cross-origin Resource Sharing | 高 | 低 | 11 | 强制 | 除非有特殊要求,否则文件不应该允许被共享 |
Cross-site Request Forgery Tokenization | 高 | 位置 | 6 | 看情况 | 对于允许毁坏性变化的站点来说是强制的。其他站点则是非必须的,大多数应用程序框架内嵌了CSRF tokenization基础之上,有易于部署 |
Referrer Policy | 低 | 低 | 12 | 推荐 | 提高用户隐私安全,防止内部URL信息通过引用消息头被泄露 |
robots.txt | 低 | 低 | 14 | 可选 | 方式部采用了robot.txt文件的web站点,都应当根据备注中的提示目的。 |
Subresource Integrity | 中 | 中 | 15 | 推荐 | 值推荐给那些加载了外域资源的web站点 |
X-Content-Type-Options | 低 | 低 | 8 | 推荐 | 站点提供的所有资源,都应该确保设置了适当的MIME 类型 |
X-Frame-Options | 高 | 低 | 5 | 强制 | 未使用 DENY or SAMEORIGIN的web站点,必须使用点击劫持防御 |
X-XSS-Protection | 低 | 中 | 13 | 新部署的站点:强制已经存在的站点:推荐 | 现存站点在部署之前,请确保都经过了手动的测试。 |
†符号表示管理员部署web安全指南的优先级。它从操作和部署的角度触发,综合考虑了安全性和易用性。
Transport Layer Security (TLS/SSL) (传输层安全TLS/SSL)
传输层安全(TLS)为所有的Mozilla的内外通信的机密性,认证性和完整性提供的了保障。为了保护用户和网络系统,我们强制要求所有系统支持和使用TSL加密通信系统。
HTTPS
1.web站点或者应用程序接口(api),与现代浏览器或者系统进行通讯,应当使Mozilla modern TLS configuration.
2.面向公众使用的web站点应当使用Mozilla intermediate TLS configuration.
3.需要向后兼容很老的浏览器或者系统的站点,应当使用Mozilla backwards compatible TLS configuration. 这些配置并非建议,向后兼容性的标准应当在记录在你的风险评估当中。
Compatibility(兼容性)
机器配置 | 需要可兼容的最旧客户端 |
---|---|
高 | Firefox 27, Chrome 22, Internet Explorer 11, Opera 14, Safari 7, Android 4.4, Java 8 |
中 | Firefox 1, Chrome 1, Internet Explorer 7, Opera 5, Safari 1, Internet Explorer 8 (XP), Android 2.3, Java 7 |
低 | Internet Explorer 6 (XP), Java 6 |
See Also(其他文档)
-
Mozilla Server Side TLS Configuration Generator - generates software configurations for the three levels of compatibility
博文已经迁移至新地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)