GF3 (JDK 6) Как настроить протокол безопасности для удаления устаревшей криптографии

в компании, в которой я работаю, у нас есть сервер GF 3.1.1 (JDK 6) с CAS, который выполняет аутентификацию пользователей в другой системе. После последнего обновления Firefox (V. 39x) мы получаем следующую информацию из браузера:

mydomain.com SSL получил слабый эфемерный ключ Диффи-Хеллмана в Ключевое сообщение серверу Exchange рукопожатие.

и невозможно получить доступ к сайту без этот способ или с помощью другой браузер. В chrome я могу получить доступ нормально, но если я посмотрю на свойства соединения, он говорит:

ваше соединение зашифровано с помощью устаревших криптографии.

соединение использует TLS 1.0.

соединение шифруется с использованием AES_128_CBC, с SHA1 для аутентификации сообщения DHE_RSA как механизм обмена ключами.

Я не могу настроить все браузеры наших клиентов или сказать, что они используют только chrome. Возможно, в будущем chrome может сделать то же самое. Поэтому мое решение-правильно настроить сервер. Проблема в том, что я не знаю, как это сделать.

Я нашел в GF, где я могу сделать конфигурацию в конфигурациях > server-config > Network Config > Protocols > http-listner-2 > SSL

тогда я нашел здесь черный список и белый список некоторых шифров, которые рекомендуется использовать. Я попытался удалить все в черном и поместить все в Белом. Но у меня еще есть вопрос. Думаю, этот список устарел.

Я ценю любую помощь.

3 ответов


наконец-то. Я нашел решение. Я много искал, и я мог найти решение, поэтому я попытался проверить один за другим один из шифров. Итак, работать (я не говорю, что это правильный путь). Я должен был сделать это:

At:

конфигурации > сервер-конфигурация > конфигурация сети > протоколы > http-listner-2 > SSL

  1. добавить все доступные шифры
  2. удалить все Диффи-Хеллмана шифры!--10-->
  3. сохранить

после этого наше приложение можно снова открыть в любом браузере. Надеюсь, это кому-то поможет.

для админа:

конфигурации > сервер-конфиг > службы http > слушателей с HTTP - > админ-listner > протокол SSL

  1. добавить все доступные шифры
  2. удалить все Диффи-Хеллмана шифры!--10-->
  3. сохранить
  4. перезагрузка

Edit: по сравнению с белый список здесь остальные шифры, которые будут частью нового белого списка:

Белый

  1. TLS_RSA_WITH_AES_128_CBC_SHA
  2. SSL_RSA_WITH_3DES_EDE_CBC_SHA

Я только что столкнулся с этой проблемой, а также с Chrome и консоли администратора. Я обошел это, чтобы удалить текущий SSL-сертификат для прослушивателя и воссоздать его с помощью определенного набора шифров с опцией --ssl3tlsciphers. Для меня это был администратор-слушатель, поэтому сначала я удалил текущий сертификат по умолчанию:

asadmin delete-ssl --type http-listener admin-listener

затем я воссоздал его, используя следующую команду:

asadmin create-ssl --type http-listener --certname s1as --ssl3tlsciphers SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV,SSL_RSA_WITH_NULL_MD5,SSL_RSA_WITH_NULL_SHA,SSL_DH_anon_WITH_RC4_128_MD5,TLS_DH_anon_WITH_AES_128_CBC_SHA,SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,SSL_DH_anon_WITH_DES_CBC_SHA,SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA    admin-listener

Я заметил, что просто удаление сертификата по умолчанию не удаляет все ссылки на него в домене.XML-файл. Я не могу найти правильный способ сделать это. Я просто использовал метод проб и ошибок. Другим методом является изменение домена.xml-файл, в котором определен элемент ssl для прослушивателя и добавлен атрибут "ssl3-tls-ciphers":

<ssl ssl3-tls-ciphers="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV,SSL_RSA_WITH_NULL_MD5,SSL_RSA_WITH_NULL_SHA,SSL_DH_anon_WITH_RC4_128_MD5,TLS_DH_anon_WITH_AES_128_CBC_SHA,SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,SSL_DH_anon_WITH_DES_CBC_SHA,SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA" classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>

оба метода требуют перезапуска glassfish.


спасибо, Sertage, это сработало!

однако также необходимо исправить протокол для порта администратора (обычно 4848). (Он должен, конечно, использовать HTTPS тоже!)

но в GF 3.1.2.2 протокол "admin-listener", похоже, указывает на протокол "sec-admin-listener", и у этого нет вкладки "SSL". Изменение параметров SSL протокол "admin-listener" приводит к появлению сообщения об ошибке " не удалось применить изменения. Конфигурация не найдена для конфигураций.конфиг.server-config.network-config.протоколы.протокол.администратор-слушатель.протокол SSL'. Любые предложения о том, как настроить порт админ?