Установка и настройка / Основные элементы АппОптима / АктивныйШлюз АппОптима / Подробнее об АктивныхШлюзах / Конфигурация АктивногоШлюза / Конфигурация шифра для АктивногоШлюза
Компоненты АппОптима обмениваются данными через SSL, использующий шифры для шифрования HTTP-запросов. Не все доступные шифры в настоящее время считаются достаточно безопасными. Поэтому по умолчанию исключаются некоторые шифры (например, все MD5, все RC4, все DES, все DSS).
Чтобы проверить, какие шифры поддерживаются, и обеспечить правильность именования шифров, всегда используйте Nmap для сканирования шифров в АктивномШлюзе, так как Nmap использует тот же синтаксис, что и АппОптима.
Настройка шифров
Сканирование шифров
- Сканируйте поддерживаемые шифры с помощью Nmap. Результатом сканирования будет список, подобный следующему:
<PORT STATE SERVICE 9999/tcp open abyss | ssl-enum-ciphers: | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A | TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A | compressors: | NULL | cipher preference: server |_ least strength: A
Исключение шифров
- Исключите нежелательные шифры, перечислив их в файле
custom.properties
. Мы поддерживаем только исключения шаблонов, поэтому в приведенном ниже примере исключениеTLS_DHE_RSA_WITH_AES_256_CBC_SHA
также исключаетTLS_DHE_RSA_WITH_AES_256_CBC_SHA384
. В следующем примере показано, как исключить шифры ECDHE из приведенного выше списка:
<[com.compuware.apm.webserver] excluded-ciphers = TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Проблема с этим подходом заключается в том, что список становится длинным, и поэтому его трудно поддерживать, если OpenSSL изменяется. Более надежным/динамичным способом является использование подшаблона, как показано в примере ниже.
<[com.compuware.apm.webserver] excluded-ciphers = TLS_ECDHE_
В этом примере будут исключены все имена шифров, содержащие строку TLS_ECDHE_
. Этот шаблон исключит дополнительные шифры, если базовый список изменится, например, из-за обновлений OpenSSL.
Чтобы исключить шаблон суффикса, завершите строку шаблона символом $
. Чтобы исключить SHA без исключения SHA256
, укажите SHA$
в качестве шаблона. Например:
<[com.compuware.apm.webserver] excluded-ciphers = TLS_RSA_WITH,_SHA$
Кроме того, вы можете определить, какие шифры вы хотите включить.
<[com.compuware.apm.webserver] included-ciphers = _ECDHE_
Как правило, вы определяете либо включенные, либо исключенные шифры, но не оба.
Обратите внимание, что если шифр был определен в списке как включенных, так и исключенных, он будет считаться исключенным — исключение имеет приоритет над включением.