零信网站安全体检评级服务评级指南V1.0, 2022年 6 月 1日

一个网站不部署SSL证书,则所有浏览器都提示为“不安全”。但是,部署了SSL证书不等于已经安全了,网站安全至少有三个基本要素,一是https加密,二是WAF防护,三是可信身份认证,三者缺一不可。这就是为何零信浏览器的UI创新显示三个安全相关图标:加密  waf  t4 ,不仅有加密锁标识,而且增加显示云WAF防护标识和网站身份认证级别标识。

用户点击加密锁标识就可以显示网站安全体检评级的级别,让网站访问者快速了解网站的安全状况,包括SSL证书部署是否有安全漏洞、网站是否有云WAF防护和网站身份是否已认证,同时帮助网站业主了解自己的网站的安全状况,及时采取相应的安全措施来保障网站安全。

为了提升网站安全水平,零信浏览器免费提供了网站安全体检评级服务,本评级指南的SSL安全体检部分参考了Qualys SSL Labs的体检指南,增加支持国密SM2算法和国密SSL证书的体检,使网站管理员无需成为 SSL 专家即可自信地评估RSA/ECC/SM2三个算法的SSL证书部署安全状况,及时发现安全漏洞并及时修复。同时,增加了网站是否采用了云WAF防护服务,采用的是哪家云WAF服务提供商的服务,以及增加了网站身份是否已认证。零信网站安全体检评级服务从这三个方面来综合评估一个网站的安全状况,力争做到完整、全面、公平、公正。

一、方法论概述

我们的评级方法包括四个步骤:

  • 首先检查网站是否部署了零信浏览器信任的SSL证书(包括RSA/ECC SSL证书和国密SM2 SSL证书),如果没有部署,就会同所有浏览器一样提示“不安全”,也就不参与安全评级了。
  • 对于已经部署了零信浏览器信任的SSL证书的网站,则首先从SSL证书、协议支持、密钥交换、密码强度等四个维度来对SSL证书的部署做一个全面的体检打分,这部分打分占总分的60%,因为网站部署SSL证书是安全的基础。
  • 接着检查网站是否采用了云WAF防护,有WAF防护的占总分的20%,因为一个没有云WAF防护网站是无法保证网站安全的,各种网站攻击,如被植入木马、网页被篡改或者被SQL注入等安全问题已经成为网站安全的普遍危害。如果网站使用了零信浏览器信任的云WAF服务,则得分20分,将来我们将引进一个第三方的云WAF防护性能评级,并根据这个评级结果给与不同的得分。
  • 第三个检查就是网站身份认证,这一项占总分的20分,因为一个没有通过可信认证的假冒网站一样可以部署SSL证书和一样有云WAF防护,只有通过可信身份认证的网站才是可信的网站。体检系统将检查网站是否部署了零信浏览器信任的已验证身份的SSL证书,包括IV SSL证书、OV SSL证书和EV SSL证书。如果部署的是没有验证网站身份的DV SSL证书,则检查网站是否依据通过了零信浏览器信任的网站可信认证,包括IV认证、OV认证和EV认证。网站可信认证服务由零信浏览器提供,并支持零信浏览器信任的根CA机构提供的网站可信认证数据。通过认证的网站分别得分:IV认证:10分、 OV认证:15分、EV认证:20分。

我们将3个打分项分数组合成一个总体分数(表示为 0 到 100 之间的数字),按照得分得出评级等级:A、B、C、D、E、F。我们再应用一系列规则来微调评级等级,如A调整为A+,以奖励某个出色的配置,也有可能把A调整为A-,以示注意某个稍有欠缺的配置。

表1. 字母等级与得分的对应表

得分
>= 95
>= 80
>= 70
>= 60
>= 50
>= 40
>= 30
< 30
等级
A+
A
B+
B
C
D
E
F

二、本指南未涵盖的内容

我们的近期目标是关注那些可以自动化实现的评估指标,这样就可以快速实现大规模范围的网站安全部署评估,所以,我们专注于自动化评估,而不去寻找某些需要人工评估的安全问题。

三、用户必须了解的其他问题

1. 合格的评级应该是多少?

B 级,也就是及格的 60 分,这是网站安全的最低要求。不同用途的网站对安全的要求是不同的,政务网站、银行网站、电商网站,至少应该是 A 级。

