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
水平有限,翻译如有误请帮忙指出,谢谢!