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.io 和 hstspreload.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
评论