检测出SSLv3存在严重设计缺陷漏洞(CVE-2014-3566)的修复办法

最新的安全漏洞 (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 协议,但可以 指定 SSL 通讯的加密规范.

要在 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.oschina.net/question/12_175450

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>