SSL服务器配置评级指南

29天前 0人评论 361人浏览

SSL/TLS协议是一种加密网络通信的安全协议。近年来,基于SSL/TLS的网站越来越多,但很少有人清楚过时的协议或有问题的配置会降低网站的安全性。如何评估网站的安全性成为了网站管理员的盲区。本篇将通过一种简单的评估方法,让您无需成为SSL专家,也能轻松评估SSL服务器配置。


概述

本文使用的评估方法主要包括以下三个部分:

1、检查证书是否有效、受信。

2、参考三个标准对SSL服务器配置评分

  • 协议支持
  • 密钥交换
  • 密码强度

3、SSL服务器配置最终评级

未涉及内容

本指南旨在通过扫描公网上所有配置SSL证书的服务器,对SSL配置实践进行大规模自动化检查、评估,查出SSL服务器配置问题,以提高自动化评估功能。因此,在评估的过程中不会涉及到一些细节问题,例如不同类型SSL证书是否符合网站用途,以及Web应用程序中的会话劫持问题。

证书特性 目前SSL证书可分为三种类型:域名验证型(DV)、组织验证型(OV) 和扩展验证型 (EV)。本指南要求所有SSL证书权威可信,正确无误,但不会超出基本要求。现如今主流浏览器通常以相同的方式处理域名验证型和组织验证型SSL证书,从而为用户提供类似的安全保障。EV 证书相比之下要好的多,一般被推荐用于高价值的网站。但是,如果没有一个可以确定网站用途的可靠方法,本指南无法评估某个网站上使用的SSL证书是否符合该网站用途。

Web应用程序中的会话劫持问题Web应用程序可以通过多种方式破坏SSL并降低其其有效性。例如,攻击者可以检索未标记为安全的会话cookie,导致会话劫持,致使应用程序受损。虽然这些不是SSL的问题,但却能影响它的实际应用。用自动化的方式检测web应用程序的特定问题并非易事,本篇暂不做介绍。与此同时,为了消除对上述问题严重性的任何怀疑,我们声明,任何不正确实现会话令牌传播的应用程序都将被评为零分。

证书检查

服务器证书通常是SSL服务器配置的最薄弱环节。不受信任的证书(如未知CA颁发的证书)无法防止中间人(MITM)攻击,致使SSL无效。以其他错误方式部署的证书(例如已过期的证书)不仅会导致信任缺失,从长远来看,还会危及整个网络的安全。

但凡有以下任意一个证书问题都将评为零分:

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

注意:有些组织创建私有CA证书,只要这些CA证书以安全的方式分发给所有需要它的人,则完全合法。

评分标准

SSL是一种复杂的混合协议,支持跨多个操作阶段的多个功能。考虑到其复杂性,我们将从以三个标准进行评估SSL服务器配置,每类得分占比如下图所示,三个标准分数的总和即为最终得分。

类别 分值比重 
 支持协议30% 
 密钥交换30% 
 密码强度40% 

(评分标准)

以下将分别介绍评级系统的每个标准的具体内容。

协议支持

先来看看SSL服务器支持的协议。SSL 2.0SSL 3.0都有已知的安全漏洞,如今各大操作系统已不再支持SSL 3.0,且TLS 1.0/TLS 1.1的使用占比也越来越低。由于一个服务器可以支持多种协议,所以本评级系统采用以下算法得出最终分数:

  • 从最佳协议的分数开始计算。
  • 同时加上最差协议的分数。
  • 将总分除以2

通过对比各大SSL/TLS协议,协议支持评分表如下:

协议 分值 
 SSL 2.0 0
 SSL 3.0 80
 TLS 1.0 90
 TLS 1.1 95
 TLS 1.2 100

(协议支持评分表)

密钥交换

密钥交换阶段有两个功能:一是执行身份验证,允许一方验证另一方的身份;另一种是确保安全生成和交换将在会话剩余时间内使用的密钥。但在密钥交换过程中,有两个弱点容易被第三方利用进而影响会话:

  • 未经身份验证的密钥交换允许主动攻击者执行MITM攻击,从而获得对整个通信通道的访问权。
  • 大多数服务器还依靠非对称加密来进行密钥交换。保护服务器的私钥越强,破解密钥交换阶段就越困难。弱密钥或仅使用密钥的一部分的交换过程(所谓的可导出密钥交换)可能导致在交换阶段每个会话密钥更容易破解。一些服务器使用不依赖于私钥的密钥交换机制(密钥仍用于身份验证)。两种流行的加密算法Diffie-Hellman密钥交换算法(DHE)和基于DHE改进的椭圆加密变换ECDHE算法。如果使用单独的密钥交换机制,则整体强度将取决于其算法强度和私钥的强度。

密钥交换评分表如下:

不同强度的密钥交换 分值 
 弱密钥(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

(密钥交换评分表)

注意:对于依赖DHE或ECDHE密钥交换的套件,在确定整体握手强度时应考虑DH参数的强度。许多支持DHE密钥交换算法的服务器使用提供1024位的DH参数。在此类服务器上,即使私钥强度更大(通常为2048位),密钥交换的强度也不会超过1024位。

密码强度

为了破坏通信会话,攻击者可能会破解大量会话中的对称密码。强密码意味着拥有更难以破解的加密强度,这样也增加了攻击者破解它的工作量。因为服务器可以支持不同强度的密码,所以采用以下算法进行评分:

  • 从最强密码的分数开始计算。
  • 同时加上最弱密码的分数。
  • 将总分除以2。

密码强度评分表如下:

密码强度 分值 
 0位(无加密)
 <128位 (如40位,56位)20
<256位 (如128位,168位)80 

≥256位(如256位)

100

(密码强度评分表)

最终评级

根据上述评分标准对SSL服务器配置打分,最后将不同类别的分数相加得到一个总分(总分:0-100分)。然后参照得分评级表用A-F的字母对服务器配置评级。

注意:任意一个类别的分数为0分时,总分都将为0分。

  分值 等级   
  ≥80 A
  ≥65 B
  ≥50 C
  ≥35 D
  ≥20 E
 <20 F

(得分评级表)

当然,我们也会通过应用一系列规则来处理无法通过数字评分评估的服务器配置的情况。例如如果开启了不需要的功能,大多情况会降低等级(从A-BCD,到EF)。一些特殊的安全规则将提高等级(到A +)。

以上就是对SSL服务器配置的评级内容,您可以参照本指南检测网站的SSL证书是否安全,有无漏洞,是否符合行业最佳实践,并根据评级和检测建议提高服务器配置的安全性。如果您有其他相关技术问题,请咨询锐成信息专业团队为您提供技术支持!

提交
还没有评论,快来抢沙发吧!
相关博客

锐成信息欢迎您

了解更多云产品和解决方案,请立即联系客服,我们将竭诚为您服务!

售前
支持
代理
合作
售后
支持