簡介
本檔案介紹如何在思科電子郵件安全裝置(ESA)上停用密碼區塊鏈結(CBC)模式密碼。安全審計/掃描可能會報告ESA存在安全套接字層(SSL) v3/傳輸層安全(TLS) v1協定弱CBC模式漏洞。
注意:如果運行的是較舊的AsyncOS郵件安全代碼,建議升級到11.0.3版或更高版本。 有關最新版本和資訊,請參閱思科郵件安全發行版本註釋。 如果您在升級或停用密碼方面需要進一步協助,請提出支援個案。
必要條件
需求
本文件沒有特定需求。
採用元件
本文檔中的資訊基於適用於郵件安全的AsyncOS(任何版本)、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
雖然由於此漏洞的複雜性和攻擊要求,其關注程度非常低,但執行這些步驟可以很好地防止可能的漏洞並透過嚴格的安全掃描。
相關資訊