Introducing the MDN HTTP Observatory title, with a pretty starry night sky background, a telescope, and a security shield

介绍 MDN HTTP 观察站

阅读时间 7 分钟

在其生命周期中,Mozilla 的 HTTP Observatory 工具已扫描了超过 690 万个网站,提供了有用的、可操作的见解,指导开发人员如何提高网络安全并保护他们的网站免受潜在攻击者的侵害。

HTTP Observatory 测试网站是否符合安全最佳实践,主要涉及 HTTP 标头的正确使用。扫描完成后,它会向用户提供一份报告,告知用户他们的网站表现如何,并附有总体分数和等级,以及指向文档的链接,解释如何改进他们的安全性。

今天,我们很高兴地宣布,HTTP Observatory 的新家是 MDN!这篇博文将简要介绍该工具的历史,我们如何走到今天,此次迁移对 Observatory 和 MDN 的意义,以及 Observatory 测试的内容。

立即查看 新的 HTTP Observatory

MDN HTTP Observatory 简史

2016 年,当时的 Mozilla 安全工程师 April King 宣布了 HTTP Observatory 工具的首次发布。HTTP Observatory 最初是作为一个内部测试工具,旨在帮助 Mozilla 开发人员将安全最佳实践应用于他们自己的网站,后来被打包成一个任何人都可以使用的网站,因为 April 沮丧地发现网络上很少有网站应用了这些最佳实践。

自那时以来,HTTP Observatory 的受欢迎程度激增,有超过 690 万个网站被扫描了总计 4700 万次!Mozilla 的基础设施安全团队定期维护该工具以改进服务,随着安全最佳实践和标准的更新而添加新测试,并随着旧技术的过时而移除相关的测试。

然而,这还不是全部故事。HTTP Observatory 的成功取决于两件事。

  • 首先,该网站将提高网站安全性的过程游戏化——每组测试结果都附有分数和等级,多年来,开发人员一直热衷于获得那有时难以实现的 A+ Observatory 评级!
  • 其次,HTTP Observatory 通过提供易于理解的反馈来帮助开发人员理解网站安全要求——这些要求通常相当晦涩难懂——并指导他们如何修复其十几个测试所突出显示的问题。相关的文档都可以在一个地方找到。

将 HTTP Observatory 迁移到 MDN

那么,是什么促使迁移到 MDN 呢?简而言之,MDN 和 HTTP Observatory 之间有着非常好的互补性——它们都以开发人员教育和改善互联网健康为核心驱动原则。

更长的答案是,HTTP Observatory 在网络和安全社区中是一个备受尊敬的工具,但它已经有一段时间没有进行重大更新了。Mozilla 认为该工具应该得到发展,并找到新的受众来受益于其中包含的安全知识。

MDN 是一个受欢迎的网站,拥有大量可以从中受益的网络开发人员受众,因此它似乎是一个完美的归宿。此外,我们的团队非常乐意更新该工具的用户界面、功能和文档,使其现代化并进行一些优化。此次更新是与 Mozilla 的基础设施和安全风险团队合作完成的;他们提供了专家建议,帮助我们自信地更新 HTTP Observatory 的测试和文档。

查看 MDN 上的 HTTP Observatory,以及随附的 实用安全实施指南

HTTP Observatory 测试什么内容?

HTTP Observatory 测试以下安全功能

常见问题解答

我应该实施所有建议吗?

是的,如果可能的话,你应该这样做。无法通过编程方式确定任何给定网站的风险级别。但是,即使您的网站风险不高,也仍然值得了解 Observatory 强调的防御性安全标准,并尽可能实施它们。

如果我获得 A+ 等级,是否意味着我的网站是安全的?

我们很想说任何获得 A+ Observatory 等级的网站都是完全安全的,但有许多我们无法测试的安全注意事项。Observatory 测试旨在防御 跨站脚本 (XSS) 攻击、中间人 (MiTM) 攻击、跨域信息泄露、不安全的 cookie内容分发网络 (CDN) 泄露以及证书颁发不当等。

但是,它不测试过时的软件版本、SQL 注入漏洞、易受攻击的内容管理系统插件、不正确的密码创建或存储等等。这些与 Observatory *确实* 测试的问题一样重要,网站运营商不应因在 Observatory 上得分高而忽略它们。

