2014年8月1日 星期五

[工作筆記] Tomcat 出現 Weak Cipher 弱點

先前 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設定的詳細說明可參考此文件

備註:

  1. 上述 weak cipher 的設定中,使用 native connector 與一般設定的描述方式不同,若使用 native connector,則描述方式可參照 OpenSSL 官方的描述方式。
  2. 有哪些 Weak Cipher 可參考 OWASP 文件的定義,我是直接參考 Qualys 上的設定範例進行設定。
  3. 設定完成後,可透過 Qualys SSL Test 網站來做全面性的檢查,包括最近的 heartbleed 以及 CVE-2014-0224 弱點

掃描結果:
SSL Test Result

Share:

0 意見:

張貼留言