如何修复 POODLE SSLv3 安全漏洞 (CVE

POODLE = Padding Oracle On Downgraded Legacy Encryption

首先, 这是一个迟来的命名,但安全问题仍然可怕。最新的安全漏洞 (CVE­-2014-3566) 代号是 POODLE, 这是一个缩写,按照上面的标题有实际的意义吗?

这个漏洞和之前的 B.E.A.S.T (Browser Exploit Against SSL TLS) 非常相似,但是目前还没有可靠的解决办法,除非完全禁用 SSLv3 的支持。简单的说,攻击者可获取你加密流中的明文数据。

还是让我们来看看如何处理吧,Mozilla Security Wiki Serverside TLS 之前建议使用严格的协议和加密方法限制,值得我们注意。

Apache

在Apache 的 SSL 配置中禁用 SSLv3 和 SSLv3:

SSLProtocol all -SSLv2 -SSLv3

Nginx

在 Nginx 只允许使用 TLS 协议:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

MySQL

值得注意的是,除非你在 MySQL 5.6 中部署 sha256_password 插件,plugin for MySQL 5.6 就会在验证握手之前必须完成SSL/TLS连接协商,因此这种攻击向量只成为一个问题 —— 有效的登录访问的数据流。( sha256_password 提供一个选项使用 SSL/TLS 的认证)

这使得事情变得更加有趣,和 Apache 和 Nginx 不同的是,没有方法来完全启用和禁用 SSL/TLS 协议,但可以 .

要在 MySQL 删除 SSLv3 的支持,你只需要确定在配置中不使用 SSLv3 加密。

在这个 bug 中你可以找到 SSLv3 加密方法列表:

openssl ciphers -v 'DEFAULT' | awk '/SSLv3 Kx=(RSA|DH|DH(512))/ { print $1 }'
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
DHE-DSS-CAMELLIA256-SHA
AES256-SHA
CAMELLIA256-SHA
EDH-RSA-DES-CBC3-SHA
EDH-DSS-DES-CBC3-SHA
DES-CBC3-SHA
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
DHE-RSA-SEED-SHA
DHE-DSS-SEED-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-DSS-CAMELLIA128-SHA
AES128-SHA
SEED-SHA
CAMELLIA128-SHA
RC4-SHA
RC4-MD5
EDH-RSA-DES-CBC-SHA
EDH-DSS-DES-CBC-SHA
DES-CBC-SHA
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
EXP-RC2-CBC-MD5
EXP-RC4-MD5

删除 ssl-cipher 配置中的上述信息就可以禁用 SSLv3 支持。当然,确保 MySQL 服务不提供一般访问是迄今为止对抗 CVE-2014-3566 漏洞最重要的一个步骤。

你可以通过 这里 了解更多关于 POODLE 的资讯。

以下脚本可以识别你的服务是否提供没有密码的 SSLv3 支持:

mysql -se “SHOW STATUS LIKE ‘Ssl_cipher_list'” | sed ‘s/:/n/g’ | sed ‘s/Ssl_cipher_listss//g’ |
while read sspec;
do SPEC=openssl ciphers -v “$sspec” 2>/dev/null | grep -v SSLv3 | awk ‘{print $1}';
[[ "$sspec" == "$SPEC" ]] && mysql –ssl-cipher=$sspec -e QUIT 2>/dev/null && echo “$sspec OK”;
done
 

水平有限,翻译如有误请帮忙指出,谢谢!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ba8652c28cd595c2dd23196697cd9678.html