先前 Tomcat Server 被公司的滲透測試主機掃描到 Weak Cipher 的弱點,
稍微 Google 搜尋一下,就可以查到設定的方式,就可以將不安全的 SSL加密演算法停用。
<connector port="443" maxhttpheadersize="8192" address="127.0.0.1" enablelookups="false" disableuploadtimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="SSL" ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" keystoreFile="mydomain.key" keystorePass="password" truststoreFile="mytruststore.truststore" truststorePass="password"/>
信心滿滿地設定完成後卻發現沒有效果,忽然想到先前已將Tomcat Connector調整為使用 native connector,
設定方式與一般的connector不同,官方文件寫的又不夠清楚(可能是我太笨了),花了一些時間測試才完成設定,撰寫這份筆記避免以後有類似的情況發生。
<Connector protocol="HTTP/1.1" port="443"
scheme="https" secure="true" SSLEnabled="true"
SSLHonorCipherOrder="true"
SSLCipherSuite="EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
SSLCertificateChainFile="CertificateChanFilePath"
SSLCertificateFile="CertificateFilePath"
SSLCertificateKeyFile="PrivateKeyFilePath"
SSLPassword="PrivateKeyPassword"/>
關於這些 native connector 的 SSL設定的詳細說明可參考此文件。
備註:
- 上述 weak cipher 的設定中,使用 native connector 與一般設定的描述方式不同,若使用 native connector,則描述方式可參照 OpenSSL 官方的描述方式。
- 有哪些 Weak Cipher 可參考 OWASP 文件的定義,我是直接參考 Qualys 上的設定範例進行設定。
- 設定完成後,可透過 Qualys SSL Test 網站來做全面性的檢查,包括最近的 heartbleed 以及 CVE-2014-0224 弱點。
掃描結果:
0 意見:
張貼留言