Как создать SIEM с Suricata и Elastic Stack на Rocky Linux 8

Введение

Предыдущие уроки в этой серии руководствовали вас по установке, настройке и запуску Suricata в качестве системы обнаружения вторжений (IDS) и предотвращения вторжений (IPS). Вы также узнали о правилах Suricata и о том, как создавать собственные.

В этом уроке вы узнаете, как интегрировать Suricata с Elasticsearch, Kibana и Filebeat, чтобы начать создание собственного инструмента управления информацией и событиями безопасности (SIEM) с использованием стека Elastic и Rocky Linux 8. Инструменты SIEM используются для сбора, агрегации, хранения и анализа событийных данных для поиска угроз безопасности и подозрительной активности в ваших сетях и серверах.

Компоненты, которые вы будете использовать для создания собственного SIEM:

  • Elasticsearch для хранения, индексации, корреляции и поиска событий безопасности, поступающих с вашего сервера Suricata.
  • Kibana для отображения и навигации по журналам событий безопасности, хранящимся в Elasticsearch.
  • Filebeat для разбора файла журнала eve.json Suricata и отправки каждого события в Elasticsearch для обработки.
  • Suricata для сканирования трафика вашей сети на подозрительные события и либо ведения журнала, либо отбрасывания недопустимых пакетов.

Сначала вы установите и настроите Elasticsearch и Kibana с определенными параметрами аутентификации. Затем вы добавите Filebeat к вашей системе Suricata для отправки ее журналов eve.json в Elasticsearch.

Наконец, вы узнаете, как подключиться к Kibana с помощью SSH и вашего веб-браузера, а затем загрузить и взаимодействовать с панелями инструментов Kibana, отображающими события и предупреждения Suricata.

Предварительные требования

Если вы следуете этому руководству, то уже должны иметь Suricata, работающего на сервере Rocky Linux. Этот сервер будет называться вашим сервером Suricata.

Вам также понадобится второй сервер для хостинга Elasticsearch и Kibana. Этот сервер будет называться вашим сервером Elasticsearch. Должен быть сервер Rocky Linux 8 с:

Для целей этого руководства оба сервера должны иметь возможность взаимодействовать с использованием частных IP-адресов. Вы можете использовать VPN, такой как WireGuard, чтобы соединить ваши сервера, или использовать облачного провайдера, который обеспечивает частную сеть между хостами. Вы также можете выбрать запуск Elasticsearch, Kibana, Filebeat и Suricata на одном сервере для экспериментов.

Шаг 1 — Установка Elasticsearch и Kibana

Первый шаг в этом руководстве – установить Elasticsearch и Kibana на вашем сервере Elasticsearch. Чтобы начать, добавьте ключ GPG Elastic на свой сервер с помощью следующей команды:

  1. sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Затем создайте файл elasticsearch.repo в вашем каталоге /etc/yum/yum.repos.d со следующим содержимым, используя vi или ваш редактор по умолчанию. Это гарантирует, что будут использоваться верхние репозитории Elasticsearch при установке новых пакетов через yum:

  1. sudo vi /etc/yum.repos.d/elasticsearch.repo
/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

Если вы используете vi, когда закончите внесение изменений, нажмите ESC, а затем :x, чтобы записать изменения в файл и выйти.

Теперь установите Elasticsearch и Kibana, используя команду dnf. Нажмите Y, чтобы принять любые запросы о следах GPG ключей:

  1. sudo dnf install --enablerepo=elasticsearch elasticsearch kibana

Опция --enablerepo используется для переопределения стандартной отключенной настройки в файле /etc/yum.repos.d/elasticsearch.repo. Такой подход гарантирует, что пакеты Elasticsearch и Kibana не будут случайно обновлены при установке других обновлений пакетов на сервере.

После установки пакетов найдите и запишите частный IP-адрес вашего сервера, используя команду ip address show:

  1. ip -brief address show

Вы получите вывод подобный следующему:

Output
lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 159.89.122.115/20 10.20.0.8/16 2604:a880:cad:d0::e56:8001/64 fe80::b832:69ff:fe46:7e5d/64 eth1 UP 10.137.0.5/16 fe80::b883:5bff:fe19:43f3/64

Частным сетевым интерфейсом в этом выводе является выделенное устройство eth1, с IPv4-адресом 10.137.0.5. Ваше имя устройства и IP-адреса будут отличаться. Независимо от имени вашего устройства и частного IP-адреса, адрес будет из следующих зарезервированных блоков:

  • 10.0.0.0 до 10.255.255.255 (префикс 10/8)
  • 172.16.0.0 до 172.31.255.255 (префикс 172.16/12)
  • 192.168.0.0 до 192.168.255.255 (префикс 192.168/16)

Если вы хотите узнать больше о том, как эти блоки выделяются, посетите спецификацию RFC 1918.

Запишите частный IP-адрес вашего сервера Elasticsearch (в данном случае 10.137.0.5). Этот адрес будет обозначаться как ваш_частный_ip в оставшейся части данного руководства. Также обратите внимание на имя сетевого интерфейса, в данном случае eth1. В следующей части этого руководства вы настроите Elasticsearch и Kibana для прослушивания подключений на частном IP-адресе, поступающих с вашего сервера Suricata.

Шаг 2 — Настройка Elasticsearch

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

Настройка сетевого взаимодействия Elasticsearch

Поскольку ваши серверы Elasticsearch и Suricata разделены, вам нужно настроить Elasticsearch на прослушивание подключений на своем частном сетевом интерфейсе.

Откройте файл /etc/elasticsearch/elasticsearch.yml с помощью vi или вашего предпочтительного редактора:

  1. sudo vi /etc/elasticsearch/elasticsearch.yml

Найдите закомментированную строку #network.host: 192.168.0.1 между строками 50–60 и добавьте новую строку после нее, которая настраивает параметр network.bind_host, как показано ниже:

# По умолчанию Elasticsearch доступен только на localhost. Установите здесь другой
# адрес, чтобы этот узел был доступен в сети:
#
#network.host: 192.168.0.1
network.bind_host: ["127.0.0.1", "your_private_ip"]
#
# По умолчанию Elasticsearch прослушивает HTTP-трафик на первом свободном порту,
# начиная с 9200. Укажите здесь конкретный HTTP-порт:

Подставьте свой частный IP-адрес вместо адреса your_private_ip. Эта строка обеспечит доступность Elasticsearch по его локальному адресу, чтобы к нему можно было подключиться через Kibana, а также по частному IP-адресу вашего сервера.

Затем перейдите в конец файла, используя сочетание клавиш SHIFT+G.

Добавьте следующие выделенные строки в конец файла:

. . .
discovery.type: single-node
xpack.security.enabled: true

Параметр discovery.type позволяет Elasticsearch работать как одиночный узел, в отличие от кластера других серверов Elasticsearch. Параметр xpack.security.enabled включает некоторые функции безопасности, включенные в Elasticsearch.

Сохраните и закройте файл после завершения редактирования.

Наконец, добавьте правила брандмауэра, чтобы ваш сервер Elasticsearch был доступен через частный сетевой интерфейс. Если вы следовали предварительным учебным пособиям и используете firewalld, выполните следующие команды:

  1. sudo firewall-cmd --permanent --zone=internal --change-interface=eth1
  2. sudo firewall-cmd --permanent --zone=internal --add-service=elasticsearch
  3. sudo firewall-cmd --permanent --zone=internal --add-service=kibana
  4. sudo systemctl reload firewalld.service

Замените имя вашего частного сетевого интерфейса на место eth1 в первой команде, если ваше отличается. Эта команда изменяет правила интерфейса для использования зоны internal Firewalld, которая более допускающая, чем стандартная зона public.

Следующие команды добавляют правила для разрешения трафика Elasticsearch на портах 9200 и 9300, а также трафика Kibana на порту 5601.

Последняя команда перезагружает службу Firewalld с новыми постоянными правилами.

Затем вы запустите демон Elasticsearch и настроите пароли для использования с модулем безопасности xpack.

