Настройки безопасности в Elasticsearch
Вы настраиваете параметры xpack.security, чтобы разрешить анонимный доступ и выполнить проверку подлинности сообщений, настроить безопасность на уровне документов и полей, настроить области, зашифровать коммуникации с помощью SSL и провести аудит событий безопасности.
Все эти настройки можно добавить в файл конфигурации elasticsearch.yml, за исключением настроек безопасности, которые вы добавляете в хранилище ключей Elasticsearch. Дополнительную информацию о создании и обновлении хранилища ключей Elasticsearch см. в документе о настройках безопасности.
Общие настройки безопасности
-
xpack.security.enabled -
(Статические) По умолчанию
true, что включает функции безопасности Elasticsearch на узле. Эта настройка должна быть включена для использования функций аутентификации, авторизации и аудита Elasticsearch.
Если установлено значение
false, функции безопасности отключены, что не рекомендуется. Это также влияет на все экземпляры Kibana, которые подключаются к этому экземпляру Elasticsearch; вам не нужно отключать функции безопасности в этих файлахkibana.yml. Дополнительную информацию об отключении функций безопасности в определенных экземплярах Kibana см. в настройках безопасности Kibana. -
xpack.security.autoconfiguration.enabled -
(Статические) По умолчанию
true, что включает автоматическую настройку безопасности.Если установлено значение
false, автоматическая настройка безопасности отключена, что не рекомендуется. При отключении безопасность не настраивается автоматически при первом запуске Elasticsearch, что означает, что вам необходимо настроить безопасность вручную. -
xpack.security.enrollment.enabled -
(Статические) По умолчанию
false. Управляет подпиской (узлов и Kibana) на локальный узел, который был автоматически настроен для безопасности. При установке значенияtrueлокальный узел может генерировать новые токены подписки. Существующие токены могут использоваться для подписки, если они все еще действительны.Процесс автоматической настройки безопасности установит это значение в
true, если администратор не установит его вfalseдо запуска Elasticsearch. -
xpack.security.hide_settings - (Статические) Список настроек, разделенных запятыми, которые исключаются из результатов API cluster nodes info. Вы можете использовать подстановочные знаки для включения нескольких настроек в список. Например, следующее значение скрывает все настройки для области ad1 active_directory:
xpack.security.authc.realms.active_directory.ad1.*. API уже исключает все настройкиssl,bind_dnиbind_passwordиз-за конфиденциального характера информации. -
xpack.security.fips_mode.enabled - (Статические) Включает режим fips. Установите это значение в
true, если вы запускаете этот экземпляр Elasticsearch в JVM с включенным FIPS 140-2. Дополнительную информацию см. в документе о соответствии FIPS 140-2. По умолчаниюfalse. -
xpack.security.fips_mode.required_providers - (Статические) Дополнительно принудительно применяются определенные поставщики безопасности Java JCE/JSSE. Например, установите это значение в
["BCFIPS", "BCJSSE"](регистр не учитывается), чтобы потребовать поставщики безопасности JCE и JSSE Bouncy Castle FIPS. Применимо только тогда, когдаxpack.security.fips_mode.enabledустановлено вtrue.
Настройки хеширования паролей
-
xpack.security.authc.password_hashing.algorithm - (Статические) Указывает алгоритм хеширования, используемый для безопасного хранения учетных данных пользователя. См. таблицу 2, «Алгоритмы хеширования паролей». Если
xpack.security.fips_mode.enabledимеет значение true (см. FIPS 140-2), по умолчаниюpbkdf2_stretch. Во всех других случаях по умолчаниюbcrypt.
Настройки анонимного доступа
Вы можете настроить следующие настройки анонимного доступа в elasticsearch.yml. Дополнительную информацию см. в статье о включении анонимного доступа.
-
xpack.security.authc.anonymous.username - (Статические) Имя пользователя (принципал) анонимного пользователя. По умолчанию
_es_anonymous_user. -
xpack.security.authc.anonymous.roles - (Статические) Роли, которые необходимо назначить анонимному пользователю. Обязательно.
-
xpack.security.authc.anonymous.authz_exception - (Статические) При значении
true, возвращается HTTP-ответ 403, если у анонимного пользователя нет соответствующих разрешений для запрошенного действия. Пользователю не предлагается предоставить учетные данные для доступа к запрошенному ресурсу. При установке значенияfalseвозвращается HTTP-ответ 401, и пользователь может предоставить учетные данные с соответствующими разрешениями для получения доступа. По умолчаниюtrue.
Настройки автоматов
В местах, где функции безопасности принимают шаблоны с подстановкой (например, шаблоны индексов в ролях, соответствия группам в API сопоставления ролей), каждый шаблон компилируется в автомат. Доступны следующие настройки для управления этим поведением.
-
xpack.security.automata.max_determinized_states - (Статические) Максимальное количество состояний автомата, которое может быть создано одним шаблоном. Это защищает от слишком сложных (например, экспоненциально сложных) шаблонов. По умолчанию
100,000. -
xpack.security.automata.cache.enabled - (Статические) Флаг, указывающий, следует ли кэшировать скомпилированные автоматы. Компиляция автоматов может быть ресурсоемкой и замедлять некоторые операции. Кэш уменьшает частоту, с которой автоматы требуют компиляции. По умолчанию
true. -
xpack.security.automata.cache.size - (Статические) Максимальное количество элементов для сохранения в кэше автоматов. По умолчанию
10,000. -
xpack.security.automata.cache.ttl - (Статические) Время хранения элемента в кэше автоматов (на основе последнего использования). По умолчанию
48h(48 часов).
Настройки безопасности на уровне документов и полей
Вы можете настроить следующие настройки безопасности на уровне документов и полей в elasticsearch.yml. Дополнительную информацию см. в статье о настройке безопасности на уровне документов и полей.
-
xpack.security.dls_fls.enabled - (Статические) Установите значение
false, чтобы запретить настройку безопасности на уровне документов и полей. По умолчаниюtrue. -
xpack.security.dls.bitset.cache.ttl - (Статические) Время жизни кэшированных записей
BitSetдля безопасности на уровне документов. Запросы безопасности на уровне документов могут зависеть от объектов Lucene BitSet, и они автоматически кэшируются для повышения производительности. По умолчанию истечение кэшированных записей, неиспользуемых в течение2h(2 часов). -
xpack.security.dls.bitset.cache.size - (Статические) Максимальное использование памяти кэшированных записей
BitSetдля безопасности на уровне документов. Запросы безопасности на уровне документов могут зависеть от объектов Lucene BitSet, и они автоматически кэшируются для повышения производительности. Может быть настроено как целое число байтов (например,200mbили1g) или как процент от кучи JVM узла (например,5%). При превышении значения по умолчанию вытесняются наименее недавно используемые записи. По умолчанию10%от кучи, выделенной узлу.
Настройки службы токенов
Вы можете настроить следующие настройки службы токенов в elasticsearch.yml.
-
xpack.security.authc.token.enabled - (Статические) Установите значение
false, чтобы отключить встроенную службу токенов. По умолчаниюtrue, еслиxpack.security.http.ssl.enabledимеет значениеfalse. Это предотвращает перехват токена из соединения по протоколу HTTP без шифрования. -
xpack.security.authc.token.timeout - (Статические) Время действия токена. По умолчанию это значение равно
20mили 20 минутам. Максимальное значение составляет 1 час.
Настройки службы ключей API
Вы можете настроить следующие настройки службы ключей API в elasticsearch.yml.
-
xpack.security.authc.api_key.enabled - (Статический) Установите в значение
false, чтобы отключить встроенную службу API-ключей. По умолчанию установлено значениеtrue. -
xpack.security.authc.api_key.cache.ttl - (Статический) Время жизни кэшированных записей API-ключей. Идентификатор API-ключа и хэш его API-ключа кэшируются в течение этого периода времени. Укажите период времени, используя стандартные единицы времени Elasticsearch единицы времени. По умолчанию установлено значение
1d. -
xpack.security.authc.api_key.cache.max_keys - (Статический) Максимальное количество записей API-ключей, которые могут храниться в кэше в любой момент времени. По умолчанию установлено значение 10 000.
-
xpack.security.authc.api_key.cache.hash_algo - (Статический, Экспертный) Алгоритм хеширования, используемый для кэширования учетных данных API-ключей в памяти. Возможные значения см. в таблице 1 «Алгоритмы хеширования кэша». По умолчанию установлено значение
ssha256.
-
xpack.security.authc.api_key.delete.retention_period - (Динамический) API-ключи, недействительные или истекшие срок действия, старше периода хранения, подлежат удалению. По умолчанию установлено значение
7d.
Большие несоответствия во времени реальных часов на узлах кластера могут привести к проблемам с оценкой периода хранения API-ключа. То есть, если время на узле, аннулирующем API-ключ, существенно отличается от времени на узле, выполняющем удаление, ключ может храниться дольше или короче, чем настроенный период хранения.
-
xpack.security.authc.api_key.delete.interval -
(Динамический, Экспертный) Узлы кластера планируют автоматическое удаление недействительных или истекших API-ключей, которые старше периода хранения. Этот параметр управляет минимальным интервалом времени между двумя такими задачами удаления. По умолчанию установлено значение
24h.Это параметр низкого уровня, который в настоящее время управляет интервалом между задачами удаления, запускаемыми на узле, а не по всему кластеру.
-
xpack.security.authc.api_key.delete.timeout - (Статический, Экспертный) Устанавливает тайм-аут внутреннего запроса поиска и удаления.
-
xpack.security.authc.api_key.hashing.algorithm - (Статический) Указывает алгоритм хеширования, используемый для защиты учетных данных API-ключей. См. таблицу 2 «Алгоритмы хеширования паролей». По умолчанию установлено значение
pbkdf2.
Настройки домена безопасности
Настройки домена безопасности настраиваются в пространстве имен xpack.security.authc.domains в elasticsearch.yml.
Например:
xpack:
security:
authc:
domains:
my_domain:
realms: [ 'default_native', 'saml1' ] | Указывает имя домена безопасности | |
| Указывает домены, которые принадлежат домену |
Настройки домена
Настройки домена настраиваются в пространстве имен xpack.security.authc.realms в elasticsearch.yml.
Например:
xpack.security.authc.realms:
native.realm1:
order: 0
...
ldap.realm2:
order: 1
...
active_directory.realm3:
order: 2
...
... | Указывает тип домена (например, | |
| Указывает приоритет домена в цепочке доменов. Эта информация требуется. |
Допустимые настройки зависят от типа домена. Дополнительную информацию см. в аутентификации пользователей.
Настройки, допустимые для всех доменов
-
order - (Статический) Приоритет домена в цепочке доменов. Домены с меньшим порядком рассматриваются в первую очередь. Значение должно быть уникальным для каждого домена. Этот параметр требуется.
-
enabled - (Статический) Указывает, включен ли домен. Вы можете использовать этот параметр для отключения домена без удаления его конфигурационной информации. По умолчанию установлено значение
true.
Настройки домена Native
В дополнение к настройкам, допустимым для всех доменов, вы можете указать следующие необязательные настройки:
-
cache.ttl - (Статический) Время жизни кэшированных записей пользователей. Пользователь и хэш его учетных данных кэшируются в течение этого периода времени. Укажите период времени, используя стандартные единицы времени Elasticsearch единицы времени. По умолчанию установлено значение
20m. -
cache.max_users - (Статический) Максимальное количество записей пользователей, которые могут храниться в кэше в данный момент. По умолчанию установлено значение 100 000.
-
cache.hash_algo - (Статический, Экспертный) Алгоритм хеширования, используемый для кэширования учетных данных пользователей в памяти. Возможные значения см. в таблице 1 «Алгоритмы хеширования кэша». По умолчанию установлено значение
ssha256. -
authentication.enabled - (Статический) Если установлено значение
false, отключается поддержка аутентификации в этом домене, так что он поддерживает только поиск пользователей. (См. функции выполнения от имени и доверенных доменов). По умолчанию установлено значениеtrue.
Настройки домена файлов
В дополнение к настройкам, допустимым для всех доменов, вы можете указать следующие настройки:
-
cache.ttl - (Статический) Время жизни кэшированных записей пользователей. Пользователь и хэш его учетных данных кэшируются в течение этого периода времени. По умолчанию установлено значение
20m. Укажите значения, используя стандартные единицы времени Elasticsearch единицы времени. По умолчанию установлено значение20m. -
cache.max_users - (Статический) Максимальное количество записей пользователей, которые могут храниться в кэше в данный момент. По умолчанию установлено значение 100 000.
-
cache.hash_algo - (Статический, Экспертный) Алгоритм хеширования, используемый для кэширования учетных данных пользователей в памяти. См. таблицу 1 «Алгоритмы хеширования кэша». По умолчанию установлено значение
ssha256. -
authentication.enabled - (Статический) Если установлено значение
false, отключается поддержка аутентификации в этом домене, так что он поддерживает только поиск пользователей. (См. функции выполнения от имени и доверенных доменов). По умолчанию установлено значениеtrue.
Настройки домена LDAP
В дополнение к настройкам, допустимым для всех доменов, вы можете указать следующие настройки:
-
url -
(Статический) Один или несколько LDAP-URL в формате
ldap[s]://<server>:<port>. Требуется.Для указания нескольких URL используйте массив YAML (
["ldap://server1:636", "ldap://server2:636"]) или строку с запятыми ("ldap://server1:636, ldap://server2:636").Хотя оба варианта поддерживаются, вы не можете смешивать протоколы
ldapиldaps. -
load_balance.type - (Статический) Способ поведения при наличии нескольких определённых LDAP-URL. Для поддерживаемых значений см. типы сбалансированности нагрузки и резервирования. По умолчанию
failover. -
load_balance.cache_ttl - (Статический) При использовании
dns_failoverилиdns_round_robinв качестве типа сбалансированности нагрузки, это значение управляет временем кеширования результатов поиска DNS. По умолчанию1h. -
bind_dn - (Статический) DN пользователя, используемого для привязки к LDAP и выполнения поиска. Применимо только в режиме поиска пользователей. Если не указано, используется анонимная привязка. По умолчанию Пустая строка. Из-за возможного влияния на безопасность,
bind_dnне доступен через API информации о узлах. -
bind_password - (Статический) [6.3] Устарело в 6.3. Используйте
secure_bind_passwordвместо этого. Пароль для пользователя, используемого для привязки к каталогу LDAP. По умолчанию Пустая строка. Из-за возможного влияния на безопасность,bind_passwordне доступен через API информации о узлах. -
secure_bind_password - (Безопасные, Перезагружаемые) Пароль для пользователя, используемого для привязки к каталогу LDAP. По умолчанию Пустая строка.
-
user_dn_templates - (Статический) Шаблон DN, который заменяет имя пользователя строкой
{0}. Это значение может иметь несколько значений; вы можете указать несколько контекстов пользователя. Требуется для работы в режиме шаблонов имен пользователей. Еслиuser_search.base_dnуказано, это значение недействительно. Более подробную информацию о различных режимах см. в документации по аутентификации пользователей LDAP. -
authorization_realms -
(Статический) Названия доменов, которые должны быть запрошены для делегирования авторизации. Если это значение используется, домен LDAP не выполняет сопоставление ролей, а вместо этого загружает пользователя из перечисленных доменов. Ссылающиеся домены обрабатываются в порядке их определения в этом списке. См. документацию по делегированию авторизации другому домену.
Если указаны какие-либо настройки, начинающиеся с
user_search, настройкиuser_dn_templatesигнорируются. -
user_group_attribute - (Статический) Указывает атрибут, который необходимо проверить у пользователя для получения информации о принадлежности к группе. Если указаны какие-либо настройки, начинающиеся с
group_search, это значение игнорируется. По умолчаниюmemberOf. -
user_full_name_attribute - (Статический) Указывает атрибут, который необходимо проверить у пользователя для получения полного имени пользователя. По умолчанию
cn. -
user_email_attribute - (Статический) Указывает атрибут, который необходимо проверить у пользователя для получения адреса электронной почты пользователя. По умолчанию
mail. -
user_search.base_dn - (Статический) Указывает контейнер DN для поиска пользователей. Требуется для работы в режиме поиска пользователей. Если указано
user_dn_templates, это значение недействительно. Более подробную информацию о различных режимах см. в документации по аутентификации пользователей LDAP. -
user_search.scope - (Статический) Область поиска пользователя. Допустимые значения:
sub_tree,one_levelилиbase.one_levelищет только объекты, непосредственно содержащиеся вbase_dn.sub_treeищет все объекты, содержащиеся вbase_dn.baseуказывает, чтоbase_dn— это объект пользователя, и что он является единственным рассматриваемым пользователем. По умолчаниюsub_tree. -
user_search.filter - (Статический) Указывает фильтр, используемый для поиска в каталоге в попытках сопоставить запись с именем пользователя, предоставленным пользователем. По умолчанию
(uid={0}).{0}заменяется предоставленным именем пользователя при поиске. -
user_search.attribute - (Статический) [5.6] Устарело в 5.6. Используйте
user_search.filterвместо этого. Атрибут для сопоставления с именем пользователя, отправленным в запросе. По умолчаниюuid. -
user_search.pool.enabled - (Статический) Включает или отключает пул соединений для поиска пользователей. Если установлено значение
false, для каждого поиска создается новое соединение. По умолчаниюtrueпри установкеbind_dn. -
user_search.pool.size - (Статический) Максимальное количество подключений к LDAP-серверу, разрешённых в пуле подключений. По умолчанию
20. -
user_search.pool.initial_size - (Статический) Начальное количество подключений, создаваемых к LDAP-серверу при запуске. По умолчанию
0. Если LDAP-сервер недоступен, значения, большие чем0, могут привести к ошибкам запуска. -
user_search.pool.health_check.enabled - (Статический) Включает или отключает проверку работоспособности подключений к LDAP в пуле подключений. Подключения проверяются в фоновом режиме с заданным интервалом. По умолчанию
true. -
user_search.pool.health_check.dn - (Статический) Отличительное имя, которое извлекается в рамках проверки работоспособности. По умолчанию значение
bind_dn, если оно присутствует; в противном случае возвращается к значениюuser_search.base_dn. -
user_search.pool.health_check.interval - (Статический) Интервал выполнения фоновых проверок соединений в пуле. По умолчанию
60s. -
group_search.base_dn - (Статический) Контейнер DN для поиска групп, в которых пользователь имеет членство. При отсутствии этого элемента Elasticsearch ищет атрибут, указанный в
user_group_attribute, заданном для пользователя, чтобы определить членство в группе. -
group_search.scope - (Статический) Указывает, должен ли поиск групп быть
sub_tree,one_levelилиbase.one_levelищет только объекты, непосредственно содержащиеся вbase_dn.sub_treeищет все объекты, содержащиеся вbase_dn.baseуказывает, чтоbase_dn— это объект группы, и что он является единственной рассматриваемой группой. По умолчаниюsub_tree. -
group_search.filter - (Статический) Указывает фильтр для поиска группы. При отсутствии значения, домен ищет
group,groupOfNames,groupOfUniqueNamesилиposixGroupс атрибутамиmember,memberOfилиmemberUid. Любая встреча{0}в фильтре заменяется атрибутом пользователя, определённым вgroup_search.user_attribute. -
group_search.user_attribute - (Статический) Если установлено значение
true, имена любых несопоставленных LDAP-групп используются в качестве имён ролей и назначаются пользователю. Группа считается несопоставленной, если она не указана в файле конфигурации сопоставления ролей. Сопоставления ролей на основе API не учитываются. По умолчаниюfalse. -
files.role_mapping - (Статический) Расположение для YAML-файла конфигурации сопоставления ролей. По умолчанию
ES_PATH_CONF/role_mapping.yml. -
follow_referrals
- (Статический) Указывает, следует ли Elasticsearch следовать переадресации, возвращаемой сервером LDAP. Переадресации — это URL-адреса, возвращаемые сервером, которые должны быть использованы для продолжения операции LDAP (например, поиск). По умолчанию значение
true. -
metadata - (Статический) Список дополнительных атрибутов LDAP, которые должны загружаться с сервера LDAP и храниться в поле метаданных аутентифицированного пользователя.
-
timeout.tcp_connect - (Статический) Время ожидания подключения TCP для установления подключения LDAP. Окончание
sуказывает на секунды, аms— на миллисекунды. По умолчанию значение5s(5 секунд). -
timeout.tcp_read - (Статический) [7.7] Устарело в 7.7. Время ожидания чтения TCP после установления подключения LDAP. Это эквивалентно и устарело в пользу
timeout.response, и их нельзя использовать одновременно. Окончаниеsуказывает на секунды, аms— на миллисекунды. -
timeout.response - (Статический) Интервал времени ожидания ответа от сервера LDAP. Окончание
sуказывает на секунды, аms— на миллисекунды. По умолчанию значениеtimeout.ldap_search. -
timeout.ldap_search - (Статический) Время ожидания для поиска LDAP. Значение задается в запросе и выполняется принимающим сервером LDAP. Окончание
sуказывает на секунды, аms— на миллисекунды. По умолчанию значение5s(5 секунд). -
ssl.key -
(Статический) Путь к файлу, содержащему закрытый ключ в формате PEM.
Используется, если требуется аутентификация клиента HTTP. Нельзя использовать данное значение и
ssl.keystore.pathодновременно.Используется, если сервер LDAP требует аутентификации клиента. Нельзя использовать данное значение и
ssl.keystore.pathодновременно. -
ssl.key_passphrase -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Значение необязательно, так как ключ может не быть зашифрован. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.secure_key_passphrase.Нельзя использовать данное значение и
ssl.secure_key_passphraseодновременно. -
ssl.secure_key_passphrase - (Защищенный) Пароль, используемый для расшифровки закрытого ключа. Значение необязательно, так как ключ может не быть зашифрован.
-
ssl.certificate -
(Статический) Указывает путь к файлу с сертификатом (или цепочкой сертификатов) в формате PEM, связанным с ключом.
Это значение может быть использовано только если установлено значение
ssl.key.Этот сертификат представляется клиентам при подключении.
-
ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Это значение и
ssl.truststore.pathне могут быть использованы одновременно.Нельзя использовать данное значение и
ssl.truststore.pathодновременно. -
ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12. Нельзя использовать данное значение и
ssl.keyодновременно.Нельзя использовать данное значение и
ssl.keyодновременно. -
ssl.keystore.type - (Статический) Формат файла хранилища ключей. Должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или ".pkcs12", значение по умолчанию —PKCS12. В противном случае —jks. -
ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.keystore.secure_password. -
ssl.keystore.secure_password - (Защищенный) Пароль для хранилища ключей.
-
ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.keystore.secure_key_password.Нельзя использовать данное значение и
ssl.keystore.secure_passwordодновременно. -
ssl.keystore.secure_key_password - (Статический) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
-
ssl.truststore.path -
(Статический) Путь к хранилищу сертификатов, которым следует доверять. Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12.
Нельзя использовать данное значение и
ssl.certificate_authoritiesодновременно.Нельзя использовать данное значение и
ssl.certificate_authoritiesодновременно. -
ssl.truststore.password -
(Статический) Пароль для хранилища доверенных сертификатов. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.truststore.secure_password.Нельзя использовать данное значение и
ssl.truststore.secure_passwordодновременно. -
ssl.truststore.secure_password - (Защищенный) Пароль для хранилища доверенных сертификатов.
-
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Должен быть либо
jks, либоPKCS12. Если имя файла заканчивается на ".p12", ".pfx" или "pkcs12", значение по умолчанию —PKCS12. В противном случае —jks. -
ssl.verification_mode -
(Статический) Указывает тип проверки при использовании
ldapsдля защиты от атак «человек посередине» и подделки сертификатов.Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату начала действия, которая находится в диапазоне между датами
not_beforeиnot_after; связан с доверенным центром сертификации (ЦС); имеет имя домена или IP-адрес, совпадающий с именами в сертификате. -
certificate - Проверяет предоставленный сертификат и подтверждает, что он подписан доверенной организацией (ЦС), но не проверяет поле
hostnameсертификата. -
none -
Не выполняет проверку сертификата.
Установка проверки сертификата на значение
noneотключает множество преимуществ безопасности SSL/TLS, что очень опасно. Используйте это значение только по указанию службы поддержки Elastic в качестве временного диагностического механизма при попытке устранения ошибок TLS.
По умолчанию значение
full. -
-
ssl.supported_protocols -
(Статический) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, значение по умолчанию —TLSv1.3,TLSv1.2,TLSv1.1. В противном случае —TLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Подробнее см. в разделе Поддерживаемые версии SSL/TLS в зависимости от версии JDK.
Если
xpack.security.fips_mode.enabledравноtrue, нельзя использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
ssl.cipher_suites
-
(Статический) Указывает криптографические наборы шифрования, которые должны поддерживаться при общении с сервером LDAP. Поддерживаемые наборы шифрования зависят от используемой версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Дополнительную информацию см. в документации Oracle по Архитектуре Java Cryptography.
-
cache.ttl - (Статический) Указывает время жизни кэшированных записей пользователей. Пользователь и хэш его учетных данных кэшируются в течение этого периода. Используйте стандартные единицы времени Elasticsearch. Значение по умолчанию —
20m. -
cache.max_users - (Статический) Указывает максимальное количество записей пользователей, которое может содержать кэш. Значение по умолчанию —
100000. -
cache.hash_algo - (Статический, Эксперт) Указывает алгоритм хеширования, используемый для кэширования учетных данных пользователей в оперативной памяти. См. таблицу 1 «Алгоритмы хеширования кэша». Значение по умолчанию —
ssha256. -
authentication.enabled - (Статический) Если установлено значение
false, отключает поддержку аутентификации в данном домене, так что он будет поддерживать только поиск пользователей. (См. функции выполнения от имени и доменов авторизации). Значение по умолчанию —true.
Настройки домена Active Directory
В дополнение к настройкам, действительным для всех доменов, вы можете указать следующие:
-
url -
(Статический) Один или несколько URL-адресов LDAP в формате
ldap[s]://<server>:<port>. По умолчанию используетсяldap://<domain_name>:389. Это значение необходимо при подключении с использованием SSL/TLS или при использовании пользовательского порта.Для указания нескольких URL-адресов используйте массив YAML (
["ldap://server1:636", "ldap://server2:636"]) или строку с запятыми ("ldap://server1:636, ldap://server2:636").Несмотря на поддержку обоих форматов, нельзя смешивать протоколы
ldapиldaps.Если URL-адрес не указан, Elasticsearch использует значение по умолчанию
ldap://<domain_name>:389. Это значение по умолчанию использует значение параметраdomain_nameи предполагает незащищённое соединение с портом 389. -
load_balance.type - (Статический) Способ обработки при наличии нескольких URL-адресов LDAP. Для поддержки значений см. типы сбалансированной загрузки и резервного копирования. По умолчанию используется
failover. -
load_balance.cache_ttl - (Статический) При использовании типов сбалансированной загрузки
dns_failoverилиdns_round_robin, это значение управляет временем кэширования результатов DNS-запросов. По умолчанию используется1h. -
domain_name - (Статический) Имя домена Active Directory. Если настройки
urlиuser_search.base_dnне указаны, кластер может определить эти значения из этого параметра. Обязательно. -
bind_dn - (Статический) DN пользователя, используемого для привязки к Active Directory и выполнения запросов. По умолчанию пусто. Из-за потенциального влияния на безопасность,
bind_dnне отображается в API nodes info. -
bind_password - (Статический) [6.3] Устарело в версии 6.3. Используйте
secure_bind_passwordвместо него. Пароль пользователя, используемого для привязки к Active Directory. По умолчанию пусто. Из-за потенциального влияния на безопасность,bind_passwordне отображается в API nodes info. -
secure_bind_password - (Безопасный, Перезагружаемый) Пароль пользователя, используемого для привязки к Active Directory. По умолчанию пусто.
-
unmapped_groups_as_roles - (Статический) Если установлено значение
true, имена любых несопоставленных групп Active Directory используются в качестве имён ролей и назначаются пользователю. Группа считается несопоставленной, когда она не упоминается ни в одном файле сопоставления ролей. Сопоставления ролей на основе API не учитываются. По умолчаниюfalse. -
files.role_mapping - (Статический) Расположение файла конфигурации сопоставления ролей YAML. По умолчанию
ES_PATH_CONF/role_mapping.yml. -
user_search.base_dn - (Статический) Контекст поиска пользователя. По умолчанию используется корень домена Active Directory.
-
user_search.scope - (Статический) Указывает, должен ли поиск пользователя быть
sub_tree,one_levelилиbase.one_levelищет только пользователей, непосредственно входящих вbase_dn.sub_treeищет все объекты, находящиеся подbase_dn.baseуказывает, чтоbase_dn— это объект пользователя и это единственный рассматриваемый пользователь. По умолчаниюsub_tree. -
user_search.filter - (Статический) Указывает фильтр для поиска пользователя по имени пользователя. По умолчанию фильтр ищет объекты
userс использованиемsAMAccountNameилиuserPrincipalName. Если задано, это должен быть допустимый фильтр поиска пользователей LDAP. Например,(&(objectClass=user)(sAMAccountName={0})). Дополнительную информацию см. в Синтаксисе фильтра поиска. -
user_search.upn_filter - (Статический) Указывает фильтр для поиска пользователя по имени принципала пользователя. По умолчанию фильтр ищет объекты
userс совпадениемuserPrincipalName. Если задано, это должен быть допустимый фильтр поиска пользователей LDAP. Например,(&(objectClass=user)(userPrincipalName={1})).{1}— полное имя принципала пользователя, предоставленное пользователем. Дополнительную информацию см. в Синтаксисе фильтра поиска. -
user_search.down_level_filter - (Статический) Указывает фильтр для поиска пользователя по имени входа более низкого уровня (DOMAIN\пользователь). По умолчанию фильтр ищет объекты
userс совпадениемsAMAccountNameв указанном домене. Если задано, это должен быть допустимый фильтр поиска пользователей LDAP. Например,(&(objectClass=user)(sAMAccountName={0})). Дополнительную информацию см. в Синтаксисе фильтра поиска. -
user_search.pool.enabled - (Статический) Включает или отключает пуллирование соединений для поиска пользователей. При отключении для каждого поиска создаётся новое соединение. По умолчанию используется
true, когдаbind_dnпредоставлено. -
user_search.pool.size - (Статический) Максимальное количество соединений с сервером Active Directory, разрешённых в пулле соединений. По умолчанию
20. -
user_search.pool.initial_size - (Статический) Начальное количество соединений, создаваемых при запуске, с сервером Active Directory. По умолчанию
0. Если сервер LDAP недоступен, значения больше 0 могут привести к ошибкам при запуске. -
user_search.pool.health_check.enabled - (Статический) Включает или отключает проверку работоспособности соединений с Active Directory в пуле соединений. Соединения проверяются в фоновом режиме с указанным интервалом. По умолчанию
true. -
user_search.pool.health_check.dn - (Статический) Имя, которое должно быть получено в рамках проверки работоспособности. По умолчанию используется значение параметра
bind_dn, если оно задано. В противном случае используется значение параметраuser_search.base_dn. -
user_search.pool.health_check.interval - (Статический) Интервал для выполнения фоновых проверок соединений в пуле. По умолчанию
60s. -
group_search.base_dn - (Статический) Контекст поиска групп, в которых пользователь имеет членство. По умолчанию используется корень домена Active Directory.
-
group_search.scope - (Статический) Указывает, должен ли поиск групп быть
sub_tree,one_levelилиbase.one_levelищет группы, непосредственно входящие вbase_dn.sub_treeищет все объекты, находящиеся подbase_dn.baseуказывает, чтоbase_dn— это объект группы и это единственная рассматриваемая группа. По умолчаниюsub_tree. -
metadata - (Статический) Список дополнительных атрибутов LDAP, которые должны быть загружены с сервера LDAP и сохранены в поле метаданных аутентифицированного пользователя.
-
timeout.tcp_connect - (Статический) Период ожидания TCP-соединения для установления соединения LDAP. Окончание
sуказывает секунды, аmsуказывает миллисекунды. По умолчанию5s(5 секунд). -
timeout.tcp_read - (Статический) [7.7] Устарело в версии 7.7. Период ожидания TCP-чтения после установления соединения LDAP. Это эквивалентно и устарело в пользу
timeout.response, и они не могут использоваться одновременно. Окончаниеsуказывает секунды, аmsуказывает миллисекунды. По умолчанию используется значение параметраtimeout.ldap_search. -
timeout.response - (Статический) Интервал ожидания ответа от сервера AD. Окончание
sуказывает секунды, аmsуказывает миллисекунды. По умолчанию используется значение параметраtimeout.ldap_search. -
timeout.ldap_search - (Статический) Период ожидания для запроса LDAP. Значение указывается в запросе и применяется принимающим сервером LDAP. Окончание
sуказывает секунды, аmsуказывает миллисекунды. По умолчанию5s(5 секунд).
-
ssl.certificate -
(Статический) Указывает путь к закодированному в PEM формате сертификату (или цепочке сертификатов), связанному с ключом.
Это значение может быть использовано только если
ssl.keyустановлено.Этот сертификат предоставляется клиентам при подключении.
-
ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов, закодированных в PEM формате, которым следует доверять.
Это значение и
ssl.truststore.pathне могут быть использованы одновременно.Вы не можете использовать это значение и
ssl.truststore.pathодновременно. -
ssl.key -
(Статический) Путь к файлу с закрытым ключом, закодированному в PEM формате.
Используется, если требуется проверка подлинности HTTP-клиента. Вы не можете использовать это значение и
ssl.keystore.pathодновременно.Используется, если сервер Active Directory требует проверки подлинности клиента. Вы не можете использовать это значение и
ssl.keystore.pathодновременно. -
ssl.key_passphrase -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение является необязательным. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.secure_key_passphrase.Вы не можете использовать это значение и
ssl.secure_key_passphraseодновременно. -
ssl.secure_key_passphrase - (Безопасный) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение является необязательным.
-
ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.keystore.secure_key_password.Вы не можете использовать это значение и
ssl.keystore.secure_passwordодновременно. -
ssl.keystore.secure_key_password - (Безопасный) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
-
ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.keystore.secure_password. -
ssl.secure_keystore.password - (Безопасный) Пароль для хранилища ключей.
-
ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Должен быть хранилищем ключей Java (jks) или файлом PKCS#12. Вы не можете использовать это значение и
ssl.keyодновременно.Вы не можете использовать это значение и
ssl.keyодновременно. -
ssl.keystore.type - (Статический) Формат файла хранилища ключей. Должен быть либо
jks, либоPKCS12. Если путь к хранилищу заканчивается на ".p12", ".pfx" или ".pkcs12", это значение по умолчанию равноPKCS12. В противном случае по умолчанию используетсяjks. -
ssl.truststore.password -
(Статический) Пароль для хранилища доверенных сертификатов. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.truststore.secure_password.Вы не можете использовать это значение и
ssl.truststore.secure_passwordодновременно. -
ssl.truststore.secure_password - (Безопасный) Пароль для хранилища доверенных сертификатов.
-
ssl.truststore.path -
(Статический) Путь к хранилищу доверенных сертификатов. Должен быть хранилищем ключей Java (jks) или файлом PKCS#12.
Вы не можете использовать это значение и
ssl.certificate_authoritiesодновременно.Вы не можете использовать это значение и
ssl.certificate_authoritiesодновременно. -
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Должен быть либо
jks, либоPKCS12. Если имя файла заканчивается на ".p12", ".pfx" или "pkcs12", по умолчанию используетсяPKCS12. В противном случае по умолчанию используетсяjks. -
ssl.verification_mode -
(Статический) Указывает тип проверки при использовании
ldapsдля защиты от атак типа «человек посередине» и подделки сертификатов.Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, которая находится в диапазоне между
not_beforeиnot_after; привязан к доверенному центру сертификации (ЦС); имеет имя домена или IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и подтверждает, что он подписан доверенной организацией (ЦС), но не проверяет
hostnameсертификата. -
none -
Не выполняет проверку сертификата.
Установка проверки сертификатов на
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Устанавливайте это значение только по инструкции службы поддержки Elastic в качестве временной диагностической меры при попытке устранения ошибок TLS.
По умолчанию используется
full. -
-
ssl.supported_protocols -
(Статический) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, по умолчанию используетсяTLSv1.3,TLSv1.2,TLSv1.1. В противном случае по умолчанию используетсяTLSv1.2,TLSv1.1.Elasticsearch использует реализацию SSL и TLS вашего JDK. Подробнее см. Поддерживаемые версии SSL/TLS в зависимости от версии JDK.
Если
xpack.security.fips_mode.enabledравноtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
ssl.cipher_suites -
(Статический) Указывает на поддерживаемые наборы шифрования для связи с сервером Active Directory. Поддерживаемые наборы шифрования зависят от используемой версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Для получения дополнительной информации см. документацию Oracle по Java Cryptography Architecture: .
-
cache.ttl - (Статический) Указывает время жизни кэшированных записей пользователей. Пользователь и хэш его учетных данных кэшируются в течение этого настроенного периода времени. Используйте стандартные временные единицы Elasticsearch (временные единицы). По умолчанию значение равно
20m. -
cache.max_users - (Статический) Указывает максимальное количество записей пользователей, которое может содержать кэш. По умолчанию значение равно
100000. -
cache.hash_algo - (Статический, Экспертный) Указывает алгоритм хэширования, используемый для кэширования учетных данных пользователей в памяти. См. таблицу 1, «Алгоритмы хэширования кэша». По умолчанию значение равно
ssha256. -
authentication.enabled - (Статический) Если установлено значение
false, отключает поддержку аутентификации в данном домене, так что он поддерживает только поиск пользователей. (См. функции выполнения от имени и доменов авторизации). По умолчанию значение равноtrue. -
follow_referrals - (Статический) Если установлено значение
true, Elasticsearch следует за переадресациями, возвращаемыми сервером LDAP. Переадресации — это URL-адреса, возвращаемые сервером, которые используются для продолжения операции LDAP (например,search). По умолчанию значение равноtrue.
Настройки домена PKI
В дополнение к настройкам, применимым ко всем доменам, вы можете указать следующие настройки:
-
username_pattern - (Статический) Шаблон регулярного выражения, используемый для извлечения имени пользователя из DN сертификата. Имя пользователя используется для аудита и ведения журнала. Имя пользователя также может использоваться с API сопоставления ролей и делегирования авторизации. Первая группа совпадений используется в качестве имени пользователя. По умолчанию значение равно
CN=(.*?)(?:,|$). -
certificate_authorities - (Статический) Список путей к файлам сертификатов PEM, которые должны использоваться для аутентификации сертификата пользователя как доверенного. По умолчанию используются доверенные сертификаты, настроенные для SSL. Эта настройка не может использоваться с
truststore.path. -
truststore.algorithm - (Статический) Алгоритм для хранилища доверенных сертификатов. По умолчанию значение равно
SunX509. -
truststore.password -
(Статический) Пароль для хранилища доверенных сертификатов. [7.17.0] Устарело в 7.17.0. Вместо этого используйте
ssl.truststore.secure_password.Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
Если truststore.path установлено, эта настройка требуется.
-
truststore.secure_password - (Защищенный) Пароль для хранилища доверенных сертификатов.
-
truststore.path - (Статический) Путь к хранилищу доверенных сертификатов для использования. По умолчанию используются доверенные сертификаты, настроенные для SSL. Эта настройка не может использоваться с
certificate_authorities. -
files.role_mapping - (Статический) Указывает местоположение файла конфигурации сопоставления ролей YAML. По умолчанию значение равно
ES_PATH_CONF/role_mapping.yml. -
authorization_realms - (Статический) Названия домена, которые должны быть проконсультированы для делегированной авторизации. Если эта настройка используется, домен PKI не выполняет сопоставление ролей, а вместо этого загружает пользователя из перечисленных доменов. См. делегирование авторизации другому домену.
-
cache.ttl - (Статический) Указывает время жизни кэшированных записей пользователей. Пользователь и хэш его учетных данных кэшируются в течение этого времени. Используйте стандартные временные единицы Elasticsearch (временные единицы). По умолчанию значение равно
20m. -
cache.max_users - (Статический) Указывает максимальное количество записей пользователей, которое может содержать кэш. По умолчанию значение равно
100000. -
delegation.enabled - (Статический) Как правило, для аутентификации клиентов в домене PKI необходимо подключиться непосредственно к Elasticsearch. То есть они не должны проходить через прокси, которые прерывают соединение TLS. Чтобы разрешить использование доверенного и интеллектуального прокси, такого как Kibana, расположенного перед Elasticsearch и прерывающего соединения TLS, но при этом позволяющего клиентам пройти аутентификацию в Elasticsearch по этому домену, необходимо установить это значение на
true. По умолчанию значение равноfalse. Если делегирование включено, необходимо определить либоtruststore.path, либоcertificate_authoritiesнастройку. Более подробную информацию см. в статье о настройке делегирования аутентификации для доменов PKI.
Настройки домена SAML
В дополнение к настройкам, применимым ко всем доменам, вы можете указать следующие настройки.
-
idp.entity_id - (Статический) Идентификатор сущности поставщика услуг SAML. Идентификатор сущности — это URI максимальной длиной 1024 символа. Он может быть URL (https://idp.example.com/) или URN (
urn:example.com:idp) и его можно найти в конфигурации или метаданных SAML поставщика услуг.
-
idp.metadata.path -
(Статический) Путь (рекомендуется) или URL-адрес файла метаданных SAML 2.0, описывающего возможности и конфигурацию поставщика услуг. Если указан путь, то он разрешается относительно каталога конфигурации Elasticsearch. Если указан URL, то он должен быть либо URL-адресом
file, либо URL-адресомhttps.Elasticsearch автоматически опрашивает этот ресурс метаданных и перезагружает конфигурацию поставщика услуг при обнаружении изменений. Ресурсы на основе файлов опрашиваются с частотой, определяемой глобальной настройкой Elasticsearch
resource.reload.interval.high, которая по умолчанию составляет 5 секунд. Ресурсы HTTPS опрашиваются с частотой, определяемой настройками доменаidp.metadata.http.refreshиidp.metadata.http.minimum_refresh.Если метаданные загружаются из файла, файл должен существовать при запуске узла. Если он не существует, узел не запустится. Если ресурс загружается через HTTPS, то узел (по умолчанию) будет терпим к ошибкам загрузки ресурса - узел запустится и будет продолжать опрашивать URL для получения обновлений. Пострадавший домен SAML не сможет выполнять проверку подлинности пользователей до тех пор, пока проблема не будет решена. Чтобы принудительно завершить работу узла, если метаданные недоступны, установите значение
idp.metadata.http.fail_on_errorнаtrue.
-
idp.metadata.http.fail_on_error - (Статический) Если установлено значение
true, домен завершит работу при запуске (и предотвратит запуск узла), если он пытается загрузить метаданные через HTTPS, а эти метаданные недоступны. Если установлено значениеfalse(по умолчанию), узел запустится, но пострадавший домен SAML не будет поддерживать аутентификацию пользователей, пока метаданные не будут успешно загружены. Эта настройка игнорируется, если метаданные загружаются из файла.
-
idp.metadata.http.refresh -
(Статический) Управляет частотой проверки метаданных
httpsна наличие изменений. По умолчанию значение равно1h(1 час).В некоторых случаях Elasticsearch может определить, что метаданные необходимо проверять чаще. Это может произойти, если предыдущие попытки загрузки метаданных завершились ошибкой или если метаданные указывают на то, что они должны истечь менее чем через заданный интервал обновления. В этих случаях Elasticsearch будет опрашивать чаще, но не чаще, чем
idp.metadata.http.minimum_refresh. Если происходит попытка аутентификации в домене, для которого еще не загружены метаданные, этот домен может попытаться загрузить метаданные вне заданной частоты опроса.
-
idp.metadata.http.minimum_refresh - (Статический) Управляет минимальной частотой проверки изменений метаданных
https. В обычном режиме Elasticsearch будет использовать значениеidp.metadata.http.refreshв качестве интервала опроса. Однако в некоторых случаях Elasticsearch может определить необходимость более частых опросов. В таких случаяхminimum_refreshустановит минимальную частоту проверки метаданных. По умолчанию значение5m(5 минут), и оно не должно быть большеidp.metadata.http.refresh
-
idp.use_single_logout - (Статический) Указывает, следует ли использовать службу единого выхода Identity Provider (если такая служба существует в файле метаданных IdP). По умолчанию значение
true.
-
sp.entity_id - (Статический) Идентификатор субъекта для данного SAML-службы-провайдера. Он должен быть введен как URI. Рекомендуется использовать базовый URL вашего экземпляра Kibana. Например,
https://kibana.example.com/.
-
sp.acs - (Статический) URL службы потребления утверждений в Kibana. Обычно это конечная точка "api/security/saml/callback" вашего сервера Kibana. Например,
https://kibana.example.com/api/security/saml/callback.
-
sp.logout - (Статический) URL службы единого выхода в Kibana. Обычно это конечная точка "logout" вашего сервера Kibana. Например,
https://kibana.example.com/logout.
-
attributes.principal - (Статический) Название SAML-атрибута, содержащего принципал пользователя (имя пользователя).
-
attributes.groups - (Статический) Название SAML-атрибута, содержащего группы пользователя.
-
attributes.name - (Статический) Название SAML-атрибута, содержащего полное имя пользователя.
-
attributes.mail - (Статический) Название SAML-атрибута, содержащего адрес электронной почты пользователя.
-
attributes.dn - (Статический) Название SAML-атрибута, содержащего полное имя пользователя в формате X.50 Distinguished Name.
-
attribute_patterns.principal - (Статический) Java регулярное выражение, которое применяется к SAML-атрибуту, указанному в
attributes.principal, перед применением к свойству principal пользователя. Значение атрибута должно соответствовать шаблону, и значение первой захватывающей группы используется в качестве принципала. Например,^([^@]+)@example\\.com$соответствует адресам электронной почты из домена "example.com" и использует локальную часть как принципал.
-
attribute_patterns.groups - (Статический) Аналогично
attribute_patterns.principal, но для свойства group.
-
attribute_patterns.name - (Статический) Аналогично
attribute_patterns.principal, но для свойства name.
-
attribute_patterns.mail - (Статический) Аналогично
attribute_patterns.principal, но для свойства mail.
-
attribute_patterns.dn - (Статический) Аналогично
attribute_patterns.principal, но для свойства dn.
-
attribute_delimiters.groups - (Статический) Простая строка, используемая в качестве разделителя для разделения однозначного SAML-атрибута, указанного в
attributes.groups, перед применением к свойству groups пользователя. Например, разделение значения SAML-атрибутаengineering,elasticsearch-admins,employeesпо разделителю,приведет к списку групп для пользователяengineering,elasticsearch-adminsиemployees. Разделитель всегда будет применяться, независимо от экранирования в входной строке. Это свойство не поддерживает многозначные SAML-атрибуты. Его нельзя использовать вместе с настройкойattribute_patterns. Данная настройка может быть использована только для атрибута групп.
-
nameid_format - (Статический) Формат NameID, который должен быть запрошен у IdP для аутентификации текущего пользователя. По умолчанию атрибут
nameid_formatне включается.
-
nameid.allow_create - (Статический) Значение атрибута
AllowCreateэлементаNameIdPolicyв запросе на аутентификацию. По умолчанию значение равно false.
-
nameid.sp_qualifier - (Статический) Значение атрибута
SPNameQualifierэлементаNameIdPolicyв запросе на аутентификацию. По умолчанию атрибутSPNameQualifierне включается.
-
force_authn - (Статический) Указывает, следует ли устанавливать атрибут
ForceAuthnпри запросе аутентификации пользователя у IdP. Если установлено значениеtrue, IdP должен верифицировать личность пользователя, независимо от существующих сессий. По умолчанию значениеfalse.
-
populate_user_metadata - (Статический) Указывает, следует ли заполнять метаданные пользователя Elasticsearch значениями, предоставленными атрибутами SAML. По умолчанию
true. -
authorization_realms - (Статический) Названия областей, которые следует проконсультировать для делегированного авторизации. Если используется данная настройка, область SAML не выполняет сопоставление ролей, а вместо этого загружает пользователя из указанных областей. См. Делегирование авторизации другой области.
-
allowed_clock_skew - (Статический) Максимальное значение отклонения, которое может быть допущено между часами IdP и часами узла Elasticsearch. По умолчанию
3m(3 минуты).
-
req_authn_context_class_ref -
(Статический) Список значений Authentication Context Class Reference, разделенных запятыми, которые следует включить в Requested Authentication Context при запросе аутентификации IdP текущего пользователя. Контекст аутентификации соответствующего ответа об аутентификации должен содержать по крайней мере одно из запрошенных значений.
Дополнительную информацию см. в разделе Запрос конкретных методов аутентификации.
Параметры подписи области SAML
Если ключ подписи настроен (то есть, signing.key или signing.keystore.path заданы), Elasticsearch подписывает исходящие сообщения SAML. Подпись можно настроить с помощью следующих параметров:
-
signing.saml_messages - (Статический) Список типов сообщений SAML, которые должны быть подписаны, или
*для подписи всех сообщений. Каждый элемент в списке должен быть локальным именем элемента SAML XML. Поддерживаемые типы элементов —AuthnRequest,LogoutRequestиLogoutResponse. Действительно только при условии, чтоsigning.keyилиsigning.keystore.pathтакже указаны. По умолчанию*.
-
signing.key - (Статический) Указывает путь к кодированному в PEM закрытому ключу для использования при подписи сообщений SAML.
signing.keyиsigning.keystore.pathнельзя использовать одновременно. -
signing.secure_key_passphrase - (Безопасные) Указывает пароль для расшифровки кодированного в PEM закрытого ключа (
signing.key), если он зашифрован.
-
signing.certificate - (Статический) Указывает путь к кодированному в PEM сертификату (или цепочке сертификатов), соответствующему
signing.key. Этот сертификат также должен быть включен в метаданные поставщика услуг или вручную настроен в IdP для проверки подписи. Эта настройка может быть использована только при условии, чтоsigning.keyустановлена.
-
signing.keystore.path - (Статический) Путь к хранилищу ключей, содержащему закрытый ключ и сертификат. Он должен быть хранилищем ключей Java (jks) или файлом PKCS#12. Нельзя использовать эту настройку и
signing.keyодновременно.
-
signing.keystore.type - (Статический) Тип хранилища ключей (
signing.keystore.path). Должен быть либоjks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или "pkcs12", эта настройка по умолчанию устанавливается наPKCS12. В противном случае — наjks.
-
signing.keystore.alias - (Статический) Указывает псевдоним ключа в хранилище ключей, который должен использоваться для подписи сообщений SAML. Если хранилище ключей содержит более одного закрытого ключа, эта настройка должна быть указана.
-
signing.keystore.secure_password - (Безопасные) Пароль к хранилищу ключей (
signing.keystore.path). -
signing.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей (
signing.keystore.path). По умолчанию совпадает с паролем хранилища ключей.
Настройки шифрования области SAML
Если ключ шифрования настроен (то есть, encryption.key или encryption.keystore.path установлены), Elasticsearch публикует сертификат шифрования при генерации метаданных и пытается расшифровать входящее содержимое SAML. Шифрование можно настроить с помощью следующих параметров:
-
encryption.key - (Статический) Указывает путь к кодированному в PEM закрытому ключу для использования при расшифровке сообщений SAML.
encryption.keyиencryption.keystore.pathнельзя использовать одновременно. -
encryption.secure_key_passphrase - (Безопасные) Указывает пароль для расшифровки кодированного в PEM закрытого ключа (
encryption.key), если он зашифрован.
-
encryption.certificate - (Статический) Указывает путь к кодированному в PEM сертификату (или цепочке сертификатов), связанному с
encryption.key. Этот сертификат также должен быть включен в метаданные поставщика услуг или вручную настроен в IdP для включения шифрования сообщений. Эта настройка может быть использована только при условии, чтоencryption.keyустановлена.
-
encryption.keystore.path - (Статический) Путь к хранилищу ключей, содержащему закрытый ключ и сертификат. Он должен быть хранилищем ключей Java (jks) или файлом PKCS#12. Нельзя использовать эту настройку и
encryption.keyодновременно.
-
encryption.keystore.type - (Статический) Тип хранилища ключей (
encryption.keystore.path). Должен быть либоjks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или "pkcs12", эта настройка по умолчанию устанавливается наPKCS12. В противном случае — наjks.
-
encryption.keystore.alias - (Статический) Указывает псевдоним ключа в хранилище ключей (
encryption.keystore.path), который следует использовать для расшифровки сообщений SAML. Если не указано, все совместимые пары ключей из хранилища ключей рассматриваются как кандидатные ключи для расшифровки. -
encryption.keystore.secure_password - (Безопасный) Пароль к хранилищу ключей (
encryption.keystore.path). -
encryption.keystore.secure_key_password - (Безопасный) Пароль к ключу в хранилище ключей (
encryption.keystore.path). Поддерживается только один пароль. Если вы используете несколько ключей расшифровки, они не могут иметь отдельные пароли.
Настройки SSL домена SAML
Если вы загружаете метаданные IdP через SSL/TLS (то есть, idp.metadata.path это URL с использованием https протокола), можно использовать следующие настройки для конфигурации SSL.
Эти настройки не используются для целей, отличных от загрузки метаданных по протоколу https.
-
ssl.key -
(Статический) Путь к файлу, содержащему приватный ключ в формате PEM.
Если требуется аутентификация HTTP-клиента, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно.
-
ssl.key_passphrase -
(Статический) Пароль для расшифровки приватного ключа. Поскольку ключ может быть не зашифрован, это значение необязательно. [7.17.0] Устарело в 7.17.0. Вместо этого используйте
ssl.secure_key_passphrase.Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно.
-
ssl.secure_key_passphrase -
(Безопасный) Пароль для расшифровки приватного ключа. Поскольку ключ может быть не зашифрован, это значение необязательно.
Вы не можете использовать эту настройку и
ssl.key_passphraseодновременно.
-
ssl.certificate -
(Статический) Указывает путь к файлу в формате PEM, содержащему сертификат (или цепочку сертификатов), связанный с ключом.
Эта настройка может быть использована только если настроено
ssl.key.
-
ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут быть использованы одновременно.
-
ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему приватный ключ и сертификат.
Он должен быть либо хранилищем ключей Java (jks), либо файлом PKCS#12. Вы не можете использовать эту настройку и
ssl.keyодновременно.
-
ssl.keystore.type - (Статический) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или ".pkcs12", эта настройка по умолчанию устанавливается вPKCS12. В противном случае — вjks.
-
ssl.keystore.password - (Статический) Пароль к хранилищу ключей. [7.17.0] Устарело в 7.17.0. Вместо этого используйте
ssl.keystore.secure_password.
-
ssl.keystore.secure_password -
(Безопасный) Пароль к хранилищу ключей.
Вы не можете использовать эту настройку и
ssl.keystore.passwordодновременно. -
ssl.keystore.key_password -
(Статический) Пароль к ключу в хранилище ключей. По умолчанию используется пароль к хранилищу ключей. [7.17.0] Устарело в 7.17.0. Вместо этого используйте
ssl.keystore.secure_key_password.Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно.Вы не можете использовать эту настройку и
ssl.keystore.secure_key_passwordодновременно. -
ssl.keystore.secure_key_password - (Безопасный) Пароль к ключу в хранилище ключей. По умолчанию используется пароль к хранилищу ключей.
Вы не можете использовать эту настройку и ssl.keystore.key_password одновременно.
-
ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему доверенные сертификаты. Оно должно быть либо хранилищем ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно.
-
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Он должен быть либо
jks, либоPKCS12. Если имя файла заканчивается на ".p12", ".pfx" или "pkcs12", по умолчанию используетсяPKCS12. В противном случае —jks.
-
ssl.truststore.password -
(Статический) Пароль к хранилищу доверенных сертификатов. [7.17.0] Устарело в 7.17.0. Вместо этого используйте
ssl.truststore.secure_password.Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
-
ssl.truststore.secure_password -
(Безопасный) Пароль к хранилищу доверенных сертификатов.
Эта настройка не может быть использована с
ssl.truststore.password.
-
ssl.verification_mode -
(Статический) Управляет проверкой сертификатов.
Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, находящуюся в пределах
not_beforeиnot_afterдат; ссылается на доверенный центр сертификации (ЦС); имеетhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и проверяет, что он подписан доверенным центром сертификации (ЦС), но не проверяет
hostnameсертификата. -
none -
Не выполняет проверку сертификатов.
Установка проверки сертификатов на
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Установите это значение только по указанию службы поддержки Elastic в качестве временной диагностической меры при попытке устранения ошибок TLS.
По умолчанию
full. -
-
ssl.supported_protocols -
(Статический) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если провайдер SSL JVM поддерживает TLSv1.3, значение по умолчанию —TLSv1.3,TLSv1.2,TLSv1.1. В противном случае значение по умолчанию —TLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS в вашем JDK. Для получения дополнительной информации см. Поддерживаемые версии SSL/TLS в зависимости от версии JDK.
Если
xpack.security.fips_mode.enabledравноtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2.
-
ssl.cipher_suites -
(Статический) Поддерживаемые наборы шифров различаются в зависимости от используемой версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Дополнительную информацию см. в документации Oracle по Java Cryptography Architecture.
Настройки Kerberos realm
В дополнение к настройкам, действительным для всех областей, можно указать следующие настройки:
-
keytab.path - (Статический) Указывает путь к файлу keytab Kerberos, содержащему субъект сервиса, используемый этим узлом Elasticsearch. Это должно быть расположение в каталоге конфигурации Elasticsearch, и файл должен иметь разрешения на чтение. Обязательно.
-
remove_realm_name - (Статический) Установите значение
true, чтобы удалить часть realm из имен субъектов. Имена субъектов в Kerberos имеют форматuser/instance@REALM. Если этот параметр имеет значениеtrue, часть realm (@REALM) не будет включена в имя пользователя. Значение по умолчанию —false. -
krb.debug - (Статический) Установите значение
true, чтобы включить журналы отладки для модуля входа в систему Java, который обеспечивает поддержку проверки подлинности Kerberos. Значение по умолчанию —false.
-
cache.ttl - (Статический) Время жизни для кэшированных записей пользователей. Пользователь кэшируется на этот период времени. Укажите временной интервал, используя стандартные единицы времени Elasticsearch. Значение по умолчанию —
20m.
-
cache.max_users - (Статический) Максимальное количество записей пользователей, которые могут одновременно находиться в кэше. Значение по умолчанию — 100 000.
-
authorization_realms - (Статический) Имена областей, которые следует использовать для делегированного авторизации. Если используется эта настройка, то область Kerberos не выполняет сопоставление ролей, а вместо этого загружает пользователя из указанных областей. См. Делегирование авторизации другой области.
Настройки области OpenID Connect
В дополнение к настройкам, действительным для всех областей, можно указать следующие настройки.
-
op.issuer - (Статический) Проверяемый идентификатор для вашего поставщика OpenID Connect. Идентификатор эмитента обычно представляет собой URL-адрес с учетом регистра, использующий схему https, который содержит компоненты схемы, хоста и, необязательно, номера порта и пути, а также не содержит компонентов запроса или фрагмента. Значение для этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.authorization_endpoint - (Статический) URL-адрес для конечной точки авторизации у поставщика OpenID Connect. Значение для этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.token_endpoint - (Статический) URL-адрес для конечной точки токена у поставщика OpenID Connect. Значение для этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.userinfo_endpoint - (Статический) URL-адрес для конечной точки информации о пользователе у поставщика OpenID Connect. Значение для этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.endsession_endpoint - (Статический) URL-адрес для конечной точки завершения сеанса у поставщика OpenID Connect. Значение для этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.jwkset_path - (Статический)
Имя файла или URL-адрес для набора ключей JSON Web Key Set (JWKS) с материалами открытого ключа, используемыми для проверки токенов и ответов на запросы, подписанных поставщиком OpenID Connect. Значение считается именем файла, если оно не начинается с https или http. Имя файла разрешается относительно каталога конфигурации Elasticsearch. Изменения в файле опрашиваются с частотой, определяемой глобальной настройкой Elasticsearch resource.reload.interval.high, которая по умолчанию составляет 5 секунд.
+ Если указан URL-адрес, он должен начинаться с https:// или http://. Elasticsearch автоматически кэширует полученный JWK и будет пытаться обновить JWK при сбое проверки подписи, так как это может указывать на то, что поставщик OpenID Connect повернул ключи подписи.
-
authorization_realms - (Статический) Имена областей, которые следует использовать для делегированного авторизации. Если используется эта настройка, то область OpenID Connect не выполняет сопоставление ролей, а вместо этого загружает пользователя из указанных областей. См. Делегирование авторизации другой области.
-
rp.client_id - (Статический) Идентификатор клиента OAuth 2.0, назначенный Elasticsearch во время регистрации у поставщика OpenID Connect.
-
rp.client_secret - (Защищенные) Секретный ключ клиента OAuth 2.0, назначенный Elasticsearch во время регистрации у поставщика OpenID Connect.
-
rp.client_auth_method - (Статический) Метод аутентификации клиента, используемый Elasticsearch для аутентификации с поставщиком OpenID Connect. Может быть
client_secret_basic,client_secret_postилиclient_secret_jwt. По умолчаниюclient_secret_basic.
-
rp.client_auth_jwt_signature_algorithm - (Статический) Алгоритм подписи, который Elasticsearch использует для подписи JWT, с помощью которого он аутентифицируется как клиент у поставщика OpenID Connect, когда
client_secret_jwtвыбран дляrp.client_auth_method. Может бытьHS256,HS384илиHS512. По умолчаниюHS384.
-
rp.redirect_uri - (Статический) URI перенаправления в Kibana. Если вы хотите использовать поток с кодом авторизации, это конечная точка
api/security/oidc/callbackвашего сервера Kibana. Если вы хотите использовать неявный поток, это конечная точкаapi/security/oidc/implicit. Например,https://kibana.example.com/api/security/oidc/callback.
-
rp.response_type - (Статический) Значение типа ответа OAuth 2.0, определяющее поток обработки авторизации, который будет использоваться. Может быть
codeдля потока предоставления кода авторизации или одним изid_token,id_token tokenдля неявного потока.
-
rp.signature_algorithm - (Статический) Алгоритм подписи, который будет использоваться Elasticsearch для проверки подписи идентификационных токенов, которые он получит от поставщика OpenID Connect. Допустимые значения:
HS256,HS384,HS512,ES256,ES384,ES512,RS256,RS384,RS512,PS256,PS384,PS512. По умолчаниюRS256.
-
rp.requested_scopes - (Статический) Значения области, которые будут запрошены у поставщика OpenID Connect в рамках запроса на аутентификацию. Необязательно, по умолчанию
openid
-
rp.post_logout_redirect_uri - (Статический) URI перенаправления (обычно в Kibana), куда поставщик OpenID Connect должен перенаправить браузер после успешного однократного выхода.
-
claims.principal - (Статический) Название свойства OpenID Connect, содержащего основной элемент пользователя (имя пользователя).
-
claims.groups - (Статический) Название свойства OpenID Connect, содержащего группы пользователя.
-
claims.name - (Статический) Название свойства OpenID Connect, содержащего полное имя пользователя.
-
claims.mail - (Статический) Название свойства OpenID Connect, содержащего адрес электронной почты пользователя.
-
claims.dn - (Статический) Название свойства OpenID Connect, содержащего Distinguished Name пользователя X.509.
-
claim_patterns.principal - (Статический) Регулярное выражение Java, которое сопоставляется со свойством OpenID Connect, указанным в
claims.principal, прежде чем оно будет применено к свойству principal пользователя. Значение атрибута должно соответствовать шаблону, а значение первой группы захвата используется в качестве основного элемента. Например,^([^@]+)@example\\.com$соответствует адресам электронной почты из домена «example.com» и использует локальную часть в качестве основного элемента.
-
claim_patterns.groups - (Статический) Согласно
claim_patterns.principal, но для свойства group.
-
claim_patterns.name - (Статический) Согласно
claim_patterns.principal, но для свойства name.
-
claim_patterns.mail - (Статический) Согласно
claim_patterns.principal, но для свойства mail.
-
claim_patterns.dn - (Статический) Согласно
claim_patterns.principal, но для свойства dn.
-
allowed_clock_skew - (Статический) Максимальное разрешённое смещение времени, которое учитывается при проверке токенов id относительно времени создания и истечения срока действия. По умолчанию
60s.
-
populate_user_metadata - (Статический) Указывает, нужно ли заполнять метаданные пользователя Elasticsearch значениями, предоставленными свойствами OpenID Connect. По умолчанию
true. -
http.proxy.host - (Статический) Указывает адрес прокси-сервера, который будет использоваться внутренним http-клиентом для всех коммуникаций с конечными точками поставщика OpenID Connect. Это включает запросы к токен-точке, точке userinfo и запросы для получения набора ключей JSON Web от поставщика, если
op.jwkset_pathзадан как URL. -
http.proxy.scheme - (Статический) Указывает протокол для подключения к прокси-серверу, который будет использоваться http-клиентом для всех коммуникаций с конечными точками поставщика OpenID Connect. По умолчанию
http. Допустимые значения:httpилиhttps. -
http.proxy.port - (Статический) Указывает порт прокси-сервера, который будет использоваться http-клиентом для всех коммуникаций с конечными точками поставщика OpenID Connect. По умолчанию
80.
-
http.connect_timeout - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает время ожидания до установления соединения. Значение 0 означает, что таймаут не используется. По умолчанию значение
5s.
-
http.connection_read_timeout - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает время ожидания при запросе соединения от диспетчера соединений. По умолчанию
5s.
-
http.socket_timeout - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает таймаут сокета (SO_TIMEOUT) в миллисекундах, который представляет собой время ожидания данных или, другими словами, максимальный период бездействия между двумя последовательными пакетами данных. По умолчанию
5s.
-
http.max_connections - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает максимальное количество разрешенных соединений по всем конечным точкам. По умолчанию
200.
-
http.max_endpoint_connections - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает максимальное количество разрешенных соединений на каждую конечную точку. По умолчанию
200.
-
http.tcp.keep_alive - (Статический) Включить или выключить TCP keepalives для HTTP-соединений, используемых для взаимодействия с конечными точками поставщика OpenID Connect. По умолчанию
true.
-
http.connection_pool_ttl - (Статический) Управляет поведением HTTP-клиента, используемого для взаимодействия с конечными точками поставщика OpenID Connect. Устанавливает время жизни соединений в пуле соединений (по умолчанию 3 минуты). Соединение закрывается, если оно простаивает более заданного времени ожидания.
Сервер также может установить заголовок HTTP-ответа Keep-Alive. Эффективное значение времени жизни — меньшее из этих двух значений: настройка и заголовок ответа Keep-Alive. Настройте это значение на -1, чтобы сервер определял значение. Если заголовок не установлен сервером, а настройка имеет значение -1, время жизни — бесконечное, и соединения никогда не истекают.
Настройки SSL для области OpenID Connect
Следующие настройки могут использоваться для настройки SSL для всех исходящих HTTP-соединений с конечными точками поставщика OpenID Connect.
Эти настройки только используются для обмена данными между Elasticsearch и поставщиком OpenID Connect.
-
ssl.key -
(Статический) Путь к файлу с кодом ключа в формате PEM.
Если требуется аутентификация HTTP-клиента, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно.
-
ssl.key_passphrase -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно. [7.17.0] Устарело в 7.17.0. Используйте
ssl.secure_key_passphraseвместо этого.Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно.
-
ssl.secure_key_passphrase -
(Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно.
Вы не можете использовать эту настройку и
ssl.key_passphraseодновременно.
-
ssl.certificate -
(Статический) Указывает путь к файлу с кодом сертификата (или цепочки сертификатов) связанного с ключом в формате PEM.
Эта настройка может быть использована только если настроена
ssl.key.
-
ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут использоваться одновременно.
-
ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Он должен быть либо хранилищем ключей Java (jks), либо файлом PKCS#12. Вы не можете использовать эту настройку и
ssl.keyодновременно.
-
ssl.keystore.type - (Статический) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей оканчивается на ".p12", ".pfx" или ".pkcs12", эта настройка по умолчанию устанавливается вPKCS12. В противном случае по умолчанию устанавливаетсяjks.
-
ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в 7.17.0. Используйте
ssl.keystore.secure_passwordвместо этого.
-
ssl.keystore.secure_password -
(Безопасные) Пароль для хранилища ключей.
Вы не можете использовать эту настройку и
ssl.keystore.passwordодновременно. -
ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей. [7.17.0] Устарело в 7.17.0. Используйте
ssl.keystore.secure_key_passwordвместо этого.Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно.Вы не можете использовать эту настройку и
ssl.keystore.secure_key_passwordодновременно. -
ssl.keystore.secure_key_password -
(Безопасные) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
Вы не можете использовать эту настройку и
ssl.keystore.key_passwordодновременно.
-
ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Оно должно быть либо хранилищем ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно.
-
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Он должен быть либо
jks, либоPKCS12. Если имя файла заканчивается на ".p12", ".pfx" или "pkcs12", значение по умолчанию —PKCS12. В противном случае, значение по умолчанию —jks.
-
ssl.truststore.password -
(Статический) Пароль к хранилищу доверенных сертификатов. [7.17.0] Устарело в 7.17.0. Рекомендуется использовать
ssl.truststore.secure_passwordвместо этого.Нельзя использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
-
ssl.truststore.secure_password -
(Безопасный) Пароль к хранилищу доверенных сертификатов.
Нельзя использовать эту настройку и
ssl.truststore.passwordодновременно.
-
ssl.verification_mode -
(Статический) Управление проверкой сертификатов.
Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, попадающую в диапазон между
not_beforeиnot_after; связан с доверенным центром сертификации (ЦС); имеетhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и удостоверяет, что он подписан доверенным центром сертификации (ЦС), но не проверяет
hostnameсертификата. -
none -
Не производит проверку сертификатов.
Установка проверки сертификатов на
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Установите это значение только по указанию службы поддержки Elastic как временной диагностической меры при попытке устранения ошибок TLS.
Значение по умолчанию —
full. -
-
ssl.supported_protocols -
(Статический) Поддерживаемые протоколы и версии. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL JVM поддерживает TLSv1.3, значение по умолчанию —TLSv1.3,TLSv1.2,TLSv1.1. В противном случае, значение по умолчанию —TLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Более подробную информацию см. в разделе Поддерживаемые версии SSL/TLS по версиям JDK.
Если
xpack.security.fips_mode.enabledравноtrue, нельзя использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2.
-
ssl.cipher_suites -
(Статический) Поддерживаемые наборы шифров зависят от используемой вами версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Для получения дополнительной информации см. документацию Oracle по Java Cryptography Architecture.
Настройки JWT областей
В дополнение к настройкам, применимым ко всем областям, вы можете указать следующие настройки.
-
token_type - (Статический) Тип токена,
id_tokenилиaccess_token, который JWT-область использует для проверки входящих JWT. Значение по умолчанию —id_token.
-
allowed_audiences - (Статический) Список разрешенных аудиторий JWT, которые Elasticsearch должен проверять. Elasticsearch будет обрабатывать только JWT, предназначенные для одной из этих аудиторий, как указано в утверждении
audв JWT. Аудитории сравниваются по точному соответствию строк и не поддерживают подстановочные знаки или регулярные выражения. Примеры утвержденияaud—https://example.com/client1иother_service,elasticsearch. Когдаtoken_typeравноaccess_token, аудитории могут быть указаны в JWT с помощью другого утверждения, еслиaudне существует. См. такжеfallback_claims.aud.
-
required_claims - (Статическое) Дополнительные утверждения и связанные значения, которые Elasticsearch должен проверить. Это групповое значение, принимающее пары ключ/значение, где ключ — строка, а значение должно быть либо строкой, либо массивом строк. Значения сравниваются с точным соответствием строк и не поддерживают подстановочные знаки или регулярные выражения.
Например:
xpack.security.authc.realms.jwt.jwt1:
required_claims:
token_use: "id"
versions: ["1.0", "2.0"] -
allowed_signature_algorithms - (Статическое) Список алгоритмов подписи, которые будут использоваться Elasticsearch для проверки подписи JWT, полученного от издателя JWT. По умолчанию
RS256. Примеры —HS512,RS512,ES512иES384. Допустимые значения —HS256,HS384,HS512,ES256,ES384,ES512,RS256,RS384,RS512,PS256,PS384,PS512. -
authorization_realms - (Статическое) Названия областей, которые следует проконсультировать по делегированному авторизации. Если используется это значение, то область JWT не выполняет сопоставление ролей, а вместо этого загружает пользователя из указанных областей. См. Делегирование авторизации другой области.
-
claims.dn - (Статическое) Название утверждения JWT, содержащего Distinguished Name (DN) пользователя, который однозначно идентифицирует пользователя или группу.
-
claim_patterns.dn - (Статическое) Принимает то же Java регулярное выражение, что и
claim_patterns.principal, но для свойстваdn.
-
claims.groups - (Статическое) Название утверждения JWT, содержащего группы пользователя, такие как
groupsиroles.
-
claim_patterns.group - (Статическое) Принимает то же Java регулярное выражение, что и
claim_patterns.principal, но для свойстваgroup.
-
claims.mail - (Статическое) Название утверждения JWT, содержащего электронный адрес пользователя.
-
claim_patterns.mail - (Статическое) Принимает то же Java регулярное выражение, что и
claim_patterns.principal, но для свойстваmail.
-
claims.name - (Статическое) Название утверждения JWT, содержащего имя пользователя.
-
claim_patterns.name - (Статическое) Принимает то же Java регулярное выражение, что и
claim_patterns.principal, но для свойстваname.
-
claims.principal - (Статическое) Название утверждения JWT, содержащего пользователя principal (имя пользователя), такие как
sub,name,emailиdn.
-
claim_patterns.principal - (Статическое) Необязательное Java регулярное выражение, которое сопоставляется с утверждением JWT, указанным в
claims.principal, прежде чем оно будет применено к свойству пользователяprincipal. Значение должно соответствовать шаблону, и значение первой группы захвата используется в качестве principal. Например,^([^@]+)@example\\.com$соответствует адресам электронной почты из доменаexample.comи использует локальную часть в качестве principal. Другой пример —sub, для которого может не потребоваться настройка шаблона.
-
client_authentication.type -
(Статическое) Указывает, использовать ли
shared_secretилиnoneдля аутентификации входящих запросов клиента. Если это значениеshared_secret, клиент аутентифицируется с помощью заголовка HTTP-запроса, который должен соответствовать предварительно настроенному секрету. Клиент должен предоставить этот общий секрет с каждым запросом в заголовкеES-Client-Authentication. Если это значениеnone, заголовок запросаES-Client-Authenticationигнорируется. По умолчаниюshared_secret.Включение проверки подлинности клиентов рекомендуется. Если маркеры JWT-носителей совместно используются с другими клиентами или службами, проверка подлинности клиентов ограничивает, какие из них разрешается отправлять эти JWT в Elasticsearch.
-
client_authentication.shared_secret - (Безопасный, перезагружаемый) Строковое значение секрета для проверки подлинности клиента. Требуется, если
client_authentication.typeравноshared_secret.
-
client_authentication.rotation_grace_period - (Статическое) Устанавливает период отсрочки, в течение которого после вращения
client_authentication.shared_secretостается действительным.client_authentication.shared_secretможно пересчитать, обновив хранилище ключей, а затем вызвав API перезагрузки. По умолчанию1m.
-
http.connect_timeout - (Статическое) Устанавливает тайм-аут для HTTP-клиента, который используется для извлечения набора JSON-ключей из удаленного URL-адреса. Значение 0 означает, что тайм-аут не используется. По умолчанию
5s.
-
http.connection_read_timeout - (Статическое) Указывает HTTP-тайм-аут, используемый при запросе соединения от диспетчера соединений. По умолчанию
5s.
-
http.socket_timeout - (Статическое) Указывает максимальный тайм-аут сокета (SO_TIMEOUT) для ожидания HTTP-клиента в случае отсутствия активности между двумя последовательными пакетами данных. По умолчанию
5s.
-
http.max_connections - (Статический) Указывает максимальное количество подключений, разрешенных для всех конечных точек.
-
http.max_endpoint_connections - (Статический) Указывает максимальное количество подключений, разрешенных на одну конечную точку.
-
jwt.cache.size - (Статический) Указывает максимальное количество записей кэша JWT. Если клиенты используют разные JWT для каждого запроса, установите значение
0, чтобы отключить кэш JWT. По умолчанию100000. -
jwt.cache.ttl - (Статический) Указывает время жизни (TTL) для кэширования записей JWT. JWT могут быть кэшированы только в случае успешной проверки подлинности клиента (или если проверка подлинности отключена). Используются стандартные единицы измерения времени Elasticsearch единицы времени. Если клиенты используют разные JWT для каждого запроса, установите значение
0, чтобы отключить кэш JWT. По умолчанию20m.
-
pkc_jwkset_path - (Статический) Имя файла или URL-адрес набора JSON Web Key (JWKS) с публичным ключом, который JWT Realm использует для проверки подписей токенов. Значение интерпретируется как имя файла, если оно не начинается с
https. Имя файла разрешается относительно каталога конфигурации Elasticsearch. Если предоставлен URL-адрес, он должен начинаться сhttps://(http://не поддерживается). Elasticsearch автоматически кэширует набор JWK и попытается обновить набор JWK при сбое проверки подписи, так как это может указывать на то, что поставщик JWT сменил ключи подписи.
-
hmac_jwkset - (Безопасные) Содержимое набора JSON Web Key (JWKS), включая секретный ключ, который JWT realm использует для проверки подписей токенов. Этот формат поддерживает несколько ключей и необязательные атрибуты и предпочтительнее настройки
hmac_key. Не может быть использовано совместно с настройкойhmac_key. См. Настройка Elasticsearch для использования JWT realm.
-
hmac_key - (Безопасные) Содержимое одного JSON Web Key (JWK), включая секретный ключ, который JWT realm использует для проверки подписей токенов. Этот формат поддерживает только один ключ без атрибутов и не может быть использован с настройкой
hmac_jwkset. Этот формат совместим с OIDC. Ключ HMAC должен быть строкой UNICODE, где байты ключа — это кодировка UTF-8 строки UNICODE. Настройкаhmac_jwksetпредпочтительнее. См. Настройка Elasticsearch для использования JWT realm.
-
populate_user_metadata - (Статический) Указывает, следует ли заполнить метаданные пользователя Elasticsearch значениями, предоставляемыми утверждениями JWT. По умолчанию
true.
Настройки SSL для JWT realm
Следующие настройки могут быть использованы для настройки SSL для получения набора JSON Web Key с удаленного URL.
Эти настройки используются только для обмена данными между Elasticsearch и поставщиком JWT.
-
ssl.key -
(Статический) Путь к файлу с закрытым ключом в формате PEM.
Используется, если требуется аутентификация клиента HTTP. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно.
-
ssl.key_passphrase -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может быть не зашифрован, это значение необязательно. [7.17.0] Устарело в 7.17.0. Используйте
ssl.secure_key_passphraseвместо этого.Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно.
-
ssl.secure_key_passphrase -
(Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может быть не зашифрован, это значение необязательно.
Вы не можете использовать эту настройку и
ssl.key_passphraseодновременно.
-
ssl.certificate -
(Статический) Указывает путь к файлу с сертификатом (или цепочкой сертификатов) в формате PEM, связанному с ключом.
Эта настройка может быть использована только если
ssl.keyустановлена.
-
ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут быть использованы одновременно.
-
ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Он должен быть хранилищем ключей Java (jks) или файлом PKCS#12. Вы не можете использовать эту настройку и
ssl.keyодновременно.
-
ssl.keystore.type - (Статический) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей оканчивается на ".p12", ".pfx" или ".pkcs12", эта настройка по умолчаниюPKCS12. В противном случае —jks.
-
ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в 7.17.0. Используйте
ssl.keystore.secure_passwordвместо этого.
-
ssl.keystore.secure_password -
(Безопасные) Пароль для хранилища ключей.
Вы не можете использовать эту настройку и
ssl.keystore.passwordодновременно. -
ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей. [7.17.0] Устарело в 7.17.0. Используйте
ssl.keystore.secure_key_passwordвместо этого.Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно.Вы не можете использовать эту настройку и
ssl.keystore.secure_key_passwordодновременно. -
ssl.keystore.secure_key_password -
(Безопасные) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
Вы не можете использовать эту настройку и
ssl.keystore.key_passwordодновременно.
-
ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Оно должно быть либо хранилищем ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно.
-
ssl.truststore.type - (Статический) Формат файла хранилища доверия. Он должен быть либо
jks, либоPKCS12. Если имя файла оканчивается на ".p12", ".pfx" или "pkcs12", значение по умолчанию —PKCS12. В противном случае, по умолчанию используетсяjks.
-
ssl.truststore.password -
(Статический) Пароль для хранилища доверия. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.truststore.secure_password.Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
-
ssl.truststore.secure_password -
(Безопасные) Пароль для хранилища доверия.
Вы не можете использовать эту настройку и
ssl.truststore.passwordодновременно.
-
ssl.verification_mode -
(Статический) Управляет проверкой сертификатов.
Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, которая находится в пределах
not_beforeиnot_afterдат; связан с надёжным центром сертификации (CA); имеетhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и подтверждает, что он подписан надёжным центром сертификации (CA), но не проверяет
hostnameсертификата. -
none -
Не производит проверку сертификатов.
Установка проверки сертификатов на значение
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Устанавливайте это значение только по указанию службы поддержки Elastic в качестве временной диагностической меры при попытке устранения ошибок TLS.
Значение по умолчанию —
full. -
-
ssl.supported_protocols -
(Статический) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL JVM поддерживает TLSv1.3, значение по умолчанию —TLSv1.3,TLSv1.2,TLSv1.1. В противном случае, значение по умолчанию —TLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Более подробную информацию см. в разделе Поддерживаемые версии SSL/TLS по версиям JDK.
Если
xpack.security.fips_mode.enabledравноtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2.
-
ssl.cipher_suites -
(Статический) Поддерживаемые наборы шифров зависят от используемой вами версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Дополнительную информацию см. в документации Java Cryptography Architecture Oracle по адресу .
Настройка балансировки нагрузки и резервного копирования
Настройка статического load_balance.type может иметь следующие значения:
-
failover: Указанные URL-адреса используются в том порядке, в котором они указаны. Первый сервер, к которому можно подключиться, будет использоваться для всех последующих подключений. Если подключение к этому серверу завершится неудачей, для последующих подключений будет использован следующий сервер, к которому можно установить подключение. -
dns_failover: В этом режиме работы может быть указан только один URL-адрес. Этот URL-адрес должен содержать имя DNS. Система запросит все IP-адреса, соответствующие этому имени DNS. Подключения к серверу Active Directory или LDAP всегда будут выполняться в том порядке, в котором они были получены. Это отличается отfailoverтем, что нет переупорядочения списка, и если сервер в начале списка недоступен, он по-прежнему будет пробоваться при каждом последующем подключении. -
round_robin: Подключения будут циклически проходить по списку предоставленных URL-адресов. Если сервер недоступен, циклический проход по списку URL-адресов будет продолжаться до тех пор, пока не будет установлено успешное подключение. -
dns_round_robin: В этом режиме работы может быть указан только один URL-адрес. Этот URL-адрес должен содержать имя DNS. Система запросит все IP-адреса, соответствующие этому имени DNS. Подключения будут циклически проходить по списку адресов. Если сервер недоступен, циклический проход по списку URL-адресов будет продолжаться до тех пор, пока не будет установлено успешное подключение.
Общие настройки TLS
-
xpack.security.ssl.diagnose.trust - (Статический) Управляет выводом диагностических сообщений об ошибках доверия SSL/TLS. Если это значение
true(по умолчанию), сообщение будет выведено в журнал Elasticsearch всякий раз, когда подключение SSL (входящее или исходящее) отклоняется из-за невозможности установить доверие. Это диагностическое сообщение содержит информацию, которая может использоваться для определения причины ошибки и помощи в решении проблемы. Установите значениеfalse, чтобы отключить эти сообщения.
Настройки ключа TLS/SSL и доверенного сертификата
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по подключению SSL/TLS. Если доверенные сертификаты не настроены, будут доверять стандартным сертификатам, которым доверяет JVM, а также сертификатам, связанным с ключом в том же контексте. Ключ и сертификат должны быть на месте для подключений, требующих проверки клиента или когда выполняется работа в качестве сервера SSL.
Хранение доверенных сертификатов в файле PKCS#12, хотя и поддерживается, на практике встречается редко. Инструмент elasticsearch-certutil, а также keytool Java, предназначены для создания файлов PKCS#12, которые могут использоваться как для хранения ключей, так и для хранения сертификатов, но это может не относиться к контейнерным файлам, созданным с помощью других инструментов. Обычно файлы PKCS#12 содержат только секретные и частные записи. Чтобы убедиться, что контейнер PKCS#12 включает записи доверенных сертификатов ("якорные" записи), найдите 2.16.840.1.113894.746875.1.1: <Unsupported tag 6> в выводе openssl pkcs12 -info или trustedCertEntry в выводе keytool -list.
Настройки HTTP TLS/SSL
Вы можете настроить следующие настройки TLS/SSL.
-
xpack.security.http.ssl.enabled - (Статические) Используется для включения или отключения TLS/SSL на уровне сетевого слоя HTTP, который Elasticsearch использует для связи с другими клиентами. По умолчанию значение
false. -
xpack.security.http.ssl.supported_protocols -
(Статические) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, значение по умолчаниюTLSv1.3,TLSv1.2,TLSv1.1. В противном случае, значение по умолчаниюTLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Более подробную информацию см. в разделе Поддерживаемые версии SSL/TLS по версиям JDK.
Если
xpack.security.fips_mode.enabledимеет значениеtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
xpack.security.http.ssl.client_authentication - (Статические) Управляет поведением сервера в отношении запроса сертификата от подключений клиентов. Допустимые значения:
required,optionalиnone.requiredзаставляет клиента предоставить сертификат, аoptionalзапрашивает сертификат клиента, но клиент не обязан его предоставлять. Значение по умолчаниюnone. -
xpack.security.http.ssl.verification_mode -
(Статические) Настройки SSL в
xpack.security.http.sslконтролируют серверный контекст для TLS, определяя настройки подключения TLS. Использованиеverification_modeв TLS сервере не рекомендуется. Определяет, как проверить сертификаты, представленные другой стороной в соединении TLS:Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату начала действия, находящуюся в пределах
not_beforeиnot_afterдат; имеет цепочку доверия до доверенного центра сертификации (ЦС); содержит имяhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и подтверждает, что он подписан доверенным центром сертификации (ЦС), но не проверяет поле
hostnameсертификата. -
none -
Не выполняет проверки сертификатов.
Установка проверки сертификатов на
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Устанавливайте это значение только по указанию службы поддержки Elastic в качестве временного диагностического механизма при попытке устранения ошибок TLS.
Значение по умолчанию
full. -
-
xpack.security.http.ssl.cipher_suites -
(Статические) Поддерживаемые наборы шифров зависят от используемой версии Java. Например, для версии 12 значение по умолчанию
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Дополнительную информацию см. в документации Oracle по Архитектуре криптографии Java.
Ключи HTTP TLS/SSL и настройки доверенных сертификатов
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые следует использовать при общении по подключению SSL/TLS. Закрытый ключ и сертификат должны быть настроены.
Файлы в формате PEM
При использовании файлов в формате PEM используйте следующие настройки:
-
xpack.security.http.ssl.key -
(Статические) Путь к файлу в формате PEM, содержащему закрытый ключ.
Если требуется аутентификация HTTP-клиента, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно. -
xpack.security.http.ssl.key_passphrase -
(Статические) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.secure_key_passphrase.Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно. -
xpack.security.http.ssl.secure_key_passphrase - (Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно.
-
xpack.security.http.ssl.certificate -
(Статические) Указывает путь к файлу в формате PEM с сертификатом (или цепочкой сертификатов), связанным с ключом.
Эта настройка может быть использована только если установлено
ssl.key. -
xpack.security.http.ssl.certificate_authorities -
(Статические) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут быть использованы одновременно.
Файлы хранилища ключей Java
При использовании файлов хранилища ключей Java (JKS), которые содержат закрытый ключ, сертификат и сертификаты, которым следует доверять, используйте следующие настройки:
-
xpack.security.http.ssl.keystore.path -
(Статические) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Это должно быть хранилище ключей Java (jks) или файл PKCS#12. Вы не можете использовать эту настройку и
ssl.keyодновременно. -
xpack.security.http.ssl.keystore.password - (Статические) Пароль для хранилища ключей. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.keystore.secure_password. -
xpack.security.http.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.key_password -
(Статические) Пароль для ключа в хранилище ключей. По умолчанию – пароль хранилища ключей. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.keystore.secure_key_password.Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно. -
xpack.security.http.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию – пароль хранилища ключей.
-
xpack.security.http.ssl.truststore.path -
(Статические) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Это должно быть хранилище ключей Java (jks) или файл PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
xpack.security.http.ssl.truststore.password -
(Статические) Пароль для хранилища доверия. [7.17.0] Устарело в 7.17.0. Предпочтительно использовать
ssl.truststore.secure_password.Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно. -
xpack.security.http.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверия.
Файлы PKCS#12
Elasticsearch можно настроить на использование файлов контейнеров PKCS#12 (.p12 или .pfx файлы), которые содержат закрытый ключ, сертификат и сертификаты, которым следует доверять.
Файлы PKCS#12 настраиваются так же, как файлы хранилища ключей Java:
-
xpack.security.http.ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Он должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12. Вы не можете использовать этот параметр и
ssl.keyодновременно. -
xpack.security.http.ssl.keystore.type - (Статический) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или ".pkcs12", этот параметр по умолчанию устанавливается в значениеPKCS12. В противном случае, по умолчанию он устанавливается в значениеjks. -
xpack.security.http.ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарел в 7.17.0. Предпочтите
ssl.keystore.secure_passwordвместо этого. -
xpack.security.http.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей. [7.17.0] Устарел в 7.17.0. Предпочтите
ssl.keystore.secure_key_passwordвместо этого.Вы не можете использовать этот параметр и
ssl.keystore.secure_passwordодновременно. -
xpack.security.http.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
-
xpack.security.http.ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему сертификаты для доверия. Он должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать этот параметр и
ssl.certificate_authoritiesодновременно. -
xpack.security.http.ssl.truststore.type - (Статический) Установите это значение в
PKCS12, чтобы указать, что хранилище доверия является файлом PKCS#12. -
xpack.security.http.ssl.truststore.password -
(Статический) Пароль для хранилища доверия. [7.17.0] Устарел в 7.17.0. Предпочтите
ssl.truststore.secure_passwordвместо этого.Вы не можете использовать этот параметр и
ssl.truststore.secure_passwordодновременно. -
xpack.security.http.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверия.
Настройки TLS/SSL для транспорта
Вы можете настроить следующие настройки TLS/SSL.
-
xpack.security.transport.ssl.enabled - (Статический) Используется для включения или отключения TLS/SSL на транспортном уровне сети, который узлы используют для взаимодействия друг с другом. По умолчанию значение
false. -
xpack.security.transport.ssl.supported_protocols -
(Статический) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, значение по умолчаниюTLSv1.3,TLSv1.2,TLSv1.1. В противном случае, значение по умолчаниюTLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. См. Поддерживаемые версии SSL/TLS для JDK для получения дополнительной информации.
Если
xpack.security.fips_mode.enabledимеет значениеtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
xpack.security.transport.ssl.client_authentication - (Статический) Управляет поведением сервера в отношении запроса сертификата от подключений клиентов. Допустимые значения:
required,optionalиnone.requiredтребует предоставления клиентом сертификата, аoptionalзапрашивает сертификат клиента, но клиент не обязан его предоставлять. По умолчанию значениеrequired. -
xpack.security.transport.ssl.verification_mode -
(Статический) Определяет, как проверять сертификаты, представленные другой стороной в соединении TLS:
Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, попадающую в диапазон между
not_beforeиnot_after; связан с доверенным центром сертификации (ЦС); имеетhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и удостоверяет, что он подписан доверенной авторитетной организацией (ЦС), но не проверяет
hostnameсертификата. -
none -
Не производит проверку сертификата.
Установив проверку сертификата на значение
none, вы отключаете многие преимущества безопасности SSL/TLS, что очень опасно. Изменяйте это значение только по указанию службы поддержки Elastic в качестве временного диагностического механизма при попытке устранения ошибок TLS.
По умолчанию значение
full. -
-
xpack.security.transport.ssl.cipher_suites -
(Статический) Поддерживаемые наборы шифров зависят от используемой версии Java. Например, для версии 12 значение по умолчанию:
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Для получения дополнительной информации, см. документацию Oracle по Java Cryptography Architecture .
Настройки ключа и доверенного сертификата TLS/SSL для транспорта
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по соединению SSL/TLS. Необходимо настроить закрытый ключ и сертификат.
Файлы в формате PEM
При использовании файлов в формате PEM используйте следующие настройки:
-
xpack.security.transport.ssl.key -
(Статический) Путь к файлу в формате PEM, содержащему закрытый ключ.
Если требуется аутентификация клиента HTTP, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно. -
xpack.security.transport.ssl.key_passphrase -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может быть не зашифрован, это значение необязательно. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.secure_key_passphrase.Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно. -
xpack.security.transport.ssl.secure_key_passphrase - (Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может быть не зашифрован, это значение необязательно.
-
xpack.security.transport.ssl.certificate -
(Статический) Указывает путь к файлу в формате PEM, содержащему сертификат (или цепочку сертификатов), связанный с ключом.
Эта настройка может использоваться только если настроено
ssl.key. -
xpack.security.transport.ssl.certificate_authorities -
(Статический) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут использоваться одновременно.
Файлы хранилища ключей Java
При использовании файлов хранилища ключей Java (JKS), которые содержат закрытый ключ, сертификат и доверенные сертификаты, используйте следующие настройки:
-
xpack.security.transport.ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Это должно быть хранилище ключей Java (jks) или файл PKCS#12. Вы не можете использовать эту настройку и
ssl.keyодновременно. -
xpack.security.transport.ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.keystore.secure_password. -
xpack.security.transport.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.transport.ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.keystore.secure_key_password.Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно. -
xpack.security.transport.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
-
xpack.security.transport.ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Это должно быть хранилище ключей Java (jks) или файл PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
xpack.security.transport.ssl.truststore.password -
(Статический) Пароль для хранилища доверенных сертификатов. [7.17.0] Устарело в версии 7.17.0. Предпочтительнее использовать
ssl.truststore.secure_password.Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно. -
xpack.security.transport.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
Файлы PKCS#12
Elasticsearch можно настроить на использование файлов контейнеров PKCS#12 (файлы .p12 или .pfx), содержащих закрытый ключ, сертификат и доверенные сертификаты.
Файлы PKCS#12 настраиваются так же, как и файлы хранилища ключей Java:
-
xpack.security.transport.ssl.keystore.path -
(Статический) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Это должен быть файл хранилища ключей Java (jks) или файл PKCS#12. Вы не можете использовать это свойство и
ssl.keyодновременно. -
xpack.security.transport.ssl.keystore.type - (Статический) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или ".pkcs12", это свойство по умолчанию имеет значениеPKCS12. В противном случае по умолчанию используетсяjks. -
xpack.security.transport.ssl.keystore.password - (Статический) Пароль для хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительно использовать
ssl.keystore.secure_password. -
xpack.security.transport.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.transport.ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей. [7.17.0] Устарело в версии 7.17.0. Предпочтительно использовать
ssl.keystore.secure_key_password.Вы не можете использовать это свойство и
ssl.keystore.secure_passwordодновременно. -
xpack.security.transport.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
-
xpack.security.transport.ssl.truststore.path -
(Статический) Путь к хранилищу ключей, содержащему доверенные сертификаты. Это должен быть файл хранилища ключей Java (jks) или файл PKCS#12.
Вы не можете использовать это свойство и
ssl.certificate_authoritiesодновременно. -
xpack.security.transport.ssl.truststore.type - (Статический) Установите это значение в
PKCS12, чтобы указать, что хранилище доверенных сертификатов является файлом PKCS#12. -
xpack.security.transport.ssl.truststore.password -
(Статический) Пароль для хранилища доверенных сертификатов. [7.17.0] Устарело в версии 7.17.0. Предпочтительно использовать
ssl.truststore.secure_password.Вы не можете использовать это свойство и
ssl.truststore.secure_passwordодновременно. -
xpack.security.transport.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
Настройки TLS/SSL для удалённого узла кластера (модель на основе API-ключа)
Вы можете настроить следующие настройки TLS/SSL.
-
xpack.security.remote_cluster_server.ssl.enabled - (Статические) Используется для включения или отключения TLS/SSL на сетевом уровне удалённого узла кластера, который Elasticsearch использует для связи с удалёнными клиентами кластера. По умолчанию значение равно
true. -
xpack.security.remote_cluster_server.ssl.supported_protocols -
(Статические) Поддерживаемые протоколы с версиями. Действительные протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, по умолчанию значение равноTLSv1.3,TLSv1.2,TLSv1.1. В противном случае, по умолчанию значение равноTLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Смотрите Поддерживаемые версии SSL/TLS в зависимости от версии JDK для получения дополнительной информации.
Если
xpack.security.fips_mode.enabledустановлено какtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
xpack.security.remote_cluster_server.ssl.client_authentication - (Статические) Управляет поведением сервера в отношении запроса сертификата от клиентских подключений. Допустимые значения —
required,optionalиnone.requiredтребует, чтобы клиент представил сертификат, в то время какoptionalзапрашивает сертификат клиента, но клиент не обязан его предоставлять. По умолчанию значение —none. -
xpack.security.remote_cluster_server.ssl.verification_mode -
(Статические) Настройки SSL в
xpack.security.remote_cluster_server.sslконтролируют серверный контекст для TLS, который определяет настройки TLS-соединения. Использованиеverification_modeна TLS-сервере не рекомендуется. Определяет, как проверять сертификаты, представленные другой стороной в TLS-соединении:Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, попадающую в диапазон между
not_beforeиnot_after; связан с надёжной центром сертификации (CA); имеетhostnameили IP-адрес, соответствующий именам в сертификате. -
certificate - Проверяет предоставленный сертификат и проверяет, что он подписан надёжной организацией (CA), но не проверяет
hostnameсертификата. -
none -
Не выполняет проверку сертификата.
Установка проверки сертификата в
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Устанавливайте это значение только по указанию службы поддержки Elastic в качестве временного диагностического механизма при попытке устранить ошибки TLS.
По умолчанию значение —
full. -
-
xpack.security.remote_cluster_server.ssl.cipher_suites -
(Статические) Поддерживаемые наборы шифров зависят от используемой вами версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Для получения дополнительной информации см. документацию Oracle по Java Cryptography Architecture .
Настройки ключа и доверенного сертификата удалённого узла кластера (модель на основе API-ключа) TLS/SSL
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по SSL/TLS-соединению. Необходимо настроить закрытый ключ и сертификат.
Файлы в формате PEM
При использовании файлов в формате PEM используйте следующие настройки:
-
xpack.security.remote_cluster_server.ssl.key -
(Статические) Путь к файлу в формате PEM, содержащему закрытый ключ.
Используется при необходимости аутентификации HTTP-клиента. Нельзя использовать эту настройку и
ssl.keystore.pathодновременно. -
xpack.security.remote_cluster_server.ssl.secure_key_passphrase - (Безопасные) Пароль, используемый для расшифровки закрытого ключа. Так как ключ может не быть зашифрован, это значение необязательно.
-
xpack.security.remote_cluster_server.ssl.certificate -
(Статические) Указывает путь к файлу в формате PEM, содержащему сертификат (или цепочку сертификатов), связанный с ключом.
Эта настройка может быть использована только если
ssl.keyустановлена. -
xpack.security.remote_cluster_server.ssl.certificate_authorities -
(Статические) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут быть использованы одновременно.
Файлы хранилища ключей Java
При использовании файлов хранилища ключей Java (JKS), содержащих закрытый ключ, сертификат и сертификаты, которым следует доверять, используйте следующие настройки:
-
xpack.security.remote_cluster_server.ssl.keystore.path -
(Статические) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12. Нельзя использовать эту настройку и
ssl.keyодновременно. -
xpack.security.remote_cluster_server.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.remote_cluster_server.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
-
xpack.security.remote_cluster_server.ssl.truststore.path -
(Статические) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12.
Нельзя использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
xpack.security.remote_cluster_server.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверия.
Файлы PKCS#12
Elasticsearch можно настроить на использование контейнеров файлов PKCS#12 (файлы .p12 или .pfx), содержащих закрытый ключ, сертификат и сертификаты, которым следует доверять.
Файлы PKCS#12 настраиваются аналогично файлам хранилища ключей Java:
-
xpack.security.remote_cluster_server.ssl.keystore.path -
(Статические) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12. Нельзя использовать эту настройку и
ssl.keyодновременно. -
xpack.security.remote_cluster_server.ssl.keystore.type - (Статические) Формат файла хранилища ключей. Должен быть
jksилиPKCS12. Если путь к хранилищу ключей заканчивается на ".p12", ".pfx" или ".pkcs12", эта настройка по умолчаниюPKCS12. В противном случае, по умолчанию —jks. -
xpack.security.remote_cluster_server.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.remote_cluster_server.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
-
xpack.security.remote_cluster_server.ssl.truststore.path -
(Статические) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Должен быть файлом хранилища ключей Java (jks) или файлом PKCS#12.
Нельзя использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
xpack.security.remote_cluster_server.ssl.truststore.type - (Статические) Установите это значение в
PKCS12, чтобы указать, что хранилище доверия является файлом PKCS#12. -
xpack.security.remote_cluster_server.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверия.
Настройки TLS/SSL для удаленного клиента кластера (модель на основе API-ключа)
Вы можете настроить следующие настройки TLS/SSL.
-
xpack.security.remote_cluster_client.ssl.enabled - (Статические) Используется для включения или отключения TLS/SSL на сетевом уровне удаленного клиента кластера, который Elasticsearch использует для связи с удаленными серверами кластера. Значение по умолчанию —
true. -
xpack.security.remote_cluster_client.ssl.supported_protocols -
(Статические) Поддерживаемые протоколы с версиями. Допустимые протоколы:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3. Если поставщик SSL/TLS JVM поддерживает TLSv1.3, значение по умолчанию —TLSv1.3,TLSv1.2,TLSv1.1. В противном случае —TLSv1.2,TLSv1.1.Elasticsearch полагается на реализацию SSL и TLS вашей JDK. Дополнительную информацию см. в разделе Поддерживаемые версии SSL/TLS в JDK.
Если
xpack.security.fips_mode.enabledравноtrue, вы не можете использоватьSSLv2HelloилиSSLv3. См. FIPS 140-2. -
xpack.security.remote_cluster_client.ssl.verification_mode -
(Статические) Определяет способ проверки сертификатов, представленных другой стороной в соединении TLS:
Допустимые значения
-
full - Проверяет, что предоставленный сертификат: имеет дату выдачи, которая находится в пределах
not_beforeиnot_afterдат; формирует цепочку до доверенного центра сертификации (ЦС); имеетhostnameили IP-адрес, который соответствует именам в сертификате. -
certificate - Проверяет предоставленный сертификат и подтверждает, что он подписан доверенным центром сертификации (ЦС), но не проверяет
hostnameсертификата. -
none -
Не выполняет проверку сертификата.
Указание проверки сертификата на
noneотключает многие преимущества безопасности SSL/TLS, что очень опасно. Устанавливайте это значение только по указанию службы поддержки Elastic в качестве временного диагностического механизма при попытке устранения ошибок TLS.
По умолчанию —
full. -
-
xpack.security.remote_cluster_client.ssl.cipher_suites -
(Статические) Поддерживаемые наборы шифров зависят от используемой вами версии Java. Например, для версии 12 значение по умолчанию —
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.Дополнительную информацию см. в документации Oracle по Архитектуре Java Cryptography.
Настройки ключа и доверенного сертификата для удаленного клиента кластера (модель на основе API-ключа) TLS/SSL
Ниже приведены настройки для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по соединению SSL/TLS. Закрытый ключ и сертификат необязательны и используются, если сервер требует аутентификации клиента для аутентификации PKI.
Файлы в формате PEM
При использовании файлов в формате PEM используйте следующие настройки:
-
xpack.security.remote_cluster_client.ssl.key -
(Статические) Путь к файлу в формате PEM, содержащему закрытый ключ.
Используется, если требуется аутентификация клиента HTTP. Нельзя использовать эту настройку и
ssl.keystore.pathодновременно. -
xpack.security.remote_cluster_client.ssl.secure_key_passphrase - (Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно.
-
xpack.security.remote_cluster_client.ssl.certificate -
(Статические) Указывает путь к файлу в формате PEM, содержащему сертификат (или цепочку сертификатов), связанный с ключом.
Эта настройка может быть использована только при установленном значении
ssl.key. -
xpack.security.remote_cluster_client.ssl.certificate_authorities -
(Статические) Список путей к файлам сертификатов в формате PEM, которым следует доверять.
Эта настройка и
ssl.truststore.pathне могут быть использованы одновременно.
Файлы хранилища ключей Java
При использовании файлов хранилища ключей Java (JKS), содержащих закрытый ключ, сертификат и доверенные сертификаты, используйте следующие настройки:
-
xpack.security.remote_cluster_client.ssl.keystore.path -
(Статические) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12. Нельзя использовать эту настройку и
ssl.keyодновременно. -
xpack.security.remote_cluster_client.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.remote_cluster_client.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию — пароль хранилища ключей.
-
xpack.security.remote_cluster_client.ssl.truststore.path -
(Статические) Путь к хранилищу ключей, содержащему сертификаты, которым следует доверять. Должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12.
Нельзя использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
xpack.security.remote_cluster_client.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
Файлы PKCS#12
Elasticsearch можно настроить на использование файлов контейнеров PKCS#12 (файлы .p12 или .pfx), содержащих закрытый ключ, сертификат и доверенные сертификаты.
Файлы PKCS#12 настраиваются так же, как и файлы хранилищ ключей Java:
-
xpack.security.remote_cluster_client.ssl.keystore.path -
(Статические) Путь к файлу хранилища ключей, содержащему закрытый ключ и сертификат.
Он должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12. Вы не можете использовать это свойство и
ssl.keyодновременно. -
xpack.security.remote_cluster_client.ssl.keystore.type - (Статические) Формат файла хранилища ключей. Он должен быть либо
jks, либоPKCS12. Если путь к хранилищу ключей оканчивается на ".p12", ".pfx" или ".pkcs12", это значение по умолчанию устанавливается вPKCS12. В противном случае оно по умолчанию устанавливается вjks. -
xpack.security.remote_cluster_client.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.remote_cluster_client.ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
-
xpack.security.remote_cluster_client.ssl.truststore.path -
(Статические) Путь к хранилищу ключей, содержащему доверенные сертификаты. Он должен быть либо файлом хранилища ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать это свойство и
ssl.certificate_authoritiesодновременно. -
xpack.security.remote_cluster_client.ssl.truststore.type - (Статические) Установите это значение в
PKCS12, чтобы указать, что хранилище доверенных сертификатов является файлом PKCS#12. -
xpack.security.remote_cluster_client.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
Настройки TLS/SSL для профиля транспорта
Те же настройки, что доступны для транспорта по умолчанию, также доступны для каждого профиля транспорта. По умолчанию настройки для профиля транспорта будут такими же, как для транспорта по умолчанию, если они не указаны.
В качестве примера рассмотрим настройку ключа. Для транспорта по умолчанию это xpack.security.transport.ssl.key. Чтобы использовать эту настройку в профиле транспорта, используйте префикс transport.profiles.$PROFILE.xpack.security. и добавьте часть настройки после xpack.security.transport.. Для настройки ключа это будет transport.profiles.$PROFILE.xpack.security.ssl.key.
Настройки фильтрации IP-адресов
Вы можете настроить следующие настройки для фильтрации IP-адресов.
-
xpack.security.transport.filter.allow - (Динамические) Список IP-адресов, которые разрешены.
-
xpack.security.transport.filter.deny - (Динамические) Список IP-адресов, которые запрещены.
-
xpack.security.http.filter.allow - (Динамические) Список IP-адресов, которые разрешены только для HTTP.
-
xpack.security.http.filter.deny - (Динамические) Список IP-адресов, которые запрещены только для HTTP.
-
transport.profiles.$PROFILE.xpack.security.filter.allow - (Динамические) Список IP-адресов, разрешенных для этого профиля.
-
transport.profiles.$PROFILE.xpack.security.filter.deny - (Динамические) Список IP-адресов, запрещенных для этого профиля.
-
xpack.security.remote_cluster.filter.allow - (Динамические) Список IP-адресов, разрешенных только для сервера удаленного кластера, настроенного с использованием модели аутентификации на основе API-ключа.
-
xpack.security.remote_cluster.filter.deny - (Динамические) Список IP-адресов, запрещенных только для сервера удаленного кластера, настроенного с использованием модели аутентификации на основе API-ключа.
Алгоритмы хеширования паролей и кэша пользователей
Некоторые области хранят учетные данные пользователей в памяти. Чтобы ограничить воздействие на кражу учетных данных и смягчить последствия их компрометации, кэш хранит только хэшированную версию учетных данных пользователей в памяти. По умолчанию кэш пользователей хэшируется с помощью алгоритма хэширования sha-256. Вы можете использовать другой алгоритм хэширования, установив статические настройки области cache.hash_algo на любое из следующих значений:
Таблица 1. Алгоритмы хеширования кэша
Алгоритм | Описание | ||
| Использует алгоритм с солью | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Не хеширует учетные данные и хранит их в открытом виде в памяти. ВНИМАНИЕ: хранение открытого текста считается небезопасным и может быть скомпрометировано на уровне операционной системы (например, через дампы памяти и использование |
Аналогично, области, хранящие пароли, хешируют их с использованием криптографически надёжных и специфичных для пароля значений соли. Вы можете настроить алгоритм хеширования паролей, задав значение статическое xpack.security.authc.password_hashing.algorithm на одно из следующих:
Таблица 2. Алгоритмы хеширования паролей
| Алгоритм | Описание | ||
|---|---|---|---|
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует алгоритм | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа | ||
| Использует функцию вывода ключа |
© 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/security-settings.html