Итак, у меня есть JBoss 5.1.0 GA, и я прочитал о том, как мне нужно, чтобы отключить SSLv3 здесь:ПУДЕЛЬ уязвимость, JBoss и IE
https://access.redhat.com/solutions/1232233
Что не было упомянуто здесь было то, что мне нужно чтобы избавиться от всех шифров, которые поддерживают отказ от SSLv3. Когда я сделал это, я получил «зеленую галочку» на этом сайте
https://www.tinfoilsecurity.com/poodle
который является в основном подтверждением того, что я обеспечил мой сервер и SSLv3 не поддерживается больше, но теперь я не могу получить доступ к веб-сайт используя IE (все версии IE). Поскольку в моем списке шифров в конфигурации server.xml у меня было всего 4 шифра, я стремился найти больше шифров для добавления в этот список, чтобы заставить IE работать. Я добавил более 50 шифров, но IE все равно не загрузит мой сайт. Вот список всех шифров, которые я использовал до сих пор (я получил список из здесь (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_SHA
Ни один из этих шифров не работает с IE, а это означает, что, когда я подхожу к моему серверу с IE, я получаю «Эта страница не может быть отображена».
Может кто-нибудь помочь мне с этим? Есть ли шифр, который я могу использовать, который не откроет SSLv3 на моем сервере, а также будет работать с IE?
UPDATE: Если я реализовать решение, предложенное RedHat (который, меняя sslProtocols к "TLSv1, TLSv1.1, TLSv1.2"):
- я получаю сообщение об ошибке при запуске JBoss говоря «TLSv1, TLSv1.1, TLSv1.2 SSLContext недоступно». Это означает, что эта строка недопустима, и я ДОЛЖЕН использовать только один из этих протоколов. Хорошо, я пойду самым безопасным: «TLS1.2»
- Другая проблема заключается в том, что в решении RedHat ничего не упоминается в шифрах. У меня создалось впечатление, что элемент «ciphers» больше не нужен, поэтому я удалил его из server.xml, изменил значение sslProtocols на «TLSv1.2» и отсканировал мой сервер. ЭТО ВСЕ ЕЩЕ УЯЗВИМО !.
- Я попытался установить TLSv1.1 и TLSv1. Это не работает. Кажется, что элемент sslProtocols не имеет никакого влияния на какие протоколы использует сервер, а это означает, что только элемент шифров имеет некоторое значение.
- Хорошо, тогда я сказал ... Я найду некоторые специальные шифры TLSv1.2, и я добавлю их туда, тем самым крепко защищая свой сервер. Я добавил ВСЕ шифры TLSv1.2 из списка, указанного в ссылке https://www.openssl.org/docs/apps/ciphers.html. Отсканировал мой сервер, получил «зеленую галочку», все правильно и защищен ... Пытался приблизиться к моему серверу через любой браузер ... «Невозможно открыть страницу». Chrome: ERR_SSL_VERSION_OR_CIPHER_MISMATCH Firefox: ssl_error_no_cypher_overlap IE: Страница не может быть открыта (не имея любезности сообщить мне почему) Какого черта ?! Что мне теперь делать?
- Хорошо, я начну добавлять шифры снизу вверх из списка https://www.openssl.org/docs/apps/ciphers.html, ПРОПУСТИТЕ SSLv3. Я получил это (очень короткий) список: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (IE работает только с этим шифром) TLS_DHE_RSA_WITH_AES_128_CBC_SHA (FF, Chrome и Safari работать с этим шифром) TLS_DHE_RSA_WITH_AES_256_CBC_SHA (FF, Chrome и Safari работать с этим шифром) Все браузеры работают, все выглядит нормально. https://www.tinfoilsecurity.com/poodle -> Зеленый галочка, все хорошо! Давайте попробуем еще несколько онлайн-сканеров, чтобы быть в безопасности ... https://www.expeditedssl.com/poodle -> Не уязвим. ВЕЛИКИЙ! https://www.poodlescan.com/ -> УЯЗВИМЫЕ! F ** K!
- Окончательное сканирование: ssllabs.com ... УЯЗВИМЫЕ!
Я теряю сознание здесь ... пожалуйста, помогите!
UPDATE2: После 2 потерянных дней, пытаясь выяснить, в чем проблема ... Предлагаемое исправление от RedHat содержал элемент SSLProtocol *** S *** в отличие от SSLProtocol (обратите внимание, что нет ни одного «ы 'в конце), который я использовал, и который описан в официальной документации JbossWeb. http://docs.jboss.org/jbossweb/2.1.x/config/http.html
Я только что добавил sslProtocols = "TLSv1, TLSv1.1, TLSv1.2" и удалил элемент "ciphers", все работает, как ожидалось.