Настройка минимальной безопасности для Elasticsearch
Вы включаете функции безопасности Elasticsearch и затем создаёте пароли для встроенных пользователей. Вы можете добавить больше пользователей позже, но использование встроенных пользователей упрощает процесс включения безопасности для вашего кластера.
Минимальная сценарий безопасности не подходит для кластеров в режиме производства. Если ваш кластер имеет несколько узлов, вы должны включить минимальную безопасность, а затем настроить Transport Layer Security (TLS) между узлами.
Предварительные условия
- Установите и настройте Elasticsearch и Kibana. См. Начало работы с Elastic Stack.
-
Убедитесь, что вы используете лицензию, включающую необходимые функции безопасности.
Базовая лицензия включает минимальные настройки безопасности для Elastic Stack, поэтому вы можете просто загрузить дистрибутив и приступить к работе. Вы также можете включить бесплатную пробную лицензию, чтобы получить доступ ко всем функциям Elastic Stack. См. подписки и управление лицензиями.
Включение функций безопасности Elasticsearch
При использовании базовой лицензии функции безопасности 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 при включении минимальной или базовой безопасности.
-
На каждом узле вашего кластера запустите Elasticsearch. Например, если вы установили Elasticsearch с пакетом
.tar.gz, выполните следующую команду из каталогаES_HOME:./bin/elasticsearch
-
В другом окне терминала задайте пароли для встроенных пользователей, выполнив утилиту
elasticsearch-setup-passwords.Вы можете запустить утилиту
elasticsearch-setup-passwordsна любом узле вашего кластера. Однако вы должны запустить эту утилиту только один раз для всего кластера.Использование параметра
autoвыведет случайные сгенерированные пароли в консоль, которые вы можете изменить позже, если это необходимо:./bin/elasticsearch-setup-passwords auto
Если вы хотите использовать свои собственные пароли, запустите команду с параметром
interactiveвместо параметраauto. Используя этот режим, вы пройдете настройку паролей для всех встроенных пользователей../bin/elasticsearch-setup-passwords interactive
- Сохраните сгенерированные пароли. Они понадобятся для добавления встроенного пользователя в Kibana.
После установки пароля для пользователя elastic вы не сможете запустить команду elasticsearch-setup-passwords повторно.
Далее: Настройка Kibana для подключения к Elasticsearch с паролем
Настройка Kibana для подключения к Elasticsearch с паролем
Когда функции безопасности Elasticsearch включены, пользователи должны войти в Kibana с помощью действительного имени пользователя и пароля.
Вы настроите Kibana для использования встроенного пользователя kibana_system и пароля, который вы создали ранее. Kibana выполняет некоторые фоновые задачи, которые требуют использования пользователя kibana_system.
Эта учетная запись не предназначена для отдельных пользователей и не имеет разрешений для входа в Kibana из браузера. Вместо этого вы войдете в Kibana как суперпользователь elastic.
-
Добавьте настройку
elasticsearch.usernameв файлKIB_PATH_CONF/kibana.ymlи установите значение для пользователяkibana_system:elasticsearch.username: "kibana_system"
Переменная
KIB_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/7.17/security-minimal-setup.html