我可以扫描非网站,例如 API 端点吗?

HTTP Observatory 是为扫描网站而设计的,而不是 API 端点。它可以用于 API 端点,并且 Observatory 所期望的安全标头不应对仅返回数据(如 JSON 或 XML)的 API 造成任何负面影响。但是,结果可能无法准确反映 API 的安全状况。API 端点通常只能通过 HTTPS 访问。API 端点的推荐配置是

http
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'
Strict-Transport-Security: max-age=63072000
X-Content-Type-Options: nosniff

其他人能看到我的测试结果吗?

任何人都可以选择扫描任何域名,并且每个域名的扫描历史都是公开的。但是,HTTP Observatory 不会存储与每次扫描相关的用户数据。在旧版本的 HTTP Observatory 中,用户可以选择将扫描设置为“公开”或保持私有(默认),并且有一个“最近扫描”列表,其中列出了域名。“最近扫描”是用户可能希望选择退出的主要功能,但它不再受支持,因此现在没有理由提供“公开”标志。

迁移何时发生?

新的 HTTP Observatory 于 2024 年 7 月 2 日在 MDN 上发布。旧的 Mozilla Observatory——包括 HTTP Observatory 以及 TLS Observatory、SSH Observatory 和第三方测试等其他工具——已被弃用,并将于 2024 年 9 月停止使用。

注意:历史扫描数据已得到保留,并包含在每个域名的提供的扫描历史记录中。

迁移后有什么变化?

MDN 团队已

  • 更新了用户体验,以改善网站的外观并使其更易于使用。例如,测试结果突出显示的建议会一起显示,而不是一次显示一个。
  • 更新了配套文档,使其现代化并提高可读性。
  • 更改了“重新扫描”复选框及其底层机制
    • 不再有重新扫描参数。
    • 一个站点每 60 秒只能扫描一次并返回新结果。
    • 深度链接到报告中,如果先前的扫描数据早于 24 小时,则会触发重新扫描。
  • 更新了Cross-Origin-Resource-Policy (CORP) 测试。
    • 移除了过时的 X-XSS-Protection 测试。
    • 移除了过时的 Flash 和 Silverlight(clientaccesspolicy.xmlcrossdomain.xml)嵌入测试。
    • 添加了 Cross-Origin-Resource-Policy (CORP) 测试。
    • 更新了 Referrer-Policy 测试,以更新 referrer-policy-unsafe 的分数修改器并移除 referrer-policy-no-referrer-when-downgrade 的结果。

HTTP Observatory API 是否已更新以使用新测试?

尚未。API 将在一段时间内继续使用旧的测试基础设施,因此您会看到 API 和网站返回的测试分数之间存在一些细微差异。API 将在未来的迭代中更新以使用新测试。

新的 HTTP Observatory 是否提供特定的 TLS 和证书数据?

以前的 Observatory 网站包含特定的结果选项卡,其中包含 TLS 和证书分析数据。新的网站不包含这些,目前也没有计划包含这些功能:它侧重于 HTTP 数据。

(重定向) HTTP 重定向测试评估什么?

此测试正在检查您的 Web 服务器是否在进行任何进一步重定向之前,将其初始重定向从 HTTP 转换为 HTTPS(在同一主机名上)。这允许正确应用 HTTP Strict-Transport-Security (HSTS) 标头。

例如,此重定向顺序是正确的

http://example.comhttps://example.comhttps://www.example.com

不正确的(受到惩罚的)重定向如下所示

http://example.comhttps://www.example.com

(X-Frame-Options) 如果我希望允许我的网站被框架化,该怎么办?

只要您通过使用 Content-Security-Policyframe-ancestors 指令明确表达您的偏好,您将通过 X-Frame-Options 测试。例如,要允许您的网站被任何 HTTPS 网站框架化

http
Content-Security-Policy: frame-ancestors https:

动手试试

我们很乐意让您尝试 MDN 上的 HTTP Observatory!立即访问它,扫描您的网站,并填写我们的HTTP Observatory 调查,让我们知道您对这次体验的看法。

HTTP Observatory 的文档(在测试结果中链接)现在也位于 MDN 的实用安全实施指南部分。再次,请阅读它,并告诉我们如何改进。