Запуск Elasticsearch

Теперь, когда вы настроили сеть и параметры безопасности xpack для Elasticsearch, вам нужно запустить его, чтобы изменения вступили в силу.

Запустите следующую команду systemctl, чтобы запустить Elasticsearch:

  1. sudo systemctl start elasticsearch.service

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

Настройка паролей Elasticsearch

Теперь, когда вы включили параметр xpack.security.enabled, вам нужно сгенерировать пароли для пользователей Elasticsearch по умолчанию. Elasticsearch включает утилиту в каталоге /usr/share/elasticsearch/bin, которая может автоматически генерировать случайные пароли для этих пользователей.

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

  1. cd /usr/share/elasticsearch/bin
  2. sudo ./elasticsearch-setup-passwords auto

Вы получите вывод подобный следующему. При запросе продолжения нажмите y, а затем RETURN или ENTER:

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y


Changed password for user apm_system
PASSWORD apm_system = eWqzd0asAmxZ0gcJpOvn

Changed password for user kibana_system
PASSWORD kibana_system = 1HLVxfqZMd7aFQS6Uabl

Changed password for user kibana
PASSWORD kibana = 1HLVxfqZMd7aFQS6Uabl

Changed password for user logstash_system
PASSWORD logstash_system = wUjY59H91WGvGaN8uFLc

Changed password for user beats_system
PASSWORD beats_system = 2p81hIdAzWKknhzA992m

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 85HF85Fl6cPslJlA8wPG

Changed password for user elastic
PASSWORD elastic = 6kNbsxQGYZ2EQJiqJpgl

Вы не сможете повторно запустить утилиту, поэтому убедитесь, что записали эти пароли где-то в безопасном месте. Вам потребуется использовать пароль пользователя kibana_system в следующем разделе этого руководства и пароль пользователя elastic на шаге Настройка Filebeat этого руководства.

На этом этапе настройки Elasticsearch завершены. В следующем разделе объясняется, как настроить сетевые настройки Kibana и модуль безопасности xpack.

Шаг 3 — Настройка Kibana

На предыдущем этапе этого руководства вы настроили Elasticsearch на прослушивание подключений по частному IP-адресу вашего сервера Elasticsearch. Вам нужно сделать то же самое для Kibana, чтобы Filebeats на вашем сервере Suricata могли до него достучаться.

Сначала вы включите функциональность безопасности Kibana’s xpack, сгенерировав некоторые секреты, которые Kibana будет использовать для хранения данных в Elasticsearch. Затем вы настроите сетевые настройки Kibana и сведения об аутентификации для подключения к Elasticsearch.

Включение xpack.security в Kibana

Чтобы начать использовать настройки безопасности xpack в Kibana, вам нужно сгенерировать некоторые ключи шифрования. Kibana использует эти ключи для хранения сессионных данных (например, файлов cookie), а также различных сохраненных панелей инструментов и представлений данных в Elasticsearch.

Вы можете сгенерировать необходимые ключи шифрования, используя утилиту kibana-encryption-keys, которая включена в каталог /usr/share/kibana/bin. Выполните следующее, чтобы перейти в этот каталог, а затем сгенерировать ключи:

  1. cd /usr/share/kibana/bin/
  2. sudo ./kibana-encryption-keys generate -q --force

Флаг -q подавляет инструкции инструмента, а флаг --force гарантирует, что вы создадите новые ключи. Вы должны получить вывод, подобный следующему:

Output
xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585 xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b

Скопируйте эти три ключа в надежное место. Теперь добавьте их в конфигурационный файл Kibana /etc/kibana/kibana.yml.

Откройте файл, используя vi или ваш редактор по умолчанию:

  1. sudo vi /etc/kibana/kibana.yml

Перейдите в конец файла, используя комбинацию клавиш SHIFT+G в vi. Вставьте три строки xpack, которые вы скопировали, в конец файла:

/etc/kibana/kibana.yml
. . .

# Указывает локаль, которая будет использоваться для всех локализуемых строк, дат и числовых форматов.
# Поддерживаемые языки следующие: английский - en, по умолчанию, китайский - zh-CN.
#i18n.locale: "en"

xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b

Держите файл открытым и перейдите к следующему разделу, где вы настроите сетевые параметры Kibana.

Настройка сети Kibana

Чтобы настроить сеть Kibana так, чтобы она была доступна по частному IP-адресу вашего сервера Elasticsearch, найдите закомментированную строку #server.host: "localhost" в файле /etc/kibana/kibana.yml. Эта строка находится близко к началу файла. Добавьте новую строку после нее с частным IP-адресом вашего сервера, как показано ниже:

/etc/kibana/kibana.yml
# Kibana обслуживается сервером backend. Этот параметр указывает порт, который будет использоваться.
#server.port: 5601

# Указывает адрес, к которому будет привязан сервер Kibana. Допустимы как IP-адреса, так и имена хостов.
# По умолчанию это 'localhost', что обычно означает, что удаленные машины не смогут подключиться.
# Чтобы разрешить подключения от удаленных пользователей, установите этот параметр на нелокальный адрес.
#server.host: "localhost"
server.host: "your_private_ip"

Подставьте ваш частный IP-адрес вместо адреса your_private_ip.

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

Настройка учетных данных Kibana

Существует два способа установить имя пользователя и пароль, которые Kibana использует для аутентификации в Elasticsearch. Первый – отредактировать файл конфигурации /etc/kibana/kibana.yml и добавить значения туда. Второй метод – сохранить значения в хранилище Kibana, которое является зашифрованным файлом, который Kibana может использовать для хранения секретов.

Мы будем использовать метод хранилища в этом руководстве, так как это позволяет избежать непосредственного редактирования файла конфигурации Kibana.

Если вы предпочитаете вместо этого редактировать файл, параметры, которые нужно настроить в нем, – elasticsearch.username и elasticsearch.password.

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

Чтобы добавить секрет в хранилище с помощью утилиты kibana-keystore, сначала выполните команду cd в каталоге /usr/share/kibana/bin. Затем выполните следующую команду для установки имени пользователя для Kibana:

  1. cd /usr/share/kibana/bin
  2. sudo ./kibana-keystore add elasticsearch.username

Вы получите запрос вроде следующего:

Username Entry
Enter value for elasticsearch.username: *************

Введите kibana_system, когда будете подсказаны, либо скопируйте и вставьте, либо введите имя пользователя осторожно. Каждый введенный вами символ будет замаскирован символом * астериск. Нажмите ENTER или RETURN, когда закончите вводить имя пользователя.

Теперь повторите процесс, на этот раз чтобы сохранить пароль. Убедитесь, что скопировали пароль для пользователя kibana_system, который вы создали в предыдущем разделе этого руководства. Для справки, в этом руководстве пример пароля: 1HLVxfqZMd7aFQS6Uabl.

Запустите следующую команду для установки пароля:

  1. sudo ./kibana-keystore add elasticsearch.password

При запросе вставьте пароль, чтобы избежать ошибок при транскрибировании:

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

Запуск Kibana

Теперь, когда вы настроили сеть и настройки безопасности xpack для Kibana, а также добавили учетные данные в keystore, вам нужно запустить его, чтобы изменения вступили в силу.

Запустите следующую команду systemctl, чтобы перезапустить Kibana:

  1. sudo systemctl start kibana.service

Как только Kibana запустится, вы можете продолжить к следующему разделу этого руководства, где вы настроите Filebeat на своем сервере Suricata для отправки его журналов в Elasticsearch.

Шаг 4 — Установка Filebeat

Теперь, когда ваши процессы Elasticsearch и Kibana настроены с правильными параметрами сети и аутентификации, следующим шагом является установка и настройка Filebeat на вашем сервере Suricata.

Чтобы начать установку Filebeat, добавьте ключ Elastic GPG на сервер Suricata, выполнив следующую команду:

  1. sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Затем создайте файл elasticsearch.repo в каталоге /etc/yum/yum.repos.d со следующим содержимым, используя vi или ваш любимый редактор:

  1. sudo vi /etc/yum.repos.d/elasticsearch.repo
