Как стать автором
Обновить

ELK, SIEM из OpenSource, Open Distro: Прогулка по open Distro

Время на прочтение6 мин
Количество просмотров13K
Автор оригинала: Ibrahim Ayadhi

В этом посте будет описана установка и настройка open Distro для Elasticsearch.
В open Distro доступны следующие плагины:


  • Безопасность (Security )
  • Оповещение (Alerting )
  • SQL
  • Управление информационной безопасностью (ISM)
  • Анализатор производительности (Performance Analyzer )

Оглавление всех постов.



В нашем проекте мы установили только плагины безопасности и оповещений.


1-Функция Оповещения :


Open Distro for Elasticsearch позволяет отслеживать Ваши данные и автоматически отправлять оповещения заинтересованным сторонам. Он прост в настройке и управлении, а также использует интерфейс Kibana с мощным API.


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


Этот URL-адрес предоставляет историю версий открытого дистрибутива (в нашем случае мы будем использовать 1.6.0 ) :


https://opendistro.github.io/for-elasticsearch-docs/version-history/


Чтобы добавить функцию оповещения открытого дистрибутива, вы должны управлять плагинами для elasticsearch и kibana: управление плагинами находится в следующих путях


/usr/share/elasticsearch : для Elasticsearch
/usr/share/kibana : для Kibana

1.1- Установка плагина Alerting для elasticsearch:


cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-sql/opendistro_sql-1.6.0.0.zip

1.2- Установка плагина Alerting для kibana :


cd /usr/share/kibana
sudo bin/kibana-plugin install — allow-root https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-alerting/opendistro-alerting-1.6.0.0.zip

1.3-Чтобы отобразить ваши плагины или удалить их, вы можете использовать следующие команды :


— Для Kibana :


sudo bin/kibana-plugin list
sudo bin/kibana-plugin remove <plugin-name>

— Для elasticsearch :


sudo bin/elasticsearch-plugin list
sudo bin/elasticsearch-plugin remove <plugin-name>

1.4-Теперь вы должны перезапустить kibana и elasticsearch :


systemctl restart kibana elasticsearch

Примечание: после установки, удаления или обновления плагинов для elasticsearch или kibana требуется подождать несколько минут для правильной перезагрузки, в то время как ваш сервер kibana будет отвечать ( kibana is not ready yet ). Вы можете проверить процессы kibana и elasticsearch в режиме реального времени с помощью команды top.


1.5-Теперь вы можете проверить свои плагины в интерфейсе kibana :



1.6-Работа с плагином оповещения :


а) Создание URL-адреса веб-перехватчика Slack:

Slack — это инструмент коммуникации на рабочем месте, «единое место для обмена сообщениями, инструментами и файлами». То есть Slack — это система обмена мгновенными сообщениями с множеством надстроек для других инструментов рабочего места.


Входящие Webhooks — это простой способ отправлять сообщения из приложений в Slack. Создание входящего веб-перехватчика дает вам уникальный URL-адрес, на который вы отправляете полезные данные JSON с текстом сообщения и некоторыми параметрами. Вы можете использовать все обычные блоки форматирования и макета с помощью Incoming Webhooks, чтобы сообщения выделялись.


  • Сначала создайте учетную запись (slack.com)



  • Выберите второй пункт, если вы новичок в Slack.



  • Получите код, который вы только что получили в своем почтовом ящике, и создайте новое рабочее пространство



  • Попробуйте следовать инструкциям, пока не дойдете до своей домашней страницы, перейдите в приложение и найдите Incoming Webhook, нажмите добавить:



  • Нажмите добавить в Slack



  • Выберите канал для получения сообщений (например тестовый) и нажмите «Добавить интеграцию».



  • Теперь прокрутите вниз, пока не найдете URL-адрес веб-перехватчика (сохраните его, потому что мы будем использовать его позже)



  • Перейдите в Kibana → Alerting → Destination и нажмите кнопку add destination:



  • Выберите имя назначения, выберите место назначения Slack, скопируйте URl вашего веб-перехватчика и нажмите создать.




1.6.2- Создание оповещений и отправка их в Slack:

  • Теперь перейдите в Мониторинг и нажмите Создать монитор:



  • Настройте свои параметры: вы можете использовать графическую настройку или настройку запроса извлечения





Вот пример графической настройки (идентификатор события: 4624 означает, что учетная запись успешно вошла в систему)



  • Проверьте Monitor Schedule и нажмите кнопку Создать


Теперь вы должны создать триггер, например:



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



Теперь вы можете следить за своими оповещениями в интерфейсе оповещений Kibana, и каждое оповещение будет отправляться на ваш канал Slack:



Перейдите на свой Slack-канал (#test канал в этом руководстве) и дождитесь ваших предупреждений:



2- Функция безопасности:


Этот плагин предоставляет пользовательский интерфейс для управления пользователями, ролями, сопоставлениями, группами действий и арендаторами.


2.1- Установка плагина безопасности:


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


Вы можете выполнить те же шаги (от 1 до 4), что и делали для установки плагина предупреждений, чтобы установить плагины безопасности. Вам просто нужно изменить плагин установки URL:


Для Kibana:


sudo bin/kibana-plugin install — allow-root https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-security/opendistro_security_kibana_plugin-1.6.0.0.zip

Для Elasticsearch:


sudo bin/elasticsearch-plugin install https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-security/opendistro_security-1.6.0.0.zip

Будет отображено предупреждающее сообщение: type y



После установки плагина безопасности вы можете запустить:


sudo sh /usr/share/elasticsearch/plugins/opendistro_security/tools/install_demo_configuration.sh

Чтобы быстро начать работу с демонстрационными сертификатами.


В противном случае вы должны настроить его вручную и запустить securityadmin.sh.


Воспользуемся первым вариантом:


cd /usr/share/elasticsearch/plugins/opendistro_security/tools/
chmod +x install_demo_configuration.sh
./install_demo_configuration.sh

Для всех вопросов типа y и учетных данных по умолчанию (Имя пользователя: admin / Пароль: admin)



Другая конфигурация будет добавлена безопасностью открытого дистрибутива в ваш /etc/elasticsearch/elasticsearch.yml



2.2- Изменение конфигурации для elasticsearch logstash и kibana:


В нашем случае мы создадим имя пользователя, пароль и сертификат SSL для elasticsearch. Мы хотим упомянуть, что проверка сертификата в этом разделе и во всех других следующих разделах выходит за рамки этих статей.


2.2.1- Для Elasticsearch:

Отключение x-pack security для elasticsearch: при перезапуске elasticsearch вы, вероятно, получите ошибку из-за функции безопасности xpack, включенной по умолчанию для базовой версии ELK Stack, поэтому вам придется отключить ее в /etc/elasticsearch/elasticsearch.yml перед перезапуском вашей службы.


2.2.2- Для Кибаны:

Отключение x-pack security для Kibana: Также для Кибаны мы должны отключить функцию xpack.security и игнорировать проверку ssl в /etc/kibana/kibana.yml


ПРИМЕЧАНИЕ. Убедитесь, что ваш протокол — https, а не http.





2.2.3- Для Logstash:

Поскольку наши биты не связаны напрямую с elasticsearch, они вместо этого подключены к logstash, поэтому нам не нужно управлять своими битами или перенастраивать их, нам нужно только настроить файл конфигурации logstash.


Убедитесь, что ваш протокол https, а не http.


sudo nano /etc/logstash/conf.d/logstash.conf


ПРИМЕЧАНИЕ: если вы перенастраиваете биты или настраиваете другой бит, в то время как в вашем elasticsearch установлен плагин безопасности с именем пользователя, паролем и сертификатом SSL, вы можете добавить эту конфигурацию в свой бит, чтобы сделать его доступным. Убедитесь, что ваш протокол — https, а не http.



2.3- Перезапустите все свои службы:


systemctl restart elasticsearch
systemctl restart logtash
systemctl restart kibana

Как упоминалось ранее, для правильного перезапуска может потребоваться несколько минут. Вы можете проверять это с помощью команды top в режиме реального времени. тем временем ваш сервер Кибаны будет отвечать (kibana is not ready yet).


Теперь ваш стек ELK правильно подключен с новыми учетными данными.


Вы можете проверить это, используя URL-адрес Elasticsearch (http не будет работать, вместо этого вам нужно использовать https)




Вы также можете проверить это в Кибане:




Здесь вы можете создавать пользователей, назначать роли и разрешения:



Это поможет вам организовать группы SOC на основе ролей, действий и привилегий.


Вот роли и база данных внутренних пользователей, определенные по умолчанию:




Телеграм чат по Elasticsearch: https://t.me/elasticsearch_ru

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+11
Комментарии2

Публикации

Истории

Работа

Data Scientist
62 вакансии
DevOps инженер
46 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн