ELK. Basic Authentication

Материал из megapuper
Версия от 01:17, 22 июля 2023; Root (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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


Первым делом выключаем kibana и elasticsearch

systemctl stop kibana
systemctl stop elasticsearch


Для включения безопасного доступа, прописываем в конфиг эластика(ES_PATH_CONF/elasticsearch.yml)

xpack.security.enabled: true


Запускаем elasticsearch

systemctl start elasticsearch


Когда основные функции безопасности включены, базовая проверка подлинности включается автоматически. Следовательно, без действительного имени пользователя/пароля для аутентификации мы не сможем получить доступ к стеку Elastic. Elastic поставляется с некоторыми встроенными пользователями, такими как elastic, который является суперпользователем, kibana_system, которая используется для подключения Kibana и Elasticsearch и т.д.


Генерируем пароль для встроенных пользователей

/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto

Changed password for user apm_system
PASSWORD apm_system = OWBOmkrSKjejSIEVRCz4

Changed password for user kibana_system
PASSWORD kibana_system = zX4p4dRZMSLuJvGAU8JM

Changed password for user kibana
PASSWORD kibana = zX4p4dRZMSLuJvGAU8JM

Changed password for user logstash_system
PASSWORD logstash_system = ttObhClVaUkY738GA9CH

Changed password for user beats_system
PASSWORD beats_system = II5dlBzMw3q5fH7FqM47

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = JSUaYVewkHrzucK7tUfK

Changed password for user elastic
PASSWORD elastic = MxT3fuPCbxhwdQ3sQKNZ


После включения парольного доступа, прописываем креды в конфиге kibana(/etc/kibana/kibana.yml) чтобы она смогла подключиться к elasticsearch

elasticsearch.username: "kibana_system"
elasticsearch.password: "zX4p4dRZMSLuJvGAU8JM"


Если не хотим прописывать пароли в открытом виде, можно создать кейстор и учётные данные будут браться оттуда

/usr/share/kibana/bin/kibana-keystore create
/usr/share/kibana/bin/kibana-keystore add elasticsearch.password

Enter value for elasticsearch.password: ********************

Вводим ранее сгенерированный пароль пользователя kibana_system


Запускаем kibana

systemctl start kibana


Заходим в веб-интерфейс и видим окно ввода учётных данных

Elk auth 01.jpg

Можно заходить по аккаунтом суперюзера elastic


Так же можно завести другого пользователя с правами суперюзера

/usr/share/elasticsearch/bin/elasticsearch-users useradd username -r superuser


Или какой-то другой ролью

kibana_dashboard_only_user, apm_system, watcher_admin, viewer, logstash_system, rollup_user, kibana_user, beats_admin, remote_monitoring_agent, rollup_admin, 
data_frame_transforms_admin, snapshot_user, monitoring_user, enrich_user, kibana_admin, logstash_admin, editor, machine_learning_user, data_frame_transforms_user, 
machine_learning_admin, watcher_user, apm_user, beats_system, reporting_user, transform_user, kibana_system, transform_admin, transport_client, remote_monitoring_collector, 
superuser, ingest_admin


Также это можно сделать из веб-интерфейса kibana: Management > Stack Management > Security > [Users, Roles]


При использовании logstash, не забываем прописать логин/пароль для его подключения к elasticsearch(/etc/logstash/conf.d/config.conf)

output {
       elasticsearch {
           hosts    => "localhost:9200"
           index    => "%{[@metadata][beat]}-%{[@metadata][version]}"
           user     => "logstash_system"
           password => "ttObhClVaUkY738GA9CH"