最近用綠盟掃描系統進行內網網系統掃描,有幾臺設備被掃出了SSL相關漏洞,在此作一個簡短的加固方法。html
本次涉及漏洞算法
1.漏洞名稱:SSL 3.0 POODLE攻擊信息泄露漏洞(CVE-2014-3566)【原理掃描】apache
2.SSL/TLS 受誡禮(BAR-MITZVAH)攻擊漏洞(CVE-2015-2808)【原理掃描】瀏覽器
知識普及1:SSL協議要點tomcat
SSL(Secure Sockets Layer 安全套接層)是一種基於Web應用的安全通訊協議,最先由Netscape(網景)公司提出。SSL介於TCP協議和應用層協議之間,主要做用就是將HTTP、FTP等應用層的數據進行加密而後依託可靠的TCP協議在互聯網上傳輸到目的地,其中最典型的應用就是https。安全
SSL提供3個基本的安全服務:服務器
1)身份合法性:數據發送方和接收方要確認彼此身份,要確保各自的身份不會被冒充。微信
2)數據機密性:全部傳輸的數據都進行加密,而且要確保即便數據被截獲也沒法破解。cookie
3)數據完整性:確保收到的數據與發送方發出的數據一致,沒有被篡改。微信公衆平臺
SSL協議主要採用的數據加密算法:
1)非對稱加密算法:數據加密和解密使用不一樣的密鑰,如RSA公鑰加密算法。優勢是安全級別高,很難被破解;缺點是加密解密的速度慢,所以只適用於小量數據的加密。SSL協議採用非對稱加密算法實現數字簽名,驗證數據發送方(或接收方)的身份,同時也用非對稱加密算法交換密鑰(用於數據加密的對稱加密算法的密鑰,以及用於數據完整性驗證的MAC算法)。
2)對稱加密算法:數據加密和解密使用同一個密鑰,如DES、3DES、RC4等都是對稱加密算法。優勢是加解密速度快,適用於大數據量的加密,但安全性較差。SSL協議採用對稱加密算法對傳輸的數據進行加密。
3)MAC算法:Message Authentication Codes,即消息認證碼算法,MAC含有密鑰散列函數算法,兼容了MD和SHA算法的特性,並在此基礎上加入了密鑰。SSL協議採用MAC算法來檢驗消息的完整性。
知識普及2:SSL協議的版本
目前在用的SSL協議主要有5個版本,分別是SSL2.0、SSL3.0、TLS1.0、TLS1.1和TLS1.2,這裏的TLS(Transport Layer Security,傳輸層安全)協議是SSL協議的升級版。
在SSL協議曝出Poodle漏洞後,微信公衆平臺將取消對SSLv二、SSLv3兩個版本的支持,瀏覽器及其餘採用SSL協議的平臺也會逐漸取消對SSLv二、SSLv3的支持,目前只建議使用TLSv1.0、TLSv1.1和TLSv1.2三個版本。
1.漏洞名稱:SSL 3.0 POODLE攻擊信息泄露漏洞(CVE-2014-3566)【原理掃描】
涉及設備漏洞服務
這次設備受此漏洞波及影響主要是由於上述系統部署了Tomcat 的https服務,而Tomcat https服務默認狀況下支持SSL 3.0協議(目前在用的SSL協議主要有5個版本,分別是SSL2.0、SSL3.0、TLS1.0、TLS1.1和TLS1.2.SSL3.0是已過期且不安全的協議,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代)
漏洞描述和利用
SSL3.0是已過期且不安全的協議,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代,由於兼容性緣由,大多數的TLS實現依然兼容SSL3.0。
爲了通用性的考慮,目前多數瀏覽器版本都支持SSL3.0,TLS協議的握手階段包含了版本協商步驟,通常來講,客戶端和服務器端的最新的協議版本將會被使用。其在與服務器端的握手階段進行版本協商的時候,首先提供其所支持協議的最新版本,若該握手失敗,則嘗試以較舊的協議版本協商。可以實施中間人攻擊的攻擊者經過使受影響版本瀏覽器與服務器端使用較新協議的協商的鏈接失敗,能夠成功實現降級攻擊,從而使得客戶端與服務器端使用不安全的SSL3.0進行通訊,此時,因爲SSL 3.0使用的CBC塊加密的實現存在漏洞,攻擊者能夠成功破解SSL鏈接的加密信息,好比獲取用戶cookie數據。這種攻擊被稱爲POODLE攻擊(Padding Oracle On Downgraded Legacy Encryption)。此漏洞影響絕大多數SSL服務器和客戶端,影響範圍普遍。但攻擊者如要利用成功,須要可以控制客戶端和服務器之間的數據(執行中間人攻擊)。
漏洞處理方法
修改tomcat server.xml 在下面加入 sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" 來關閉SSL V3
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
keystoreFile="/home/kl/.keystore" keystorePass="eastcom"/>
2.SSL/TLS 受誡禮(BAR-MITZVAH)攻擊漏洞(CVE-2015-2808)【原理掃描】
涉及設備漏洞服務
這次設備受此漏洞波及影響主要是由於上述系統部署了Tomcat 的https服務,Web容器開啓了SSL/TLS訪問方式,並未屏蔽RC4這種存在已被有效破解的加密算法致使。
漏洞描述和利用
SSL/TLS協議是一個被普遍使用的加密協議,Bar Mitzvah攻擊其實是利用了"不變性漏洞",這是RC4算法中的一個缺陷,它可以在某些狀況下泄露SSL/TLS加密流量中的密文,從而將帳戶用戶名密碼,信用卡數據和其餘敏感信息泄露給黑客。
漏洞處理方法
修改tomcat server.xml 在下面加入標紅的串值
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITAES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA" keystoreFile="/home/kl/.keystore" keystorePass="new1234"/>
本地檢測此漏洞是否處理方法
若是可以查看到證書信息,那麼就是存在風險漏洞
若是顯示sslv3 alerthandshake failure,表示該服務器沒有這個漏洞
存在漏洞的狀況截圖
引用部分文章連接:
https://www.sslshopper.com/article-how-to-disable-ssl-2.0-in-iis-7.html
http://www.secpulse.com/archives/5682.html
http://www.freebuf.com/articles/network/62442.html
http://blog.csdn.net/lyq8479/article/details/40709175