选购了零信网站安全云服务的用户,无论是国际SSL证书安全体检还是国密SSL证书体检,我们都能保证体检评级为A+,这不是我们自己给自己打高分,国际SSL证书体检评级结果基本上同Qualys SSL Labs的评级结果,而国密SSL证书安全体检得分则参考其标准打分。

2. 网站仅部署SSL证书够用吗?

不够用。一个重要的网址没有部署SSL证书肯定是不安全的,但仅部署SSL证书是不够的,部署SSL证书实现https传输加密只处理了网站安全的一个方面,即网站与其用户之间的通信通道的安全,https没有也无法解决网站上可能存在的许多可能的安全问题,如各种攻击,只能将SSL 视为网站安全的基础,但仅有此基础是不够的。网站还需要云WAF防护,还需要网站可信身份认证。

四、各打分项评估标准

1. SSL体检项

SSL体检项从SSL证书、协议支持、密钥交换、密码强度等四个维度来对SSL证书的部署做一个全面的体检打分,这个体检项占总分的60%。而本项中的满分按照SSL证书占60分,其他三个维度占40分来打分。

1.1 SSL证书

实现https加密的必须是必须有SSL证书,所以,SSL证书本身的安全是安全体检中最关键的一个环节,占4个打分项的比重为 60%。网站部署不受信任的SSL证书无法防止SSL中间人 (MITM) 攻击,并使https加密实际上无效。而其他方式不正确的证书使用(例如,证书已过期、证书被吊销等)都会侵蚀安全和信任,并且会危害整个互联网的安全。

有鉴如此,以下任何证书问题都会导致这一打分项为0分,浏览器显示为“不安全”,不会显示体检评级结果。

  • 域名不匹配
  • 证书尚未生效
  • 证书过期
  • 使用自签名证书
  • 使用不受信任的证书(未知 CA 或其他一些验证错误)
  • 使用已吊销的证书
  • 不安全的证书签名(MD5 或 SHA1)
  • 不安全的密钥

其他检查还有如下8项:

  • 用户证书和中级根证书是否有AIA信息,评分:15分
  • 用户证书是否有身份认证标识OID,评分:10分
  • 用户证书中是否有指向认证业务规则的证书策略网址(颁发者说明),评分:10分
  • 用户证书和中级根证书是否有增强密钥用法,评分:5分
  • 用户证书和中级根证书是否有CRL和/或OCSP网址,并且是否可用,评分:15分
  • 是否在服务器同时部署了签发证书的中级根证书,评分:10分
  • 证书是否含有证书透明日志数据,评分:10分
  • 域名是否设置了DNS CAA记录(CA授权) ,评分:5分
  • 证书类型:DV SSL、IV SSL、OV SSL和EV SSL,评分:20分,分别为5分、10分、15分和20分
请注意:
  • 一些单位创建自己的私有CA签发SSL证书,这种做法建议仅限于内部使用,而不用于公众访问的网站。同时,也需要确保这些SSL证书的技术指标能满足基线标准,这样才能真正保障内部系统的安全。
  • 本版本的体检服务中提示“使用不受信任的证书”的问题,对于RSA/ECC算法SSL证书,是指签发证书的根证书没有预置信任到开源的Chromium中。对于SM2算法SSL证书,是指零信浏览器信任的根证书。

1.2. Web服务器配置

SSL/TLS是一种复杂的混合协议,支持跨多个操作阶段的许多功能。考虑到复杂性,我们将 Web服务器配置打分项分为三项:协议支持、密钥交换、密码强度,合计占SSL体检项的 40%,而这三个子项分别占30分、30分和40分。

1.2.1 协议支持

对于SSL/TLS协议,SSL 2.0、SSL 3.0、TLS 1.0、TLS 1.1 都有已知安全缺陷,分别打分0分、80分、90分、95分,而TLS 1.2 和1.3协议为安全协议,都是100分。如果Web服务器支持多种协议,则总分为最高分和最低分之和除以2。对于国密SSL协议,此项得分100分。

1.2.2 密钥交换

