簡體   English   中英

如何為 tomcat 網絡服務器連接啟用 TLS1.2 我們正在使用 tomcat 7.0.82

[英]How to enable TLS1.2 for tomcat webserver connections We are using tomcat 7.0.82

我有一個 tomcat webapp,其中客戶端使用 TLS1.2,但技術掃描發現服務器仍在使用 TLS1.0。 我想啟用 TLS1.2。 我們正在使用 Java 7 和服務器的連接器片段。xml 如下所示,

   <Connector SSLEnabled="true" acceptCount="100" clientAuth="true" disableUploadTimeout="true" enableLookups="true" connectionTimeout="300000" 
            socket.soLingerOn="false" maxKeepAliveRequests="1000" maxThreads="50" port="2024" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" 
            keystoreFile="/cert/fic_rest.jks" keystorePass="********" 
            truststoreFile="/cert/fic_rest.jks" server="UnIdentified" compression="on" compressionMinSize="2048" 
            noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"
    />
<!-- Define an AJP 1.3 Connector on port 2023 -->
<Connector port="2023" protocol="AJP/1.3" redirectPort="2022" />

    <Connector  acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="true" connectionTimeout="300000" 
            socket.soLingerOn="false" maxKeepAliveRequests="1000" maxThreads="50" port="2020" protocol="org.apache.coyote.http11.Http11NioProtocol" server="UnIdentified"
    />

"sslProtocol="TLS"更改為"sslProtocol="TLSv1.2"就足夠了嗎? 我們正在使用 tomcat 7.0.82

sslProtocol配置協議幾乎什么都不做:它只指定使用哪個SSLContext ,但從服務器的角度來看,這並沒有限制任何東西。 任何版本的SSLContext都將默認的 SSL 服務器協議設置為支持的協議的整個列表(參見源代碼)。

因此,您需要設置sslEnabledProtocols="TLSv1.2" (參見Tomcat 文檔)以將接受的協議版本限制為僅 TLS 1.2。 然后,您可以使用curl測試您的配置。

但是,如果使用低於 1.2 的 TLS 版本,則通過在$JRE_HOME/lib/security/java.security中添加以下行是整個系統的安全約束(參見這個問題):

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1

警告:這將影響 Java 中的所有 TLS 連接,即使是舊數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM