ELK. Basic Authentication
Включаем доступ по логину паролю, который отключен по умолчанию в простой или триальной лицензии.
Первым делом выключаем 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
Заходим в веб-интерфейс и видим окно ввода учётных данных
Можно заходить по аккаунтом суперюзера 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"