/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

Когда вы закончите вносить изменения, сохраните файл и выйдите из него. Теперь установите пакет Filebeat, используя команду dnf:

  1. sudo dnf install --enablerepo=elasticsearch filebeat

Далее вам необходимо настроить Filebeat для подключения к Elasticsearch и Kibana. Откройте файл конфигурации /etc/filebeat/filebeat.yml, используя vi или ваш любимый редактор:

  1. sudo vi /etc/filebeat/filebeat.yml

Найдите раздел Kibana файла около строки 100. Добавьте строку после закомментированной строки #host: "localhost:5601", указывающую на частный IP-адрес и порт вашего экземпляра Kibana:

/etc/filebeat/filebeat.yml
. . .
# Начиная с версии Beats 6.0.0, панели мониторинга загружаются через API Kibana.
# Это требует конфигурации конечной точки Kibana.
setup.kibana:

  # Хост Kibana
  # Схема и порт могут быть опущены и будут установлены по умолчанию (http и 5601)
  # Если вы указываете дополнительный путь, схема обязательна: http://localhost:5601/path
  # IPv6-адреса всегда должны определяться следующим образом: https://[2001:db8::1]:5601
  #host: "localhost:5601"
  host: "your_private_ip:5601"

. . .

Это изменение обеспечит соединение Filebeat с Kibana для создания различных индексов SIEM, панелей и обработки конвейеров в Elasticsearch для обработки ваших журналов Suricata.

Затем найдите раздел Elasticsearch Output в файле примерно на строке 130 и отредактируйте параметры hosts, username и password, чтобы они соответствовали значениям вашего сервера Elasticsearch:

output.elasticsearch:
  # Массив хостов для подключения.
  hosts: ["your_private_ip:9200"]

  # Протокол - либо `http` (по умолчанию), либо `https`.
  #protocol: "https"

  # Учетные данные аутентификации - либо API-ключ, либо имя пользователя/пароль.
  #api_key: "id:api_key"
  username: "elastic"
password: "6kNbsxQGYZ2EQJiqJpgl"

. . .

Замените на IP-адрес вашего сервера Elasticsearch в строке hosts. Раскомментируйте поле username и оставьте его установленным на пользователя elastic. Измените поле password с changeme на пароль для пользователя elastic, который вы сгенерировали в разделе Настройка паролей Elasticsearch в этом руководстве.

Сохраните и закройте файл после завершения редактирования. Затем включите встроенный модуль Suricata в Filebeat с помощью следующей команды:

  1. sudo filebeat modules enable suricata

Теперь, когда Filebeat настроен на подключение к Elasticsearch и Kibana с включенным модулем Suricata, следующим шагом будет загрузка панелей и конвейеров SIEM в Elasticsearch.

Выполните команду filebeat setup. Это может занять несколько минут для загрузки всего:

  1. sudo filebeat setup

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

Output
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling. Index setup finished. Loading dashboards (Kibana must be running and reachable) Loaded dashboards Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead. See more: https://www.elastic.co/guide/en/machine-learning/current/index.html It is not possble to load ML jobs into an Elasticsearch 8.0.0 or newer using the Beat. Loaded machine learning job configurations Loaded Ingest pipelines

Если ошибок нет, используйте команду systemctl для запуска Filebeat. Он начнет отправку событий из журнала eve.json Suricata в Elasticsearch после запуска.

  1. sudo systemctl start filebeat.service

Теперь, когда у вас настроены Filebeat, Kibana и Elasticsearch для обработки журналов Suricata, последним шагом в этом руководстве будет подключение к Kibana и исследование панелей SIEM.

Шаг 5 — Навигация по панелям SIEM в Kibana

Kibana – графический компонент стека Elastic. Вы будете использовать Kibana с вашим браузером для изучения событий и данных оповещений Suricata. Поскольку вы настроили Kibana так, чтобы он был доступен только через частный IP-адрес вашего сервера Elasticsearch, вам потребуется использовать SSH-туннель для подключения к Kibana.

Подключение к Kibana с помощью SSH

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