密钥交换阶段有两个功能。一种是执行身份验证,允许至少一方验证另一方的身份。另一个是确保安全生成和交换会话密钥。密钥交换阶段的安全漏洞以两种方式影响会话:

  • 无需身份验证的密钥交换使得攻击者能执行 MITM 攻击,获得对完整通信通道的访问权限。
  • 大多数服务器依赖公共密码学进行密钥交换。因此。服务器的私钥越强,越难破解密钥交换阶段。弱密钥或仅使用部分密钥的交换过程(所谓的可导出密钥交换)可能导致弱密钥交换阶段,从而使每个会话的密钥更容易被泄露。一些服务器使用不依赖于私钥的密钥交换机制(密钥仍用于身份验证)。两种流行的算法是短暂的 Diffie-Hellman 密钥交换 (DHE) 及其椭圆加密变体 ECDHE。如果使用单独的密钥交换机制,整体强度将取决于其强度和私钥的强度。

表2. 密钥交换评级得分表

密钥交换方式
得分
弱密钥(Debian OpenSSL 缺陷)
0
匿名密钥交换(无身份验证)
0
密钥或 DH 参数强度 < 512 位
20
可导出的密钥交换(仅512 位)
40
密钥或 DH 参数强度 < 1024 位(例如,512)
40
密钥或 DH 参数强度 < 2048 位(例如,1024)
80
密钥或 DH 参数强度 < 4096 位(例如,2048)
90
密钥或 DH 参数强度 >= 4096 位(例如,4096)
100
SM2
100
请注意:

对于依赖 DHE 或 ECDHE 密钥交换的套件,在确定整体握手强度时会考虑 DH 参数的强度。许多支持 DHE 的服务器使用提供 1024 位安全性的 DH 参数。在这样的服务器上,密钥交换的强度永远不会超过 1024 位,即使私钥更强(通常是 2048 位)。

1.2.3 密码强度

为了破坏SSL通信会话,攻击者可以尝试破坏用于大部分通信的对称密码。更强的密码允许更强的加密,从而增加破解的难度。如果Web服务器支持不同强度的密码,则总分为最强密码的得分和最弱密码的得分之和除以2。

表3. 密码强度评级得分表

密钥长度
得分
0 位(无加密)
0
< 128 位(例如,40、56)
20
< 256 位(例如,128、168)
80
>= 256 位(例如,256)
100

2. WAF体检项

网站安全的第二个元素是云WAF防护,这个体检项占总分的20%,因为一个没有云WAF防护网站是无法保证网站安全的,各种网站攻击,如被植入木马、网页被篡改或者被SQL注入等安全问题已经成为网站安全的普遍危害。如果网站使用了零信浏览器信任的云WAF防护服务,则得分20分,将来我们将引进一个第三方的云WAF防护性能评级,并根据这个评级结果给与不同的服务得分。

本版本WAF体检信任的云WAF服务提供商共有19家,基本上涵盖了目前主流服务提供商,具体名单如下:

  • 国内云WAF服务提供商:阿里云WAF、华为云WAF、腾讯云WAF、京东云WAF、天翼云WAF、奇安信云WAF、安恒云WAF、创宇盾云WAF、白山云WAF。
  • 国外云WAF服务提供商:Cloudflare云 WAF、微软云WAF、亚马逊云WAF、Akamai云 WAF、Imperva云WAF、防特网云WAF、Fastly云WAF, Barracuda云WAF, F5云WAF, Radware云WAF。

3. 网站可信认证体检项

网站安全的第三个元素是网站是否通过的第三方可信身份认证,这个体检项占总分的20%,因为一个没有通过可信身份认证的假冒网站一样可以部署SSL证书和一样有云WAF防护,只有通过可信身份认证的网站才是可信的网站。

此项体检信任的网站可信身份有3个来源,一个是网站部署了零信浏览器信任的已验证身份的SSL证书,包括IV SSL证书、OV SSL证书和EV SSL证书,能证明网站身份已认证,分别得分10分、15分和20分。第二个来源是网站申请了零信网站可信认证,这与网站部署了什么类型的SSL证书无关,通过IV认证得分10分,OV认证得分15分,EV认证得分20分。第三个来源是由零信浏览器信任的根CA机构完成的网站可信认证,其认证信息通过接口提交给零信可信网站数据库,一样可以获得相应的分数。

如果用户申请了网站可信认证服务,则该网站的身份认证级别以此认证级别为准,与网站部署了何种SSL证书无关。