【資安】漏洞預警:關閉不安全的通訊協定SSLv2,避免遭受中間人攻擊。

[內容說明:]
轉發國家資通安全會報 技術服務中心 漏洞/資安訊息警訊 ICST-ANA-201603-0004

近期國際資安專家研究發現SSLv2具DROWN(Decrypting RSA with Obsolete and Weakened eNcryption , CVE-2016-0800)
[1]安全性漏洞,其主要原因為SSLv2設計不當,導致存在安全威脅,包含:
1.同一密鑰(Secret Key)用於訊息身分驗證與加密。
2.認證密文(Cipher)只支援不安全的MD5雜湊值。
3.利用修改ClientHello與ServerHello封包,造成中間人(Man In the Middle, MItM)攻擊。
目前大多數瀏覽器、網頁伺服器(HTTPS)及郵件伺服器(SMTPS)均建議不採用SSLv2協定[2][3],避免遭受可能風險如:
攻擊者可利用SSLv2協定的安全性漏洞,破解金鑰交換加密演算法,以取得加密金鑰,進而還原加密封包,解析通訊內容。

[影響平台:]
支援SSLv2加密通訊協定之伺服器

[建議措施:]
請各單位檢查SSLv2協定使用狀態,並依照修補方式關閉SSLv2協定(建議一併關閉SSLv3):

使用者端瀏覽器確認與關閉流程(以IE為例):
1.點選右上角齒輪,再選擇『網際網路選項』。
2.切換到『進階』頁籤,將畫面往下拉,取消『使用SSL 2.0』選項(建議亦將『使用SSL 3.0』取消),並勾選『使用TLS 1.0』、『使用TLS 1.1』、『使用TLS 1.2』。

伺服器端:
1.伺服器端檢測方式
以下檢測方法採用Nmap工具,各機關可透過該工具自行檢測。
指令如下 :
nmap --script sslv2 -p 443
(若有使用SSLv2將會出現以下字串)
sslv2: server still supports SSLv2
2.伺服器端修補方式(Tomcat、Apache以及IIS為例)
【Tomcat修補方式】可透過設定「sslProtocols」或「sslEnabledProtocols」參數,利用白名單方式,關閉SSL[4]。
Tomcat 5 and 6 (6.0.38 以前版本號):[4]
Tomcat 6 (6.0.38之後的版本號) 與 7:[4]
Tomcat APR:[4]

【Apache修補方式】於httpd.conf檔案新增SSLProtocol設定,透過黑名單方式,關閉SSL[5]。
在httpd.conf加入以下設定:
SSLProtocol all -SSLv2 -SSLv3

【IIS修補方式】透過修改機碼的方式,關閉SSL[6]。
a.開啟機碼設定(regedit.exe),並至路徑[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL2.0]
(SSL 3.0路徑為[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL3.0])
b.在SSL2.0資料夾上按右鍵→新增→機碼,然後輸入「Server」
c.接著在剛剛建立Server的資料夾下按右鍵→新增→DWORD(32位元)值,然後輸入「Enabled」
d.確認資料欄位值是否為「0x00000000 (0)」,若否,請手動將值改為0。

[參考資料:]
1.
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-0800 (NVD)
2.
https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet (OWASP)
3.
https://isaca.nl/dmdocuments/ISACA-NL-20140602.pdf (ISACA-OSSTMM)
4.
https://access.redhat.com/solutions/1232233
5.
http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html
6.
http://social.technet.microsoft.com/wiki/contents/articles/2249.how-to-disable-sslv2-on-a-windows-server-2008-and-windows-server-2008-r2-domain-controller-dsforum2wiki.aspx