На Linux, macOS и обновленных версиях Windows 10 и выше вы можете использовать встроенного SSH-клиента для создания туннеля. Вы будете использовать эту команду каждый раз, когда захотите подключиться к Kibana. Вы можете закрыть это соединение в любое время, а затем снова выполнить команду SSH, чтобы восстановить туннель.

Выполните следующую команду в терминале на вашем локальном рабочем столе или ноутбуке, чтобы создать SSH-туннель к Kibana:

  1. ssh -L 5601:your_private_ip:5601 sammy@203.0.113.5 -N

Различные аргументы для SSH:

  • Флаг -L направляет трафик на вашей локальной системе на порт 5601 на удаленный сервер.
  • Часть команды your_private_ip:5601 указывает на сервис на вашем сервере Elasticsearch, куда будет перенаправляться ваш трафик. В этом случае этим сервисом является Kibana. Обязательно замените частный IP-адрес вашего сервера Elasticsearch на место your_private_ip.
  • Адрес 203.0.113.5 – это публичный IP-адрес, который вы используете для подключения к вашему серверу и его администрирования. Замените его на публичный IP-адрес вашего сервера Elasticsearch.
  • Флаг -N указывает SSH не выполнять команду, такую как интерактивная оболочка /bin/bash, а просто удерживать соединение открытым. Он обычно используется при перенаправлении портов, как в этом примере.

Если вы хотите закрыть туннель в любое время, нажмите CTRL+C.

На Windows ваш терминал должен выглядеть примерно так, как на следующем скриншоте:

Примечание: Вам может потребоваться ввести пароль, если вы не используете SSH-ключ. Введите его в поле запроса и нажмите клавишу ENTER или RETURN.

На macOS и Linux ваш терминал будет аналогичен следующему скриншоту:

После того как вы подключитесь к вашему серверу Elasticsearch через SSH с установленным портовым туннелем, откройте свой браузер и посетите http://127.0.0.1:5601. Вы будете перенаправлены на страницу входа в Kibana:

Если ваш браузер не может подключиться к Kibana, вы получите сообщение, аналогичное следующему, в вашем терминале:

Output
channel 3: open failed: connect failed: No route to host

Эта ошибка указывает на то, что ваш SSH-туннель не может достичь службы Kibana на вашем сервере. Убедитесь, что вы указали правильный частный IP-адрес вашего сервера Elasticsearch, и перезагрузите страницу в вашем браузере.

Войдите на свой сервер Kibana, используя elastic в качестве имени пользователя и пароль, который вы скопировали ранее в этом руководстве для пользователя.

Просмотр панелей инструментов SIEM Kibana

После входа в систему Kibana вы можете исследовать панели инструментов Suricata, которые настроил Filebeat для вас.

В поле поиска в верхней части приветственной страницы Kibana введите поисковый запрос type:dashboard suricata. Этот запрос вернет два результата: панели инструментов Suricata Events и Suricata Alerts, как показано на следующем скриншоте:

Щелкните на результате [Filebeat Suricata] Обзор событий, чтобы перейти на панель инструментов Kibana, показывающую обзор всех зарегистрированных событий Suricata:

Чтобы перейти на панель инструментов Suricata Alerts, повторите поиск или щелкните ссылку Alerts, которая включена в панель инструментов Events. Ваша страница должна выглядеть как на следующем скриншоте:

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

Кроме того, в Kibana есть встроенный набор панелей инструментов безопасности, к которым можно получить доступ, используя меню слева в окне браузера. Перейдите на панель инструментов Network для обзора событий, отображаемых на карте, а также агрегированных данных о событиях в вашей сети. Ваша панель инструментов должна выглядеть следующим образом:

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

Заключение

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

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

Наконец, вы создали SSH-туннель к своему серверу Elasticsearch и вошли в Kibana. Вы нашли новые панели инструментов Suricata Events and Alerts, а также Network.

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

Source:
https://www.digitalocean.com/community/tutorials/how-to-build-a-siem-with-suricata-and-elastic-stack-on-rocky-linux-8