搜尋此網誌

2014/10/16

[轉載]如何修復 POODLE SSLv3 安全性漏洞 (CVE-2014-3566)

http://www.oschina.net/question/12_175450

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
1
SSLProtocol all -SSLv2 -SSLv3

Nginx

Nginx 只允許使用 TLS 協定:
1
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 加密方法列表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 支援:
1
2
3
4
5
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
水準有限,翻譯如有誤請幫忙指出,謝謝!

via percona

沒有留言: