2015-07-10 2 views
6

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

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

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

Ваше соединение шифруется с устаревшей криптографией.

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

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

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

я нашел в GF, где я могу сделать конфигурацию в Конфигурации> сервера конфигурации> Network Config> Протоколы> HTTP-у слушателя-2> SSL

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

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

+0

Так что вы спрашиваете? Для обновления списка шифров? – Fildor

+0

Более или менее. Насколько я понял, мне нужно обновить версию TLS 1.0 до версии 1.1 или 1.2 и использовать рекомендованные шифры (обновленный список). В GF есть список шифров, которые я выбираю тем, что я хочу использовать, но я не знаю, что делать, когда мне нужно установить шифр, который там не указан. – Sertage

+0

Действительно теперь также Chrome barfs на Glassfish. Но см. Решение ниже. –

ответ

9

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

В:

Конфигурации> сервера конфигурации> Конфигурация сети> Протоколы> HTTP-у слушателя-2> SSL

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

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

Для администратора:

Конфигурации> сервера конфигурации> Сервис HTTP> Listeners HTTP> админ-у слушателя> SSL

  1. Добавьте все шифры доступные
  2. Удалить все Диффи -Интеллектуальные шифры
  3. Сохранить
  4. Restart

Edit: Сравнивая с whitelist here остальных шифров, которые были бы частью нового белого списка являются:

Whitelist

  1. TLS_RSA_WITH_AES_128_CBC_SHA
  2. SSL_RSA_WITH_3DES_EDE_CBC_SHA
1

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

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

Но, в GF 3.1.2.2, «Администратор-слушатель протокола», похоже, как бы указывает на «sec-admin-listener» протокола, и что не имеет вкладки «SSL». При изменении параметров SSL в «Admin-listener» протокола появляется сообщение об ошибке «Невозможно применить изменения. Конфигурация не найдена для configs.config.server-config.network-config.protocols.protocol.admin-listener.ssl '. Любые предложения о том, как настроить порт администратора?

+0

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

+2

@PerLindberg Сначала измените другой протокол по строкам, описанным Sertage. Затем я думаю, что вы можете скопировать изменение в протокол sec-admin-listenener, отредактировав файл domain.xml. Скопируйте атрибут ssl3-tls-ciphers из элемента ssl в элементе протокола, который вы изменили, и добавьте его в элемент ssl в протоколе sec-admin-listenener. Обязательно создайте резервную копию своего каталога конфигурации. – mikeatv

+0

Спасибо, это сработало! Просто скопируйте атрибут XML ssl3-tls-ciphers из в . –

2

Я столкнулся с этой проблемой также с 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 

Я заметил, что простое удаление сертификата по умолчанию Безразлично» t удалите все ссылки на него в файле domain.xml. Я не смог найти правильный способ сделать это. Я просто использовал проб и ошибок. Другой способ заключается в изменении файла domain.xml, где определена SSL элемент для слушателя и добавить атрибут «SSL3-TLS-шифры»:

<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.