Настройки безопасности в Elasticsearch
По умолчанию функции безопасности Elasticsearch отключены при использовании лицензии базового или пробного уровня. Чтобы включить функции безопасности, используйте настройку xpack.security.enabled.
Вы настраиваете xpack.security настройки, чтобы включить анонимный доступ и выполнить аутентификацию сообщений, настроить безопасность на уровне документов и полей, настроить области, зашифровать коммуникации с помощью SSL и проводить аудит событий безопасности.
Все эти настройки можно добавить в файл конфигурации elasticsearch.yml, за исключением настроек безопасности, которые вы добавляете в хранилище ключей Elasticsearch. Дополнительную информацию о создании и обновлении хранилища ключей Elasticsearch см. в Настройках безопасности.
Общие настройки безопасности
-
xpack.security.enabled -
(Статический) Установите значение
true, чтобы включить функции безопасности Elasticsearch на узле.
Если установлено значение
false, которое является значением по умолчанию для лицензий базового и пробного уровня, функции безопасности отключены. Это также влияет на все экземпляры Kibana, которые подключены к этому экземпляру Elasticsearch; вам не нужно отключать функции безопасности в этихkibana.ymlфайлах. Дополнительную информацию об отключении функций безопасности в конкретных экземплярах Kibana см. в Настройках безопасности Kibana.Если у вас лицензия Gold или выше, значение по умолчанию —
true; мы рекомендуем явно добавить эту настройку, чтобы избежать путаницы. -
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.authc.password_hashing.algorithm - (Статический) Указывает алгоритм хэширования, используемый для хранения безопасных учетных данных пользователей. См. Таблица 2, «Алгоритмы хэширования паролей». Значение по умолчанию
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.http.ssl.enabledне равноfalse. Это предотвращает считывание API-ключа из соединения по простому протоколу HTTP. -
xpack.security.authc.api_key.hashing.algorithm - (Статический) Указывает алгоритм хэширования, используемый для защиты учетных данных API-ключа. См. Таблица 2, «Алгоритмы хэширования паролей». По умолчанию устанавливается в
pbkdf2. -
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.realms в elasticsearch.yml.
Например:
xpack.security.authc.realms:
native.realm1:
order: 0
...
ldap.realm2:
order: 1
...
active_directory.realm3:
order: 2
...
... | Указывает тип области (например, |
Допустимые настройки зависят от типа области. Дополнительную информацию см. в Аутентификация пользователей.
Настройки, действительные для всех областей
-
order - (Статический) Приоритет области в цепочке областей. Области с меньшим порядком обращаются в первую очередь. Хотя это необязательно, использование этой настройки настоятельно рекомендуется при настройке нескольких областей. По умолчанию устанавливается в
Integer.MAX_VALUE. -
enabled - (Статический) Указывает, включена ли область. Вы можете использовать эту настройку для отключения области без удаления ее конфигурационной информации. По умолчанию устанавливается в
true.
Настройки области по умолчанию
В дополнение к настройкам, действительным для всех областей, можно указать следующие необязательные настройки:
-
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 -
(Статический) Один или несколько URL-адресов LDAP в формате
ldap[s]://<server>:<port>. Требуется.Для указания нескольких URL-адресов используйте массив YAML (
["ldap://server1:636", "ldap://server2:636"]) или строку с запятыми ("ldap://server1:636, ldap://server2:636").Хотя оба варианта поддерживаются, вы не можете смешивать протоколы
ldapиldaps. -
load_balance.type - (Статический) Поведение при наличии нескольких определённых URL-адресов LDAP. Для допустимых значений см. типы сбалансирования нагрузки и резервирования. По умолчанию
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_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 -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Так как ключ может не быть зашифрован, это значение необязательно.
Нельзя использовать это значение и
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 - (Статический) Пароль для хранилища ключей.
-
ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
ssl.keystore.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 -
(Статический) Пароль для хранилища доверенных сертификатов.
Нельзя использовать это значение и
ssl.truststore.secure_passwordодновременно. -
ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
-
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Для формата хранилища ключей Java используйте
jks. Для файлов PKCS#12 используйтеPKCS12. Для токена PKCS#11 используйтеPKCS11. По умолчаниюjks. -
ssl.verification_mode -
(Статический) Указывает тип проверки при использовании
ldapsдля защиты от атак "человек посередине" и подделки сертификатов. Управляет проверкой сертификатов.Допустимые значения:
-
full, который проверяет, что предоставленный сертификат подписан доверенным органом (CA), а также проверяет, что имя хоста (или IP-адрес) сервера соответствует именам, указанным в сертификате. -
certificate, который проверяет, что предоставленный сертификат подписан доверенным органом (CA), но не выполняет проверку имени хоста. -
none, который не выполняет проверку сертификата сервера. Этот режим отключает многие преимущества безопасности SSL/TLS и должен использоваться только после очень тщательного обдумывания. Он в основном предназначен для временного диагностического механизма при попытке устранения ошибок 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 -
(Статический) Указывает наборы шифрования, которые должны поддерживаться при общении с 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 Architecture по адресу https://docs.oracle.com/en/java/javase/11/security/oracle-providers.html#GUID-7093246A-31A3-4304-AC5F-5FB6400405E2.
-
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 информации о узлах. -
bind_password - (Статический) [6.3] Устарело в версии 6.3. Используйте
secure_bind_passwordвместо этого. Пароль пользователя, используемого для связи с Active Directory. По умолчанию Пусто. Из-за возможного влияния на безопасность,bind_passwordне отображается через API информации о узлах. -
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 - (Статический) Указывает фильтр для поиска пользователя по имени входа нижнего уровня (ДОМЕН\пользователь). По умолчанию фильтр ищет объекты
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 -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно.
Вы не можете использовать эту настройку и
ssl.secure_key_passphraseодновременно. -
ssl.secure_key_passphrase - (Безопасные) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение необязательно.
-
ssl.keystore.key_password -
(Статический) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
Вы не можете использовать эту настройку и
ssl.keystore.secure_passwordодновременно. -
ssl.keystore.secure_key_password - (Безопасные) Пароль для ключа в хранилище ключей. По умолчанию используется пароль хранилища ключей.
-
ssl.keystore.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 -
(Статический) Пароль для хранилища доверенных сертификатов.
Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно. -
ssl.truststore.secure_password - (Безопасные) Пароль для хранилища доверенных сертификатов.
-
ssl.truststore.path -
(Статический) Путь к хранилищу, содержащему сертификаты для доверия. Он должен быть либо хранилищем ключей Java (jks), либо файлом PKCS#12.
Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно.Вы не можете использовать эту настройку и
ssl.certificate_authoritiesодновременно. -
ssl.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Для формата хранилища ключей Java используйте
jks. Для файлов PKCS#12 используйтеPKCS12. Для токена PKCS#11 используйтеPKCS11. По умолчанию используетсяjks. -
ssl.verification_mode -
(Статический) Указывает тип проверки при использовании
ldapsдля защиты от атак «человек посередине» и подделки сертификатов. Управляет проверкой сертификатов.Допустимые значения:
-
full, который проверяет, что предоставленный сертификат подписан доверенным органом (ЦС), а также проверяет, что имя хоста сервера (или IP-адрес) соответствует именам, указанным в сертификате. -
certificate, который проверяет, что предоставленный сертификат подписан доверенным органом (ЦС), но не выполняет проверку имени хоста. -
none, который не выполняет никакую проверку сертификата сервера. Этот режим отключает многие преимущества безопасности SSL/TLS и должен использоваться только после очень тщательного рассмотрения. Он предназначен в первую очередь как временный диагностический механизм при попытке устранения ошибок 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 -
(Статический) Указывает наборы шифрования, которые должны поддерживаться при общении с сервером 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.Дополнительную информацию можно найти в документации Java Cryptography Architecture от Oracle: Java Cryptography Architecture documentation.
-
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 сертификата. Первая группа совпадения используется в качестве имени пользователя. По умолчанию
CN=(.*?)(?:,\|$). -
certificate_authorities - (Статический) Список путей к файлам сертификатов PEM, которые должны использоваться для проверки подлинности сертификата пользователя как доверенных. По умолчанию используется доверенные сертификаты, настроенные для SSL. Это значение не может быть использовано с
truststore.path. -
truststore.algorithm - (Статический) Алгоритм для хранилища доверия. По умолчанию
SunX509. -
truststore.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, либо URLhttps. Elasticsearch автоматически проверяет этот ресурс метаданных и перезагружает конфигурацию поставщика удостоверений при обнаружении изменений. Ресурсы на основе файлов проверяются с частотой, определяемой глобальной настройкой Elasticsearchresource.reload.interval.high, которая по умолчанию составляет 5 секунд. Ресурсы HTTPS проверяются с частотой, определяемой настройкой областиidp.metadata.http.refresh.
-
idp.metadata.http.refresh - (Статический) Управляет частотой проверки изменений метаданных
https. По умолчанию1h(1 час).
-
idp.use_single_logout - (Статический) Указывает, следует ли использовать службу однократного выхода поставщика удостоверений (если она существует в файле метаданных поставщика удостоверений). По умолчанию
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.pattern, перед его применением к свойству principal пользователя. Значение атрибута должно соответствовать шаблону, и значение первой группы захвата используется в качестве значения principal. Например,^([^@]+)@example\\.com$соответствует адресам электронной почты из домена «example.com» и использует локальную часть как значение principal.
-
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.
-
nameid_format - (Статический) Формат NameID, который должен быть запрошен у IdP для аутентификации текущего пользователя. По умолчанию запрашиваются временные имена (
urn:oasis:names:tc:SAML:2.0:nameid-format:transient).
-
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 -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может не быть зашифрован, это значение является необязательным.
Вы не можете использовать это значение и
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 - (Статический) Пароль к хранилищу ключей.
-
ssl.keystore.secure_password -
(Безопасные) Пароль к хранилищу ключей.
Вы не можете использовать это значение и
ssl.keystore.passwordодновременно. -
ssl.keystore.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 -
(Статическое) Пароль для хранилища доверенных сертификатов.
Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
-
ssl.truststore.secure_password -
(Безопасные) Пароль для хранилища доверенных сертификатов.
Эта настройка не может использоваться с
ssl.truststore.password.
-
ssl.verification_mode -
(Статическое) Управление проверкой сертификатов.
Допустимые значения:
-
full, что проверяет, подписан ли предоставленный сертификат доверенным центром сертификации (ЦС) и соответствует ли имя хоста (или IP-адрес) сервера именам, указанным в сертификате. -
certificate, что проверяет, подписан ли предоставленный сертификат доверенным центром сертификации (ЦС), но не выполняет проверку имени хоста. -
none, что не выполняет проверку сертификата сервера. Этот режим отключает многие преимущества безопасности SSL/TLS и должен использоваться только после тщательного рассмотрения. Он предназначен в первую очередь для временного диагностического механизма при попытке устранения ошибок 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
В дополнение к настройкам, применимым ко всем областям, вы можете указать следующие настройки:
-
keytab.path - (Статическое) Указывает путь к файлу таблицы ключей Kerberos, содержащему имя службы принципала, используемое этим узлом Elasticsearch. Он должен находиться в директории конфигурации Elasticsearch, и файл должен иметь права на чтение. Требуется.
-
remove_realm_name - (Статическое) Установите значение
true, чтобы удалить часть области из имен принципала. Имена принципала в Kerberos имеют видuser/instance@REALM. Если этот параметр установлен наtrue, часть области (@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 конечной точки User Info у поставщика OpenID Connect. Значение этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.endsession_endpoint - (Статический) URL конечной точки End Session у поставщика OpenID Connect. Значение этого параметра должно быть предоставлено вашим поставщиком OpenID Connect.
-
op.jwkset_path -
(Статический) Путь или URL к набору JSON Web Key с ключами, которые использует поставщик OpenID Connect для подписи токенов и обработки ответов с утверждениями. Если указан путь, он разрешается относительно каталога конфигурации Elasticsearch. Если указан URL, он должен быть либо
fileURL, либоhttpsURL. Elasticsearch автоматически кеширует полученный набор JWK, чтобы избежать ненужных HTTP-запросов, но будет пытаться обновить JWK при ошибке проверки подписи, так как это может указывать на то, что поставщик OpenID Connect сменил ключи подписи.Ресурсы на основе файлов проверяются с частотой, определяемой глобальным параметром Elasticsearch
resource.reload.interval.high, который по умолчанию составляет 5 секунд. -
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. Если вы хотите использовать поток с кодом авторизации, это конечная точка вашего сервера Kibana. Если вы хотите использовать неявный поток, это
api/security/oidc/implicitконечная точка. Например,https://kibana.example.com/api/security/oidc/callback.
-
rp.response_type - (Статический) Значение OAuth 2.0 Response Type, определяющее поток обработки авторизации. Может быть
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, содержащего X.509 Distinguished Name пользователя.
-
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, в связи с их временем создания и истечения срока действия.
-
populate_user_metadata - (Статический) Указывает, следует ли заполнять метаданные пользователя Elasticsearch значениями, предоставленными утверждениями OpenID Connect. По умолчанию
true. -
http.proxy.host - (Статический) Указывает адрес сервера прокси, который будет использоваться внутренним клиентом http для всех межканальных коммуникаций с конечными точками поставщика OpenID Connect. Это включает запросы к токен-точке, точке получения информации о пользователе и запросы для получения набора ключей JSON Web от OP, если
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. Указывает максимальное количество разрешенных подключений ко всем конечным точкам.
-
http.max_endpoint_connections - (Статический) Управляет поведением клиента http, используемого для межканальных коммуникаций с конечными точками поставщика OpenID Connect. Указывает максимальное количество подключений, разрешенных на каждую конечную точку.
-
http.connection_pool_ttl - (Статический)
Эта функциональность находится в стадии бета-тестирования и может быть изменена. Дизайн и код менее зрелые, чем официальные функции GA, и предоставляются как есть без каких-либо гарантий. Функции бета-версии не подпадают под SLA поддержки официальных функций GA.
Управляет поведением клиента http, используемого для межканальных коммуникаций с конечными точками поставщика OpenID Connect. Указывает время жизни подключений в пуле соединений. Соединение закрывается, если оно простаивает дольше указанного таймаута. Значение по умолчанию — -1, что означает бесконечное время жизни и соединения никогда не истекают.
Если это значение настроено на ненулевое значение, эффективное значение времени жизни — меньшее значение между этим значением и значением заголовка ответа Keep-Alive, установленным сервером.
Это значение доступно в Elasticsearch 7.17.6 и 8.3.3 и выше, но не поддерживается в Elasticsearch 8.0.0–8.3.2. Поэтому это значение следует удалить перед обновлением до 8.3.2 или ниже. Можно настроить значение в 7.17.6 и затем напрямую обновить до 8.3.3.
Настройки SSL для области OpenID Connect
Ниже приведены настройки, которые можно использовать для настройки SSL для всех исходящих соединений http с конечными точками поставщика OpenID Connect.
Эти настройки только используются для межканальных коммуникаций между Elasticsearch и поставщиком OpenID Connect
-
ssl.key -
(Статический) Путь к файлу с кодировкой PEM, содержащему закрытый ключ.
Если требуется аутентификация клиента HTTP, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно.
-
ssl.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 - (Статический) Пароль к хранилищу ключей.
-
ssl.keystore.secure_password -
(Безопасный) Пароль к хранилищу ключей.
Вы не можете использовать эту настройку и
ssl.keystore.passwordодновременно. -
ssl.keystore.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 -
(Статический) Пароль к хранилищу доверенных сертификатов.
Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно.
-
ssl.truststore.secure_password -
(Безопасный) Пароль к хранилищу доверенных сертификатов.
Вы не можете использовать эту настройку и
ssl.truststore.passwordодновременно.
-
ssl.verification_mode -
(Статический) Управляет проверкой сертификатов. Управляет проверкой сертификатов.
Допустимые значения:
-
full, который проверяет, что предоставленный сертификат подписан доверенным центром сертификации (ЦС), а также проверяет, что имя хоста сервера (или IP-адрес) соответствует именам, указанным в сертификате. -
certificate, который проверяет, что предоставленный сертификат подписан доверенным центром сертификации (ЦС), но не выполняет проверку имени хоста. -
none, который не выполняет никакой проверки сертификата сервера. Этот режим отключает многие преимущества безопасности SSL/TLS и должен использоваться только после очень тщательного обдумывания. Он в первую очередь предназначен как временный диагностический механизм при попытке устранения ошибок 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 .
Сбалансированность нагрузки и отказ
Настройка статическая 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, чтобы отключить эти сообщения. ПРИМЕЧАНИЕ. По умолчанию этоfalse, когдаxpack.security.fips_mode.enabledравноtrue.
Настройки ключа TLS/SSL и доверенного сертификата
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по SSL/TLS-соединению. Если доверенные сертификаты не настроены, будут доверены сертификаты по умолчанию, доверенные JVM, а также сертификат(ы), связанный(ые) с ключом в том же контексте. Ключ и сертификат должны быть на месте для подключений, требующих проверки подлинности клиента или при работе в качестве сервера с поддержкой SSL.
Хранение доверенных сертификатов в файле PKCS#12, хотя и поддерживается, на практике встречается редко. Инструмент elasticsearch-certutil, а также Java’s keytool, предназначены для создания файлов 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.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: Java Cryptography Architecture documentation.
Настройки ключей и доверенных сертификатов HTTP TLS/SSL
Следующие настройки используются для указания закрытого ключа, сертификата и доверенных сертификатов, которые должны использоваться при общении по соединению SSL/TLS. Необходимо настроить закрытый ключ и сертификат.
Файлы в формате PEM
При использовании файлов в формате PEM используйте следующие настройки:
-
xpack.security.http.ssl.key -
(Статический) Путь к файлу в формате PEM, содержащему закрытый ключ.
Если требуется проверка подлинности клиента HTTP, используется этот файл. Вы не можете использовать эту настройку и
ssl.keystore.pathодновременно. -
xpack.security.http.ssl.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 - (Статический) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.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 -
(Статический) Пароль для хранилища сертификатов.
Вы не можете использовать эту настройку и
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 - (Статический) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.http.ssl.keystore.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 -
(Статический) Пароль для хранилища сертификатов.
Вы не можете использовать эту настройку и
ssl.truststore.secure_passwordодновременно. -
xpack.security.http.ssl.truststore.secure_password - (Безопасные) Пароль для хранилища сертификатов.
Токены PKCS#11
Elasticsearch можно настроить на использование токена PKCS#11, содержащего закрытый ключ, сертификат и доверенные сертификаты.
Для токенов PKCS#11 требуется дополнительная настройка на уровне JVM и их можно включить с помощью следующих параметров:
-
xpack.security.http.keystore.type - (Статический) Установите значение в
PKCS11, чтобы указать, что токен PKCS#11 должен использоваться как хранилище ключей. -
xpack.security.http.truststore.type - (Статический) Формат файла хранилища доверенных сертификатов. Для формата Java keystore используйте
jks. Для файлов PKCS#12 используйтеPKCS12. Для токена PKCS#11 используйтеPKCS11. По умолчанию используетсяjks.
При настройке токена PKCS#11, который ваша JVM настроена использовать в качестве хранилища ключей или хранилища доверенных сертификатов для Elasticsearch, PIN для токена можно настроить, установив соответствующее значение в ssl.truststore.password или ssl.truststore.secure_password в контексте настройки. Так как может быть настроен только один токен PKCS#11, для настройки в Elasticsearch можно использовать только одно хранилище ключей и одно хранилище доверенных сертификатов. Это, в свою очередь, означает, что для TLS, как в транспортном слое, так и в HTTP-слое, можно использовать только один сертификат.
Настройки 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 -
(Статический) Управляет проверкой сертификатов. Управляет проверкой сертификатов.
Допустимые значения:
-
full, который проверяет, что предоставленный сертификат подписан доверенным центром сертификации (ЦС) и что имя хоста сервера (или IP-адрес) соответствует именам, указанным в сертификате. -
certificate, который проверяет, что предоставленный сертификат подписан доверенным центром сертификации (ЦС), но не выполняет проверку имени хоста. -
none, который не выполняет проверку сертификата сервера. Этот режим отключает многие преимущества безопасности SSL/TLS и должен использоваться только после очень тщательного рассмотрения. Он предназначен в первую очередь как временный диагностический механизм при попытке устранения ошибок 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 -
(Статический) Пароль, используемый для расшифровки закрытого ключа. Поскольку ключ может быть не зашифрован, это значение необязательно.
Вы не можете использовать эту настройку и
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 - (Статический) Пароль для хранилища ключей.
-
xpack.security.transport.ssl.keystore.secure_password - (Безопасные) Пароль для хранилища ключей.
-
xpack.security.transport.ssl.keystore.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 -
(Статический) Пароль для хранилища доверенных сертификатов.
Вы не можете использовать эту настройку и
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 - (Статические) Пароль к хранилищу ключей.
-
xpack.security.transport.ssl.keystore.secure_password - (Безопасные) Пароль к хранилищу ключей.
-
xpack.security.transport.ssl.keystore.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 -
(Статические) Пароль к хранилищу доверия.
Вы не можете использовать этот параметр и
ssl.truststore.secure_passwordодновременно. -
xpack.security.transport.ssl.truststore.secure_password - (Безопасные) Пароль к хранилищу доверия.
Токены PKCS#11
Elasticsearch можно настроить для использования токена PKCS#11, содержащего закрытый ключ, сертификат и доверенные сертификаты.
Для работы с токенами PKCS#11 требуется дополнительная настройка на уровне JVM, и они могут быть включены с помощью следующих параметров:
-
xpack.security.transport.keystore.type - (Статические) Установите это значение в
PKCS11, чтобы указать, что токен PKCS#11 должен использоваться в качестве хранилища ключей. -
xpack.security.transport.truststore.type - (Статические) Формат файла хранилища ключей. Для формата хранилища ключей Java используйте
jks. Для файлов PKCS#12 используйтеPKCS12. Для токена PKCS#11 используйтеPKCS11. По умолчанию используетсяjks.
При настройке токена PKCS#11, который используется вашей JVM в качестве хранилища ключей или хранилища доверия для Elasticsearch, PIN для токена можно настроить, установив соответствующее значение для ssl.truststore.password или ssl.truststore.secure_password в контексте настройки. Поскольку может быть настроен только один токен PKCS#11, для настройки в Elasticsearch будет использоваться только одно хранилище ключей и одно хранилище доверия. В свою очередь, это означает, что для TLS в транспортном и HTTP-слоях может быть использован только один сертификат.
Настройки 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-адресов, запрещенных для данного профиля.
Кэширование пользователей и алгоритмы хеширования паролей
Некоторые области хранят учетные данные пользователей в памяти. Чтобы ограничить риск кражи данных и уменьшить последствия взлома, кэш хранит только хэшированные версии учетных данных пользователей в памяти. По умолчанию кэш пользователей хэшируется с помощью алгоритма 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/7.17/security-settings.html