Конфигурация шифра для АктивногоШлюза
Компоненты Ключ-Астром обмениваются данными через 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_
Как правило, вы определяете либо включенные, либо исключенные шифры, но не оба.
Обратите внимание, что если шифр был определен в списке как включенных, так и исключенных, он будет считаться исключенным — исключение имеет приоритет над включением.