3
我試圖保護我的tomcat 7安裝程序。我目前有兩個問題來這裏第一個:保護tomcat7 - 禁用RC4不起作用
我基本上使用默認配置,我只是擴展ssl配置得到SSL Labs A評級。
我的問題是我想禁用RC4,因爲它是不安全的,所以我添加了我信任的密碼套件(它是list of Mozilla),它以!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
結尾,這意味着AFIK不應該使用那些算法。但RC4仍然在這裏使用是我的完整配置(沒有評論):
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" SSLHonorCipherOrder="true"
SSLDisableCompression="true" SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK"
SSLCertificateChainFile="/root/ca.crt"
SSLCACertificatePath="/etc/ssl/certs"
keystoreFile="/path/to/keystore" keystorePass="pwd" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
如果你知道我做錯了什麼,請通知我。
無後顧之憂。祝你好運! –
我還在玩那個。你知道'kEDH + AESGCM'是做什麼的嗎?關於'ECDHE-RSA-WITH-AES-128-SHA256',可以轉換爲'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'和'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256'。不同的是'GCM'與'CBC'是什麼意思?其中一些字符串只有一個翻譯,但這兩個都不成問題?如何可以!!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'已被翻譯?這甚至有可能嗎? – rekire
你有一長串的命名密碼,因爲它是;我不會試圖翻譯後面的命令(「!anull:!des等),因爲它們不直接應用於Java/Tomcat世界。簡而言之,它們將提供使用密碼的規則,而Tomcat只允許顯式配置,使用你擁有的列表進行測試,如果出於兼容性考慮,可能會添加一個或兩個以上到列表中。自己的是,如果可以使用,GCM更好用,儘管CBC是完全可以接受的並且通常需要兼容性。 –