实用安全实施指南
用户经常在网站上输入敏感数据,例如姓名、地址、密码和银行详细信息。作为一名 Web 开发人员,至关重要的是要保护这些信息免受恶意行为者的侵害,他们会利用各种漏洞来窃取这些信息并将其用于个人牟利。 Web 安全的重点是帮助您保护您的网站免受这些漏洞的侵害,并确保您用户敏感数据的安全。
此页面列出了总结了在网站上实现安全功能的一些最佳实践的指南。虽然这些指南并未涵盖所有可能的安全场景,也无法保证您网站的完全安全,但遵循这些指南中的信息和最佳实践将使您的网站更加安全。
HTTP 安全基础知识
本节中的指南总结了正确实现 HTTP 标头以缓解安全问题的最佳实践,并且直接与 HTTP Observatory 工具相关。
Observatory 对网站执行安全审计,并提供等级和分数以及修复其发现的安全问题的建议。这些指南解释了如何解决 HTTP Observatory 测试中暴露的问题:该工具为每个问题链接到相关的指南,帮助您走向有效的解决方案。值得注意的是,Mozilla 的内部开发团队在实现网站时会使用这些指南,以确保应用安全最佳实践。
下表中的指南按我们推荐实现其描述的安全功能的顺序排列。此顺序基于每个功能的安全影响以及从运营和开发角度来看其实现的难易程度。该表提供了有关每个功能的预期影响、实现难度、是否必需以及简要描述的信息。
| 指南 | 影响 | 难度 | 必需 | 描述 |
|---|---|---|---|---|
| TLS 配置 | Medium | Medium | 是 | 为您的用户群使用最安全的可用传输层安全 (TLS) 配置。 |
| TLS:资源加载 | 最大 | 低 | 是 | 通过 HTTPS 加载被动和主动资源。 |
| TLS:HTTP 重定向 | 最大 | 低 | 是 | 网站必须重定向到 HTTPS;API 端点应完全禁用 HTTP。 |
| TLS:HSTS 实现 | 高 | 低 | 是 | 通过使用 HTTP 严格传输安全 (HSTS),通知用户代理仅通过 HTTPS 连接到站点,即使原始选择的方案是 HTTP。 |
| 防范点击劫持 | 高 | 低 | 是 | 控制您的网站如何在 `<iframe>` 中进行框架设置,以防止点击劫持。 |
| 防范 CSRF | 高 | 未知 | 各不相同 | 防范跨站请求伪造 (CSRF) 攻击。 |
| 安全 Cookie 配置 | 高 | Medium | 是 | 尽可能严格地设置所有 cookie。 |
| CORP 实现 | 高 | Medium | 是 | 使用跨域资源策略 (CORP) 来防范推测性侧通道攻击。 |
| MIME 类型验证 | 低 | 低 | 否 | 验证您的所有网站是否都为所有资源设置了正确的 MIME 类型。 |
| CSP 实现 | 高 | 高 | 是 | 使用内容安全策略 (CSP) 来精细控制可以在站点上加载的代码以及它允许执行的操作,从而减轻跨站脚本 (XSS) 漏洞。 |
| CORS 配置 | 高 | 低 | 是 | 通过使用跨域资源共享 (CORS) 来定义允许访问页面内容并从其加载资源的非同源。 |
| Referrer Policy 配置 | 低 | 低 | 是 | 通过 `Referer` 标头改善用户隐私并防止泄露内部 URL。 |
| robots.txt 配置 | 低 | 低 | 否 | 通过指示机器人(例如搜索引擎索引器)不要抓取网站上的某些路径来告诉它们如何行为。 |
| SRI 实现 | 低 | 低 | 否 | 通过使用子资源完整性 (SRI) 来验证获取的资源(例如来自 CDN 的资源)是否在未被意外操纵的情况下交付。 |
用户信息安全
- 如何关闭表单自动填充
-
表单字段支持自动完成;也就是说,可以记住其值并在用户下次访问您的网站时自动填充。对于某些类型的数据,您可能希望禁用此功能;本文将介绍如何操作。