Настройка минимальной безопасности для Elasticsearch
Вам необходимо выполнить следующие шаги только в том случае, если у вас уже есть существующий незащищённый кластер и вы хотите включить функции безопасности Elasticsearch.
В Elasticsearch 8.0 и более поздних версиях безопасность включается автоматически при первом запуске Elasticsearch.
Если у вас есть существующий кластер Elasticsearch, где безопасность отключена, вы можете вручную включить функции безопасности Elasticsearch, а затем создать пароли для встроенных пользователей. Вы можете добавить больше пользователей позже, но использование встроенных пользователей упрощает процесс включения безопасности для вашего кластера.
Минимальная конфигурация безопасности не подходит для кластеров в режиме производства. Если ваш кластер имеет несколько узлов, необходимо включить минимальную безопасность и затем настроить Transport Layer Security (TLS) между узлами.
Включение функций безопасности Elasticsearch
Включение функций безопасности Elasticsearch обеспечивает базовые средства аутентификации, чтобы вы могли запустить локальный кластер с аутентификацией по имени пользователя и паролю.
- На каждом узле вашего кластера остановите Kibana и Elasticsearch, если они запущены.
-
На каждом узле вашего кластера добавьте настройку
xpack.security.enabledв файл$ES_PATH_CONF/elasticsearch.ymlи установите значение вtrue:xpack.security.enabled: true
Переменная
$ES_PATH_CONF— это путь к файлам конфигурации Elasticsearch. Если вы установили Elasticsearch с помощью архивных дистрибутивов (zipилиtar.gz), переменная по умолчанию равна$ES_HOME/config. Если вы использовали дистрибутивы пакетов (Debian или RPM), переменная по умолчанию равна/etc/elasticsearch. -
Если ваш кластер содержит один узел, добавьте настройку
discovery.typeв файл$ES_PATH_CONF/elasticsearch.ymlи установите значение вsingle-node. Эта настройка гарантирует, что ваш узел не подключится случайно к другим кластерам, которые могут работать в вашей сети.discovery.type: single-node
Установка паролей для встроенных пользователей
Для взаимодействия с кластером необходимо настроить пароль для встроенных пользователей elastic и kibana_system. Если вы не включите анонимный доступ (не рекомендуется), все запросы без учетных данных отклоняются.
Вам нужно установить пароли только для пользователей elastic и kibana_system при включении минимальной или базовой безопасности.
-
На каждом узле вашего кластера запустите Elasticsearch. Например, если вы установили Elasticsearch с пакетом
.tar.gz, выполните следующую команду из каталогаES_HOME:./bin/elasticsearch
-
На любом узле вашего кластера откройте другое окно терминала и установите пароль для встроенного пользователя
elastic, выполнив утилитуelasticsearch-reset-password. Эта команда сбросит пароль на автоматически сгенерированное значение../bin/elasticsearch-reset-password -u elastic
Если вы хотите установить пароль к определённому значению, запустите команду с параметром интерактивного режима (
-i)../bin/elasticsearch-reset-password -i -u elastic
-
Установите пароль для встроенного пользователя
kibana_system../bin/elasticsearch-reset-password -u kibana_system
- Сохраните новые пароли. На следующем шаге вы добавите пароль пользователя
kibana_systemв Kibana.
Далее: Настройка Kibana для подключения к Elasticsearch с паролем
Настройка Kibana для подключения к Elasticsearch с паролем
После включения функций безопасности Elasticsearch пользователи должны войти в Kibana с действительным именем пользователя и паролем.
Вы настроите Kibana для использования встроенного пользователя kibana_system и пароля, который вы создали ранее. Kibana выполняет некоторые фоновые задачи, для которых требуется использование пользователя kibana_system.
Эта учетная запись не предназначена для отдельных пользователей и не имеет разрешения на вход в Kibana из браузера. Вместо этого вы войдёте в Kibana как суперпользователь elastic.
-
Добавьте настройку
elasticsearch.usernameв файлKBN_PATH_CONF/kibana.ymlи установите значение в пользователяkibana_system:elasticsearch.username: "kibana_system"
Переменная
KBN_PATH_CONF— это путь к файлам конфигурации Kibana. Если вы установили Kibana с помощью архивных дистрибутивов (zipилиtar.gz), переменная по умолчанию равнаKIB_HOME/config. Если вы использовали дистрибутивы пакетов (Debian или RPM), переменная по умолчанию равна/etc/kibana. -
Из каталога, где установлен Kibana, выполните следующие команды, чтобы создать хранилище ключей Kibana и добавить защищённые настройки:
-
Создайте хранилище ключей Kibana:
./bin/kibana-keystore create
-
Добавьте пароль для пользователя
kibana_systemв хранилище ключей Kibana:./bin/kibana-keystore add elasticsearch.password
При запросе введите пароль для пользователя
kibana_system.
-
-
Перезапустите Kibana. Например, если вы установили Kibana с пакетом
.tar.gz, выполните следующую команду из каталога Kibana:./bin/kibana
- Войдите в Kibana как пользователь
elastic. Используйте эту учетную запись суперпользователя для управления пространствами, создания новых пользователей и назначения ролей. Если вы запускаете Kibana локально, перейдите по адресуhttp://localhost:5601, чтобы открыть страницу входа.
Что дальше?
Поздравляем! Вы включили защиту паролем для вашего локального кластера, чтобы предотвратить несанкционированный доступ. Вы можете войти в Kibana безопасно как пользователь elastic и создать дополнительных пользователей и роли. Если у вас одноузловой кластер, то вы можете остановиться на этом.
Если ваш кластер имеет несколько узлов, необходимо настроить Transport Layer Security (TLS) между узлами. Кластеры в режиме производства не запущены без TLS.
Настройте базовую безопасность для Elastic Stack, чтобы защитить все внутренние коммуникации между узлами в вашем кластере.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/security-minimal-setup.html