Mozilla 网站安全分析工具 Observatory 已发布

阅读数:925 2016 年 9 月 5 日

话题:安全JavaScript最佳实践HTML5语言 & 开发

Mozilla 最近发布了一款名为Observatory的网站安全分析工具,意在鼓励开发者和系统管理员增强自己网站的安全配置。

该工具的用法非常简单:输入网站 URL,即可访问并分析网站 HTTP 标头,随后可针对网站安全性提供数字形式的分数和字母代表的安全级别。该工具可分析大量安全配置,取决于所发现问题的严重程度,会通过扣分的方式对分数进行修正。该工具检查的主要范围包括:

  • Cookie
  • 跨源资源共享(CORS)
  • 内容安全策略
  • HTTP 公钥固定(Public Key Pinning)
  • HTTP 严格传输安全
  • 重定向
  • 子资源完整性(Subresource Integrity)
  • X-Content-Type-Options
  • X-Frame-Options
  • X-XSS-Protection

根据 Mozilla 对评分细节的介绍,每个网站默认可得到 100 分,随后将根据具体配置扣分或加分:

所有网站的基准分为 100 分,以此为基础进行扣分或加分。最低分为 0 分,但最高分没有上限。目前 HTTP Observatory 可给出的理论最高分为 130。但是要注意,尽管用字母代表的安全等级范围和修正后的分数在本质上是随机的,但实际上这些评分源自业界专家的反馈,代表了某一网站通过测试或测试失败的可能性。

例如在 CORS 测试中,包含 CORS 标头但仅限于特定域名的网站不会因此被扣分,然而如果同一个网站在使用 CORS XML 文件的同时允许所有域名,将会扣掉 50 分,50 分是修正分中可以扣除的最大分值。

Observatory 由一个核心库,一个 CLI,以及一个 Web 界面组成。CLI 可供开发者将评分功能用脚本的方式纳入测试套件或部署逻辑中。对于只需要偶尔使用的用户,可以在Web 界面上输入网站地址并设置其他选项。该工具还可以调用其他安全分析工具,例如securityheaders.iohstspreload.appspot.com,借此提供更深入的检测分析。

在该工具的网站上,每个类别都提供了一个指向 Mozilla 相关话题文档的链接,开发者可以通过这个链接了解如何以更好的方式实现安全策略。Mozilla 提供的CORS 指南中称:

除非明确需要,否则不应出现 [CORS 信息]。此类信息的用例包括为 JavaScript/CSS 库和公开 API 端点提供托管的内容交付网络(CDN)等。如果使用了此类信息,必须将其锁定至特有功能必须要用的很少的几个源和资源上。

Observatory 网站本身在该工具中获得了 A+ 以及 120 分的成绩,而mozilla.org获得了 D+ 以及 40 分的成绩。该项目已开源并已发布至GitHub

查看英文原文Mozilla's Observatory Website Security Analysis Tool Available