简介
本文档介绍如何在思科邮件安全设备(ESA)上禁用密码块链接(CBC)模式密码。安全审计/扫描可能会报告ESA存在安全套接字层(SSL) v3/传输层安全(TLS) v1协议弱CBC模式漏洞。
注意:如果您运行的AsyncOS的代码较旧,则建议升级到11.0.3或更新版本。 有关最新版本和信息,请参阅思科邮件安全发行版本注释。 如果您在升级或禁用密码方面需要进一步帮助,请创建支持案例。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于AsyncOS for Email Security(任何版本)、Cisco ESA和虚拟ESA。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
- 支付卡行业数据安全标准(PCI DSS)合规性要求禁用CBC密码。
- 安全审计/扫描发现使用CBC模式密码的SSL v3/TLS v1协议存在潜在漏洞。
提示:SSL 3.0版(RFC-6101)是一种过时且不安全的协议。SSLv3 CVE-2014-3566中存在一个漏洞,称为Padding Oracle On Downgraded Legacy Encryption (POODLE)攻击,思科漏洞ID CSCur27131。建议在更改密码并仅使用TLS时禁用SSL v3,然后选择选项3 (TLS v1)。有关完整详细信息,请参阅提供的思科漏洞ID CSCur27131。
SSL v3和TLS v1协议用于为HTTP和轻量级目录访问协议(LDAP)等其他协议提供完整性、真实性和隐私性。这些服务通过使用加密保护隐私,使用x509证书保护真实性,并使用单向加密功能保护完整性。为了加密数据,SSL和TLS可以使用块密码,这种加密算法只能将原始数据的固定块加密到相同大小的加密块。请注意,对于相同的原始数据块,这些密码将始终获得相同的结果块。为了实现输出中的差异,加密的输出与称为初始化向量(IV)的相同大小的另一个块进行XOR运算。CBC使用一个IV作为初始块,使用前一个块的结果作为后续的每个块,以获得块密码加密输出的差异。
在SSL v3和TLS v1实施中,选择CBC模式使用率较低,因为整个流量与一组初始IV共享一个CBC会话。如前所述,IV的其余部分是先前块加密的结果。随后的IV可供窃听者使用。这使得攻击者能够向纯文本流中注入任意流量(由客户端加密),以验证其对注入的块之前的纯文本的猜测。如果攻击者的猜测正确,则两个数据块的加密输出相同。
对于低熵数据,可以用相对低的尝试次数来猜测纯文本块。例如,对于具有1000种可能性的数据,尝试次数可以是500。
要求
要利用漏洞,必须满足以下几项要求:
- SSL/TLS连接必须使用某个使用CBC模式的块加密密码(例如DES或AES)。使用RC4等流加密的通道不受该漏洞的影响。大部分SSL/TLS连接使用RC4。
- 只有在SSL/TLS连接上拦截数据,并在该连接上主动发送新数据的人员才能利用此漏洞。该漏洞的利用导致SSL/TLS连接终止。攻击者必须持续监控和使用新连接,直到收集到足够的数据来解密消息。
- 由于每次都终止连接,因此SSL/TLS客户端必须能够继续重新建立SSL/TLS通道足够长的时间,以便邮件被解密。
- 应用程序必须在它所创建的每个SSL/TLS连接上重新发送相同的数据,并且侦听程序必须能够在数据流中定位它。IMAP/SSL等具有要登录的固定消息集的协议符合此要求。一般的Web浏览则不然。
威胁
CBC漏洞是TLS v1的一个漏洞。此漏洞自2004年初以来一直存在,在TLS v1.1和TLS v1.2的更高版本中已得到解决。
在AsyncOS 9.6用于邮件安全之前,ESA使用TLS v1.0和CBC模式密码。随着AsyncOS 9.6的发布,ESA引入了TLS v1.2。但是,CBC模式密码可以禁用,并且只能使用不受该漏洞影响的RC4密码。
此外,如果启用了SSLv2,可能会触发此漏洞的误报。禁用SSL v2非常重要。
解决方案
注意:如果您运行的AsyncOS的代码较旧,则建议升级到11.0.3或更新版本。 有关最新版本和信息,请参阅思科邮件安全发行版本注释。 如果您在升级或禁用密码方面需要进一步帮助,请创建支持案例。
禁用CBC模式密码,以便仅启用RC4密码。将设备设置为仅使用TLS v1或TLS v1/TLS v1.2:
- 登录到CLI。
- 输入命令sslconfig。
- 输入命令GUI。
- 为“TLS v1”选择选项编号3,或者按照AsyncOS 9.6“TLS v1/TLS v1.2”中所列。
- 输入此密码:
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- 输入命令INBOUND。
- 为“TLS v1”选择选项编号3,或者按照AsyncOS 9.6“TLS v1/TLS v1.2”中所列。
- 输入此密码:
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- 输入命令OUTBOUND。
- 为“TLS v1”选择选项编号3,或者按照AsyncOS 9.6“TLS v1/TLS v1.2”中所列。
- 输入此密码:
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- 按Enter直到返回hostname提示符。
- 输入命令commit。
- 完成提交更改。
ESA现在配置为仅支持TLS v1或TLSv1/TLS v1.2,并使用RC4密码,同时禁止任何CBC过滤器。
以下是设置RC4:-SSLv2时使用的密码列表。请注意,列表中没有CBC模式密码。
ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1
ECDHE-ECDSA-RC4-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1
ADH-RC4-MD5 SSLv3 Kx=DH Au=None Enc=RC4(128) Mac=MD5
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
EXP-ADH-RC4-MD5 SSLv3 Kx=DH(512) Au=None Enc=RC4(40) Mac=MD5 export
EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
虽然这种漏洞因其复杂性和漏洞利用要求而很少受到关注,但执行这些步骤可很好地防止可能的漏洞利用,并通过严格的安全扫描。
相关信息