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
- добавить все доступные шифры
- удалить все Диффи-Хеллмана шифры!--10-->
- сохранить
после этого наше приложение можно снова открыть в любом браузере. Надеюсь, это кому-то поможет.
для админа:
конфигурации > сервер-конфиг > службы http > слушателей с HTTP - > админ-listner > протокол SSL
- добавить все доступные шифры
- удалить все Диффи-Хеллмана шифры!--10-->
- сохранить
- перезагрузка
Edit: по сравнению с белый список здесь остальные шифры, которые будут частью нового белого списка:
Белый
- TLS_RSA_WITH_AES_128_CBC_SHA
- 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'. Любые предложения о том, как настроить порт админ?