Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Защитите Elastic Stack ›Настройка безопасности вручную

Поддерживаемые версии 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, включая поставляемый 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.

  1. Найдите файл конфигурации для вашего JDK.
  2. Скопируйте значение параметра jdk.tls.disabledAlgorithms из этого файла и добавьте его в пользовательский файл конфигурации в директории конфигурации Elasticsearch.
  3. В пользовательском файле конфигурации удалите значение версии TLS, которую хотите использовать, из jdk.tls.disabledAlgorithms.
  4. Настройте 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 указывает на домашний каталог JDK, который вы используете для запуска Elasticsearch, то файл конфигурации будет в:

  • $JAVA_HOME/jre/lib/security/java.security

Для JDK11 или более поздних версий файл конфигурации находится в директории conf/security установки Java. Если $JAVA_HOME указывает на домашний каталог JDK, который вы используете для запуска Elasticsearch, то файл конфигурации будет в:

  • $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/8.17/jdk-tls-versions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API