だから、私はJBoss 5.1.0 GAを持っていて、ここでSSLv3を無効にする必要がある方法について読みました:
https://access.redhat.com/solutions/1232233
ここで言及されていないのは、SSLv3 へのフォールバックをサポートするすべての暗号を取り除く必要があるということです。そうしたら、このサイトに「緑色のチェックマーク」がつきました
https://www.tinfoilsecurity.com/poodle
これは基本的に、サーバーを保護したことの確認であり、SSLv3 はサポートされなくなりましたが、IE (すべてのバージョンの IE) を使用して Web サイトにアクセスできなくなりました。server.xml 構成の暗号リストには 4 つの暗号しかなかったので、このリストに追加する暗号をさらに見つけて、IE を機能させることを目指しました。50 を超える暗号を追加しましたが、IE はまだ Web サイトをロードしません。これまでに使用したすべての暗号のリストを次に示します (ここからリストを取得しました ( https://www.openssl.org/docs/apps/ciphers.html ):
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, TLS_DH_DSS_WITH_SEED_CBC_SHA, TLS_DH_RSA_WITH_SEED_CBC_SHA, TLS_DHE_DSS_WITH_SEED_CBC_SHA, TLS_DHE_RSA_WITH_SEED_CBC_SHA, TLS_RSA_WITH_NULL_MD5, TLS_RSA_WITH_NULL_SHA, TLS_RSA_EXPORT_WITH_RC4_40_MD5, TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, TLS_RSA_WITH_IDEA_CBC_SHA, TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_RSA_WITH_DES_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_DH_DSS_WITH_DES_CBC_SHA,TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_DH_RSA_WITH_DES_CBC_SHA, TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_DSS_WITH_DES_CBC_SHA, TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_RSA_WITH_DES_CBC_SHA, TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DH_DSS_WITH_AES_128_CBC_SHA, TLS_DH_DSS_WITH_AES_256_CBC_SHA, TLS_DH_RSA_WITH_AES_128_CBC_SHA, TLS_DH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHATLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_DSS_WITH_DES_CBC_SHA, TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_RSA_WITH_DES_CBC_SHA, TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DH_DSS_WITH_AES_128_CBC_SHA, TLS_DH_DSS_WITH_AES_256_CBC_SHA, TLS_DH_RSA_WITH_AES_128_CBC_SHA, TLS_DH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHATLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_DSS_WITH_DES_CBC_SHA, TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, TLS_DHE_RSA_WITH_DES_CBC_SHA, TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DH_DSS_WITH_AES_128_CBC_SHA, TLS_DH_DSS_WITH_AES_256_CBC_SHA, TLS_DH_RSA_WITH_AES_128_CBC_SHA, TLS_DH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHATLS_DH_RSA_WITH_AES_128_CBC_SHA, TLS_DH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHATLS_DH_RSA_WITH_AES_128_CBC_SHA, TLS_DH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHA
これらの暗号はいずれも IE では機能しません。つまり、IE でサーバーにアクセスすると、「このページを表示できません」というメッセージが表示されます。
誰かがこれで私を助けることができますか? サーバーで SSLv3 を開かず、IE でも動作する、使用できる暗号はありますか?
更新: RedHat によって提案されたソリューションを実装する場合 (つまり、sslProtocols を「TLSv1、TLSv1.1、TLSv1.2」に変更する):
- JBoss を起動すると、「TLSv1、TLSv1.1、TLSv1.2 SSLContext が利用できません」というエラーが表示されます。これは、この文字列が無効であることを意味し、これらのプロトコルの 1 つだけを使用する必要があります。わかりました。最も安全な「TLS1.2」のいずれかを使用します。
- もう 1 つの問題は、RedHat ソリューションでは、暗号について何も言及されていないことです。「ciphers」要素はもう必要ないという印象を受けていたので、server.xml から削除し、sslProtocols 値を「TLSv1.2」に変更して、サーバーをスキャンしました。それはまだ脆弱です!.
- TLSv1.1 と TLSv1 を設定してみました。それは動作しません。sslProtocols 要素は、サーバーが使用しているプロトコルにまったく影響を与えないようです。つまり、ciphers 要素だけが何らかの値を持つことを意味します。
- そうですね、私は言いました... TLSv1.2 固有の暗号を見つけてそこに追加し、サーバーをしっかりと保護します。https://www.openssl.org/docs/apps/ciphers.htmlリンクで指定されたリストからすべての TLSv1.2 暗号を追加しました。サーバーをスキャンし、「緑色のチェックマーク」を取得し、すべてOKで安全です...任意のブラウザからサーバーにアクセスしようとしました...「ページを開けません」。Chrome: ERR_SSL_VERSION_OR_CIPHER_MISMATCH Firefox: ssl_error_no_cypher_overlap IE: ページを開けません (理由を教えていただけません) 私は今どうすればいい?
- わかりました、 https: //www.openssl.org/docs/apps/ciphers.html リストから暗号を下から追加し始め、SSLv3 のものをスキップします。私はこの(本当に短い)リストにたどり着きました:問題ないようです。 https://www.tinfoilsecurity.com/poodle -> 緑のチェックマーク、すべて良好です! 安全のために、オンライン スキャナーをいくつか試してみましょう... https://www.expeditedssl.com/poodle -> 脆弱ではありません。すごい! https://www.poodlescan.com/ -> 脆弱!くそっ!
- 究極のスキャン: ssllabs.com ... VULNERABLE!
私はここで私の心を失っています...助けてください!
更新 2 :問題が何であるかを把握しようとして 2 日間失われた後... RedHat から提案された修正には、sslProtocol ではなく要素 sslProtocol***s*** が含まれていました (末尾に「s」がないことに注意してください)。私が使用していたもので、公式の JbossWeb ドキュメントhttp://docs.jboss.org/jbossweb/2.1.x/config/http.htmlに記載されています
sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" を追加し、「ciphers」要素を削除しました。すべてが期待どおりに機能します。