近來在公司掃瞄伺服器發現安全方面的高危漏洞,是由於sslv2,sslv3這些ssl版本受到幾個加密缺陷的影響。攻擊者可以利用這些缺陷進行中間人攻擊或解密受影響的服務與客戶端之間的通訊,以禁用ssl 2.0和3.0。使用tls 1.1(使用經過驗證的密碼套件)或更高版本。下面先簡單介紹下這兩種協議(小夥伴也可以找度娘了解了解):
ssl:(secure socket layer,安全套接字層),位於可靠的面向連線的網路層協議和應用層協議之前的一種協議層。
協議組成:ssl記錄協議,ssl握手協議。
tls:(transport layersecurity,傳輸層安全協議),用於兩個應用程式之間提供保密性和資料完整性。
協議組成:tls記錄協議,tls握手協議。
遇到這個問題,查了好多帖子,基本歸納為乙個,就是在伺服器的tomcat下的server.xml中新增配置:
輯catalina/conf/server.xml配置檔案,找到httpspei埠配置處,7.0及之前的版本預設如下:
修改如下:
編輯並重啟tomcat之後,發現通過網域名稱訪問無效,經系統運營部查詢是新增此屬性後前置機無法通過nginx對映到內部網的兩台機器上,關閉sslv3配置sslenabledprotocols="tlsv1" 隱性預設是sslv3,tlsv1.0,但是無效。之後嘗試在sslprotocol屬性中配置支援的版本號,重啟之後依然無效。(此刻已經很疲憊了,然後領導還一直催促,很想大聲來一句mmp)。
最後持著隨便試的心理,在sslenabledprotocols 屬性中新增tls支援的版本號tlsv1.1,tlsv1.2,結果成功了,難道網路上的帖子是在調戲我麼,那我只能弱弱的回一句,好吧,你得逞了。最後說下我的理解吧(雖然挺簡單的)
sslprotocol:是ssl支援的協議(ssl/tls)。
sslenabledprotocols:此屬性是協議支援的版本號。
Tomcat開啟SSL協議支援
要使用ssl connector,必須先建立乙個keystore。他包含了伺服器中被客戶端用於驗證伺服器的數字證書。一旦客戶端接受了這個證書,客戶端就可以使用public key去加密他們要傳送的資料。而伺服器,擁有乙個private key,作為唯一解密資料的金鑰。進入jdk的bin目錄,開啟命令...
Tomcat開啟SSL協議支援
要使用ssl connector,必須先建立乙個keystore。他包含了伺服器中被客戶端用於驗證伺服器的數字證書。一旦客戶端接受了這個證書,客戶端就可以使用public key去加密他們要傳送的資料。而伺服器,擁有乙個private key,作為唯一解密資料的金鑰。進入jdk的bin目錄,開啟命令...
tomcat實現SSL配置
開啟server.xml檔案,開啟define a ssl http 1.1 connector on port 8443,刪除登出資訊。修改節點 具體如下 keystorefile的路徑是tomcat的安裝路徑下的tomcat.keystore 使用keytool生成的證書庫檔案 keytool ...