Поддерживаемые версии SSL/TLS в зависимости от версии JDK
Elasticsearch использует реализацию SSL и TLS в вашей JDK.
Разные версии JDK поддерживают разные версии SSL, и это может повлиять на работу Elasticsearch.
Эта поддержка применима при использовании по умолчанию поставщика JSSE в JDK. В JVM, настроенных на использование поставщика безопасности FIPS 140-2, может быть реализация TLS, которая поддерживает версии протокола TLS, отличные от перечисленных.
Проверьте заметки к выпуску вашего поставщика безопасности для получения информации о поддержке TLS.
-
SSLv3 - SSL v3 поддерживается во всех совместимых с Elasticsearch JDK, но по умолчанию отключен. См. Включение дополнительных версий SSL/TLS в вашей JDK.
-
TLSv1 - TLS v1.0 поддерживается во всех совместимых с Elasticsearch JDK. Некоторые более новые JDK, включая JDK, поставляемый с Elasticsearch, по умолчанию отключают TLS v1.0. См. Включение дополнительных версий SSL/TLS в вашей JDK.
-
TLSv1.1 - TLS v1.1 поддерживается во всех совместимых с Elasticsearch JDK. Некоторые более новые JDK, включая JDK, поставляемый с Elasticsearch, по умолчанию отключают TLS v1.1. См. Включение дополнительных версий SSL/TLS в вашей JDK.
-
TLSv1.2 - TLS v1.2 поддерживается во всех совместимых с Elasticsearch JDK. Он включен по умолчанию во всех поддерживаемых Elasticsearch JDK, включая поставляемый.
-
TLSv1.3 -
TLS v1.3 поддерживается в JDK11 и более поздних версиях, а также в сборках JDK8, более новых, чем 8u261 (включая последние выпуски каждой дистрибуции JDK8, поддерживаемой Elasticsearch). TLS v1.3 поддерживается и включен по умолчанию в JDK, поставляемом с Elasticsearch.
Хотя Elasticsearch поддерживает работу со старыми сборками JDK8 без TLS v1.3, рекомендуется обновить JDK до версии, включающей TLS v1.3, для лучшей поддержки и обновлений.
Включение дополнительных версий SSL/TLS в вашей JDK
Набор поддерживаемых версий SSL/TLS для JDK управляется файлом свойств безопасности Java, устанавливаемым в составе вашей JDK.
В этом конфигурационном файле перечислены алгоритмы SSL/TLS, которые отключены в этой JDK. Выполните эти шаги, чтобы удалить версию TLS из этого списка и использовать ее в вашей JDK.
- Найдите конфигурационный файл для вашей JDK.
- Скопируйте значение настройки
jdk.tls.disabledAlgorithmsиз этого файла и добавьте его в пользовательский конфигурационный файл в директории конфигурации Elasticsearch. - В пользовательском конфигурационном файле удалите значение для версии TLS, которую вы хотите использовать, из
jdk.tls.disabledAlgorithms. - Настройте Elasticsearch на передачу пользовательского системного свойства в JDK, чтобы использовать ваш пользовательский конфигурационный файл.
Поиск конфигурационного файла для вашей JDK
Для поставляемого с Elasticsearch JDK конфигурационный файл находится в подкаталоге домашнего каталога Elasticsearch ($ES_HOME):
- Linux:
$ES_HOME/jdk/conf/security/java.security - Windows:
$ES_HOME/jdk/conf/security/java.security - macOS:
$ES_HOME/jdk.app/Contents/Home/conf/security/java.security
Для JDK8 конфигурационный файл находится в каталоге jre/lib/security установки Java. Если $JAVA_HOME указывает на домашний каталог используемого для запуска Elasticsearch JDK, то конфигурационный файл будет находиться в:
-
$JAVA_HOME/jre/lib/security/java.security
Для JDK11 или более поздних версий конфигурационный файл находится в каталоге conf/security установки Java. Если $JAVA_HOME указывает на домашний каталог используемого для запуска Elasticsearch JDK, то конфигурационный файл будет находиться в:
-
$JAVA_HOME/conf/security/java.security
Копирование настройки disabledAlgorithms
В конфигурационном файле JDK есть строка, начинающаяся с jdk.tls.disabledAlgorithms=. Эта настройка определяет, какие протоколы и алгоритмы отключены в вашей JDK. Значение этой настройки обычно занимает несколько строк.
Например, в OpenJDK 16 эта настройка:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL Создайте новый файл в каталоге конфигурации Elasticsearch с именем es.java.security. Скопируйте значение настройки jdk.tls.disabledAlgorithms из файла конфигурации JDK по умолчанию в es.java.security. Вам не нужно копировать другие настройки.
Включение необходимых версий TLS
Отредактируйте файл es.java.security в каталоге конфигурации Elasticsearch и измените настройку jdk.tls.disabledAlgorithms таким образом, чтобы любые версии SSL или TLS, которые вы хотите использовать, больше не были перечислены.
Например, чтобы включить TLSv1.1 в OpenJDK 16 (который использует показанные ранее настройки jdk.tls.disabledAlgorithms), файл es.java.security будет содержать ранее отключенные алгоритмы TLS за исключением TLSv1.1:
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL Включение вашей пользовательской конфигурации безопасности
Чтобы включить вашу пользовательскую политику безопасности, добавьте файл в каталог jvm.options.d в каталоге конфигурации Elasticsearch.
Чтобы включить вашу пользовательскую политику безопасности, создайте файл с именем java.security.options в каталоге jvm.options.d каталога конфигурации Elasticsearch со следующим содержимым:
-Djava.security.properties=/path/to/your/es.java.security
Включение версий TLS в Elasticsearch
Версии SSL/TLS можно включать и отключать в Elasticsearch через ssl.supported_protocols настройки.
Elasticsearch будет поддерживать только те версии TLS, которые включены в подлежащей JDK. Если вы настраиваете ssl.supported_procotols таким образом, чтобы включать версию TLS, которая не включена в вашей JDK, она будет проигнорирована.
Аналогично, версия TLS, включенная в вашей JDK, не будет использоваться, если она не настроена как одна из ssl.supported_protocols в Elasticsearch.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/jdk-tls-versions.html