前 言
基于SSL/TLS的网站可以有效防止通讯过程中数据的泄密和被篡改,而过时的协议或有问题的配置会降低其安全性
SSL服务器评级指南(摘译自Qualys SSL实验室)
本指南旨在建立一种简单的评估方法,使管理员可以自信地评估SSL服务器配置,而无需成为SSL专家。
一.证书检查
服务器证书通常是SSL服务器配置的最薄弱环节。不受信任的证书(例如未由知名证书颁发机构签名,过期的,被吊销的)无法防止中间人(MITM)攻击致使SSL无效。
出于这些原因,以下任何证书问题都会立即导致零分:
- 域名不匹配
- 证书尚未生效
- 证书已过期
- 使用自签名证书
- 使用不受信任的证书(未知CA或其他一些验证错误)
- 使用已撤销的证书
- 不安全的证书签名(MD2或MD5)
- 不安全的密钥
注意
有些组织创建自己的(私有)CA证书,只要这些CA证书以安全的方式分发给所有需要它的人,则完全合法。
二.评分标准
类 别 | 占 比 |
---|---|
协议支持 | 30% |
密钥交换 | 30% |
密码强度 | 40% |
协议支持
首先是SSL服务器支持协议。
SSL 2.0和SSL 3.0都有已知的弱点。由于服务器可以支持多种协议,因此我们使用以下算法来得出最终得分:
- 从最佳协议的分数开始。
- 加上最差协议的分数。
- 将总数除以2。
协 议 | 得 分 |
---|---|
SSL 2.0 | 0% |
SSL 3.0 | 80% |
TLS 1.0 | 90% |
TLS 1.1 | 95% |
TLS 1.2/1.3 | 100% |
密钥交换
密钥交换阶段有两个功能。一种是执行身份验证,允许至少一方验证另一方的身份。另一种是确保安全生成和交换将在会话剩余时间内使用的密钥。
密钥交换阶段的弱点以三种方式影响会话:
- 无需身份验证的密钥交换允许主动攻击者执行MITM攻击,从而获得对完整通信信道的访问权限。
- 大多数服务器依靠非对称加密进行密钥交换。服务器的私钥越强,打破密钥交换阶段就越困难。弱密钥或仅使用密钥的一部分的交换过程可导致在交换阶段会话密钥更容易破译。
- 某些服务器使用不依赖私钥的密钥交换机制(密钥仍用于身份验证)。两种流行的算法是Diffie-Hellman密钥交换(DHE)及椭圆加密变换ECDHE。如果使用单独的密钥交换机制,则整体强度将取决于其算法强度和私钥的强度。
密钥交换 | 得 分 |
---|---|
弱密钥(Debian OpenSSL漏洞) | 0% |
匿名密钥交换(无身份验证) | 0% |
密钥或DH参数强度<512位 | 20% |
可导出密钥交换(限制为512位) | 40% |
密钥或DH参数强度<1024位 | 40% |
密钥或DH参数强度<2048位 | 80% |
密钥或DH参数强度<4096位 | 90% |
密钥或DH参数强度> = 4096位 | 100% |
注意
对于依赖DHE或ECDHE密钥交换的套件,许多支持DHE的服务器使用提供1024位安全性的DH配置。在这样的服务器上,密钥交换的强度不会超过1024位,若希望使私钥更强通常需要2048位。
密码强度
更强的密码则拥有更可靠的加密。
要计算此类别的分数,参考以下算法:
- 从最强密码的分数开始。
- 加上最弱密码的分数。
- 将总数除以2。
密码强度 | 得分 |
---|---|
0位(无加密) | 0% |
<128位(例如,40,56) | 20% |
<256位(例如,128,168) | 80% |
> = 256位(例如256) | 100% |
三.最终评级
得 分 | 等 级 |
---|---|
> = 80 | A |
> = 65 | B |
> = 50 | C |
> = 35 | D |
> = 20 | E |
<20 | F |
通过应用一系列规则来处理无法通过数字评分评价的服务器配置会得到更精确的评级。
例如如果开启了不需要的功能,大多情况会降低等级(从A-,B,C,D,到E或F)。一些特殊的安全规则将提高等级最高至到A +。
SSL服务器参考配置
注意HSTS
参考代码启用了HSTS功能,部分情况下可能导致访问异常
SSL/TLS评级检测网站
发表回复