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

Настройка минимальной безопасности для Elasticsearch

Вам необходимо выполнить следующие шаги только в том случае, если у вас уже есть существующий незащищённый кластер и вы хотите включить функции безопасности Elasticsearch.

В Elasticsearch 8.0 и более поздних версиях безопасность включается автоматически при первом запуске Elasticsearch.

Если у вас есть существующий кластер Elasticsearch, где безопасность отключена, вы можете вручную включить функции безопасности Elasticsearch, а затем создать пароли для встроенных пользователей. Вы можете добавить больше пользователей позже, но использование встроенных пользователей упрощает процесс включения безопасности для вашего кластера.

Минимальная конфигурация безопасности не подходит для кластеров в режиме производства. Если ваш кластер имеет несколько узлов, необходимо включить минимальную безопасность и затем настроить Transport Layer Security (TLS) между узлами.

Включение функций безопасности Elasticsearch

Включение функций безопасности Elasticsearch обеспечивает базовые средства аутентификации, чтобы вы могли запустить локальный кластер с аутентификацией по имени пользователя и паролю.

  1. На каждом узле вашего кластера остановите Kibana и Elasticsearch, если они запущены.
  2. На каждом узле вашего кластера добавьте настройку 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.

  3. Если ваш кластер содержит один узел, добавьте настройку discovery.type в файл $ES_PATH_CONF/elasticsearch.yml и установите значение в single-node. Эта настройка гарантирует, что ваш узел не подключится случайно к другим кластерам, которые могут работать в вашей сети.

    discovery.type: single-node

Установка паролей для встроенных пользователей

Для взаимодействия с кластером необходимо настроить пароль для встроенных пользователей elastic и kibana_system. Если вы не включите анонимный доступ (не рекомендуется), все запросы без учетных данных отклоняются.

Вам нужно установить пароли только для пользователей elastic и kibana_system при включении минимальной или базовой безопасности.

  1. На каждом узле вашего кластера запустите Elasticsearch. Например, если вы установили Elasticsearch с пакетом .tar.gz, выполните следующую команду из каталога ES_HOME:

    ./bin/elasticsearch
  2. На любом узле вашего кластера откройте другое окно терминала и установите пароль для встроенного пользователя elastic, выполнив утилиту elasticsearch-reset-password. Эта команда сбросит пароль на автоматически сгенерированное значение.

    ./bin/elasticsearch-reset-password -u elastic

    Если вы хотите установить пароль к определённому значению, запустите команду с параметром интерактивного режима (-i).

    ./bin/elasticsearch-reset-password -i -u elastic
  3. Установите пароль для встроенного пользователя kibana_system.

    ./bin/elasticsearch-reset-password -u kibana_system
  4. Сохраните новые пароли. На следующем шаге вы добавите пароль пользователя kibana_system в Kibana.

Далее: Настройка Kibana для подключения к Elasticsearch с паролем

Настройка Kibana для подключения к Elasticsearch с паролем

После включения функций безопасности Elasticsearch пользователи должны войти в Kibana с действительным именем пользователя и паролем.

Вы настроите Kibana для использования встроенного пользователя kibana_system и пароля, который вы создали ранее. Kibana выполняет некоторые фоновые задачи, для которых требуется использование пользователя kibana_system.

Эта учетная запись не предназначена для отдельных пользователей и не имеет разрешения на вход в Kibana из браузера. Вместо этого вы войдёте в Kibana как суперпользователь elastic.

  1. Добавьте настройку 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.

  2. Из каталога, где установлен Kibana, выполните следующие команды, чтобы создать хранилище ключей Kibana и добавить защищённые настройки:

    1. Создайте хранилище ключей Kibana:

      ./bin/kibana-keystore create
    2. Добавьте пароль для пользователя kibana_system в хранилище ключей Kibana:

      ./bin/kibana-keystore add elasticsearch.password

      При запросе введите пароль для пользователя kibana_system.

  3. Перезапустите Kibana. Например, если вы установили Kibana с пакетом .tar.gz, выполните следующую команду из каталога Kibana:

    ./bin/kibana
  4. Войдите в 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

Spec-Zone.ru

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