Последние несколько лет компании активно развивают тему мониторинга событий в своих инфраструктурах для выявления компрометации и компьютерных атак. Цена коммерческих платформ такого рода порой весьма высока, поэтому заслуживают рассмотрения системы с открытым исходным кодом.
- Введение
- Основные возможности Wazuh
- Взаимодействие компонентов Wazuh
- Установка Wazuh
- Работа с событиями в Wazuh
- Выводы
Введение
Иметь системы класса SIEM для специалистов по информационной безопасности уже стало необходимостью, поскольку они позволяют собирать события в одном месте и выполнять их анализ — не вручную, конечно, а при помощи написанных правил корреляции. Правила применяются ко всему потоку событий и при срабатывании дают специалистам инцидент, который уже можно расследовать. В качестве источников к SIEM-системам могут быть подключены средства защиты информации, сетевое оборудование, серверы и рабочие станции на любых операционных системах — в общем, все сущности, которые способны отправлять события в подходящем для SIEM формате.
Существует несколько проблем, которые необходимо будет решить компании, если она решила вести мониторинг в интересах информационной безопасности. Во-первых, продукты этого класса очень дорогостоящи. Далеко не во всех компаниях выделяется достаточный бюджет на информационную безопасность, да ещё и на постоянной основе. Во-вторых, на рынке труда очень мало специалистов, умеющих обслуживать SIEM, писать для него правила корреляции и обнаруживать компьютерные атаки на инфраструктуру.
Более доступный способ — воспользоваться услугами коммерческого центра мониторинга (SOC). Коммерческие SOC занимаются обнаружением и предотвращением компьютерных атак, а также реагированием на инциденты и их расследованием.
Если у вас ещё нет SIEM из-за скромного бюджета, есть интересное решение этой проблемы — платформа Wazuh с открытым исходным кодом.
Основные возможности Wazuh
Проект появился в 2015 году, сейчас его постоянно поддерживают около 200 человек, живущих по всему миру. Wazuh используется в более чем ста тысячах организаций и имеет десятки миллионов скачиваний ежегодно.
Главные функциональные возможности Wazuh связаны с мониторингом событий, написанием правил корреляции и созданием панелей мониторинга (дашбордов) для анализа. Много правил уже есть в готовом виде, но с ними нужно будет поработать, потому что иначе вам будет обеспечено большое количество ложноположительных срабатываний. Правила пишутся вполне просто, есть механизм их тестирования перед сохранением.
После установки агента вы получаете полноценный аудит конечной точки: сведения о системе, об установленных программах, о процессах и сетевых настройках. Это весьма полезно для команд автоматизации (DevOps) и администраторов. Отображаются уязвимости хостов и оценка безопасности их конфигураций с рекомендациями. Есть возможность посмотреть соответствие хостов нормативным требованиям PCI DSS, GDPR и др. Можно реализовать контроль целостности, указав, изменение каких файлов или веток реестра нужно отслеживать (и оповещать вас, если с ними что-то произошло). В модуле MITRE ATT&CK все события распределяются по тактикам и техникам одноимённой матрицы, представляются в виде графиков.
Рисунок 1. Модуль MITRE ATT&CK
Агенты можно настроить не только для отправки событий и аудита, но и для работы в режиме EDR. В частности, могут быть реализованы функциональные возможности по блокировке вредоносных IP-адресов, выявлению атак методом перебора (брутфорс), обнаружению подозрительных исполняемых файлов, вредоносных программ (с помощью YARA-правил или интеграции с VirusTotal), атак с использованием SQL-инъекций. Доступен также мониторинг выполнения потенциально вредоносных команд.
Взаимодействие компонентов Wazuh
Принцип работы системы заключается в установке агентов на конечные точки и управлении ими из серверной части. Агенты выполняют сбор событий и их отправку, отправлять можно любые журналы по работе системы или приложений. Сервер Wazuh может получать события от источников и без агента — по протоколам Syslog, SSH или с использованием прикладного программного интерфейса (API). Это позволяет подключать разнообразные источники событий, например Kaspersky Security Center, OpenVPN, Suricata и др. Сервер Wazuh разбирает журналы с помощью декодеров, большое их количество предустановлены; если для нужного вам журнала или источника нет декодера, его можно написать самостоятельно. С правилами корреляции всё обстоит так же: есть много готовых правил от сообщества, но в конкретной инфраструктуре придётся их дорабатывать и писать собственные. Для высоконагруженных систем есть возможность создать кластер, состоящий из ведущей и ведомых нод («Master» и «Worker»).
После сбора, декодирования и анализа событий сервер Wazuh передаёт их в индексатор; там данные записываются в индексы, с которыми взаимодействует оператор. Индексатор Wazuh представляет собой полнотекстовое аналитическое ядро на базе OpenSearch. Раньше использовался стек ELK, но после того как в январе 2021 года Elastic NV изменила политику лицензирования, сообщество перешло на OpenSearch.
Рисунок 2. Архитектура Wazuh
За представление данных в веб-интерфейсе отвечает компонент «Wazuh dashboard», аналог Kibana в ЕLK. Там находятся средства мониторинга агентов, вкладки по срабатываниям правил корреляции, соответствию нормативным требованиям, найденным уязвимостям и др. Интерфейс интуитивно понятен.
Рисунок 3. Веб-интерфейс «Wazuh dashboard»
Резюмируем: устройства с агентами или без них отправляют события на сервер Wazuh, он их декодирует, анализирует и передаёт в компонент «Wazuh indexer», где события индексируются, после чего появляется возможность выполнять полнотекстовый поиск средствами OpenSearch. «Wazuh dashboard» нужен для визуализации и удобства использования всей системы.
Установка Wazuh
Установка центральных компонентов, описанных в предыдущем разделе (сервер, индексатор и дашборд), может быть выполнена как на одном сервере, так и на нескольких отдельных (для высоконагруженных систем). Установить агенты Wazuh на конечные точки можно централизованно с использованием Ansible, Puppet, групповых политик Microsoft Active Directory.
Рисунок 4. Минимальные системные требования для центральных компонентов
Рассчитать объём памяти (в ГБ) для хранения логов можно по приведённым далее таблицам. Он зависит от типа конечной точки и количества оповещений в секунду (APS). Период хранения событий принят за 90 дней.
Рисунок 5. Объём памяти для журналов (индексатор)
Рисунок 6. Объём памяти для журналов (сервер)
Система может быть развёрнута в виде виртуальных машин (OVA, AMI), контейнеров Docker и Kubernetes и в облачном варианте (есть 14-дневный бесплатный период).
Работа с событиями в Wazuh
Мониторинг событий осуществляется в веб-интерфейсе компонента «Wazuh dashboard», модуль «Security events».
Рисунок 7. Модуль «Security events»
Здесь можно посмотреть события за выбранный интервал времени, приведено несколько графиков для аналитика, есть возможность добавить свои. Правила корреляции в Wazuh классифицируют события по уровням критической значимости от 0 до 16, для событий с уровнем 12 и выше есть отдельная кнопка с фильтром. При написании правил корреляции особо важным правилам тоже можно присваивать такие уровни для удобного отображения наиболее значимых.
Кнопка «Events» открывает полнотекстовый поиск. События здесь представлены в более развёрнутом виде. Допустим, сработало правило корреляции по добавлению учётной записи в группу доменных администраторов; в поле поиска можно ввести логин этой учётной записи и посмотреть все связанные с нею события. Фильтровать можно по строкам и при помощи запросов с использованием Query DSL.
Рисунок 8. Полнотекстовый поиск
Выводы
После установки и длительной работы с OSSEC Wazuh осталось много положительных впечатлений. Компоненты системы изначально вполне легко устанавливаются и настраиваются, существует множество вариантов развёртывания в зависимости от ваших потребностей. Агенты никак не нарушают работу конечных точек, то есть можно централизованно устанавливать их на большое количество устройств, не боясь, что всё сломается. Вполне просто построен и процесс написания собственных правил корреляции.
В то же время нужно понимать, что использование продуктов с открытым кодом в своей инфраструктуре — занятие не для малодушных: очень многое придётся искать самостоятельно, плюс практически полностью отсутствуют русскоязычные статьи и сообщество. Всё больше компаний используют Wazuh в России, но специалисты не слишком активно группируются для обсуждений — автору, например, известно об одном телеграм-чате менее чем на 100 человек. Также компании должны быть готовы к тому, что разбирающихся в подобных системах людей очень мало на рынке, поэтому могут быть проблемы при уходе знающих сотрудников и поиске людей на замену им.
Мы знаем, что новые уязвимости и методы компрометации появляются ежедневно и вендоры коммерческих СЗИ вполне быстро выпускают детектирующие правила. При использовании Wazuh этого, конечно, не будет, команде мониторинга придётся самостоятельно следить за новыми угрозами и писать детектирующие правила. При этом в OSSEC Wazuh очень много функциональных возможностей — мало в каких вендорских продуктах есть столько всего в одном, скорее всего, придётся приобретать несколько. При правильной настройке, хорошей команде инженеров и выстроенном процессе работы эта система может сэкономить вашей компании очень солидный бюджет.
Достоинства:
- Лёгкость установки.
- Много различных вариантов развёртывания.
- Агенты не нарушают работоспособность серверов и рабочих мест.
- Простота написаний правил корреляции.
- Большое количество функциональных возможностей.
- Экономия средств при грамотном подходе.
Недостатки:
- Работа с продуктом с открытым исходным кодом.
- Отсутствие русскоязычных материалов.
- Отсутствие поддержки.
- Сложности с поиском людей для администрирования.
- Отсутствие быстрых обновлений правил детектирования угроз, нужно всё писать самим.