Народный SIEM Wazuh активно используется специалистами ИБ в различных организациях. Он может собирать и анализировать события безопасности получаемые с источников, генерировать уведомления об инцидентах и строить отчеты. Однако, было бы неплохо, чтобы он еще умел подавать кофе производить оценку конфигурации безопасности.
Оценка безопасности конфигурации — это процесс проверки соответствия всех систем набору предопределенных правил, касающихся параметров конфигурации и разрешенного использования приложений. Одним из наиболее надежных способов обеспечения безопасности ресурсов сети является усиление их защищенности. Таким образом, оценка безопасности конфигурации — это эффективный способ выявить слабые места в ваших конечных точках и устранить их, чтобы уменьшить вероятность атаки.
В Wazuh для этой цели используется специальный SCA‑модуль. В данном случае SCA (Security Configuration Assessment) это именно оценка безопасности конфигурации, а не анализ используемых приложением зависимостей (Software Composition Analysis).
Принцип работы
Для обнаружения небезопасных настроек и уязвимостей Wazuh выполняет сканирование на отслеживаемых узлах и рекомендует действия по исправлению найденных проблем. При этом сканировании конфигурация конечных точек оценивается с помощью файлов политик, содержащих правила, которые необходимо проверить на соответствие фактической конфигурации узла. Политики SCA могут проверять наличие файлов, каталогов, разделов и значений реестра, запущенных процессов и рекурсивно проверять наличие файлов внутри каталогов.
Например, модуль SCA может оценить, необходимо ли изменить конфигурацию, связанную с настройками парольной политики, надо ли удалить ненужное программное обеспечение, отключить ненужные службы или провести аудит сетевой конфигурации.
Политики для модуля SCA написаны на YAML. Этот формат был выбран потому, что он удобочитаем и понятен пользователю. Вы можете легко создать свои собственные политики SCA или расширить существующие в соответствии с вашими потребностями. Кроме того, Wazuh распространяется с набором готовых политик, в основном основанных на CIS benchmarks — хорошо зарекомендовавшем себя стандарте обеспечения безопасности узлов.
Каждый агент Wazuh имеет свою собственную локальную базу данных, в которой хранится текущее состояние каждой проверки SCA, при этом сервер Wazuh поддерживает базу данных SCA для всех зарегистрированных на нем агентов.
Агенты не пересылают на сервер при каждой проверке полный результат сканирования, вместо этого на сервер Wazuh передаются только данные о различиях, обнаруженных при сканировании. Если изменений не было, отправляется только сводная информация о SCA‑сканировании, что позволяет избежать ненужного сетевого трафика и поддерживать базу данных SCA на сервере Wazuh в актуальном состоянии. Затем сервер Wazuh использует эти обновления для выдачи предупреждений, которые отображаются на панели мониторинга Wazuh.
Ниже представлен жизненный цикл проверок и уведомлений с помощью SCA.

Пример проверки SCA
Понятие проверки является основой политики SCA, поскольку оно описывают те действия, которые должны выполняться на проверяемом узле. Проверки содержат поля, которые определяют, какие действия агент должен предпринять для анализа защищенности конечной точки и как оценивать результаты этого сканирования.
Каждая проверка включает в себя информацию о метаданных, включая обоснование, исправление и описание проверки и логическое описание с полями condition и rules.
В качестве части метаданных политика SCA может содержать необязательное поле compliance, используемое для указания того, соответствует ли проверка каким‑либо нормативным требованиям. Проверки SCA обычно указывают стандарты или политики, которым они должны соответствовать. Например, мы можем сопоставить контрольные показатели CIS benchmark, PCI‑DSS, NIST и TSC с соответствующими проверками SCA.
Ниже в качестве примера приведен идентификатор политики SCA 19 115 для операционной системы Ubuntu 20.04. В нем мы проверяем отключена ли настройка SSH HostbasedAuthentication, разрешающая аутентификацию через доверенные хосты. Включение этого параметра может существенно ослабить защищенность узла.
- id: 19115
title: "Проверка отключения SSH HostbasedAuthentication."
description: "Параметр HostbasedAuthentication указывает, разрешена ли аутентификация через доверенные хосты .rhosts или /etc/hosts.equiv, а также успешная аутентификация хоста клиента с открытым ключом.”
rationale: " Несмотря на то, что файлы .rhosts неэффективны, если поддержка отключена в /etc/pam.conf, отключение возможности использования файлов .rhosts в SSH обеспечивает дополнительный уровень защиты."
remediation: "Отредактируйте файл /etc/ssh/sshd_config, и установите параметр: HostbasedAuthentication no перед записями Include Примечание: Приоритет имеет первое вхождение параметра, независимо от операторов Match."
compliance:
- cis: ["4.2.8"]
- mitre_mitigations: ["M1042"]
- mitre_tactics: ["TA0001"]
- mitre_techniques: ["T1078", "T1078.001", "T1078.003"]
condition: all
rules:
- 'c:sshd -T -> r:^\s*HostbasedAuthentication\s+no'
- 'not f:/etc/ssh/sshd_config -> r:^\s*HostbasedAuthentication\s+yes'
В разделе rules мы видим команды, которые выполняются при проведении проверки, а в блоке compliance упоминается CIS и тактики, техники из матрицы MITTRE.
Настраиваем Wazuh SCA
По умолчанию агент Wazuh установленный на целевом узле запускает проверку всех политик (файлов.yaml или.yml), присутствующих в папке с набором правил:
Агенты на базе Linux и Unix: /var/ossec/ruleset/sca.
Агенты Windows: C:\Program Файлы (x86)\ossec‑agent\ruleset\sca.
Агенты macOS: /Library/Ossec/ruleset/sca.
Здесь важно понимать, что если вы добавляете свои политики в эти папки, то обязательно сохраните копии данный yaml файлов в другом месте, так как при обновлениях агентов эти файлы могут быть удалены.
Чтобы включить файл политики вне папки агента Wazuh, добавьте путь к файлу политики в блок <sca> в файле конфигурации агента ossec.conf:
<sca>
<policies>
<policy><FULLPATH_TO_CUSTOM_SCA_POLICY_FILE></policy>
</policies>
</sca>
В случае, если нам необходимо отключить какую‑либо политику на агенте, то можно просто переименовать файл политики, добавив.disabled (или что‑либо другое, отличное от.yaml или.yml) после их расширения YAML.
Также можно отключить ненужную политику в файле ossec.conf агента Wazuh, добавив строку, подобную следующей, в раздел <policies> модуля SCA:
<sca>
<policies>
<policy enabled="no">etc/shared/<POLICY_FILE_TO_DISABLE></policy>
</policies>
</sca>
Централизованное управление политиками
Wazuh может отправлять файлы и конфигурации своим подключенным агентам. Вы можете включить эту функцию, чтобы отправлять файлы политик агентам Wazuh в определенных группах. По умолчанию каждый агент Wazuh принадлежит к группе default, которая используется здесь в качестве примера.
Для начала необходимо на агенте разрешить выполнение команд в политиках SCA, отправляемых с сервера Wazuh отредактировав файл local_internal_options.conf:
echo "sca.remote_commands=1" >> /var/ossec/etc/local_internal_options.conf
Включив удаленное выполнение команд, сервер Wazuh получает возможность выполнять команды на контролируемом узле. Удаленные команды по умолчанию отключены в качестве меры безопасности, которая помогает уменьшить вероятность атаки в случае взлома сервера Wazuh.
Например, вы можете вручную создать файл политики непосредственно на контролируемой конечной точке или использовать scp для копирования файла политики на контролируемый узел.
Далее на сервере Wazuh поместите новый файл политики в папку /var/ossec/etc/shared/default и измените его владельца. Замените <NEW_POLICY_FILE> на имя вашей политики.
chown wazuh:wazuh /var/ossec/etc/shared/default/<NEW_POLICY_FILE>
Затем добавьте следующий конфигурационный блок в файл Wazuh server /var/ossec/etc/shared/default/agent.conf, чтобы настроить новый файл политики на агенте:
<agent_config>
<!-- Shared agent configuration here -->
<sca>
<policies>
<policy>etc/shared/<NEW_POLICY_FILE></policy>
</policies>
</sca>
</agent_config>
Все файлы, удаленно отправленные с сервера Wazuh, сохраняются в каталоге /<WAZUH_HOME_DIRECTORY>/etc/shared/ на агентах независимо от того, к какой группе они принадлежат. Мы указываем относительный путь к файлу политики в конфигурации, поскольку полный путь к файлу может отличаться в зависимости от операционной системы узла.
Результаты сканирования
Результаты SCA‑сканирования отображаются в виде предупреждений. Любое событие проверки имеет три возможных результата: Passed, Failed, Not applicable.
Приведенный ниже пример проверки SCA сканирует конечную точку Ubuntu 20, чтобы проверить, реализована ли политика «запретить все» на межсетевом экране узла:

В результате проведения сканирования на целевых узлах мы получаем отчет, аналогичный приведенному, в котором отображается количество узлов, соответствующих и не соответствующих требованиям.
Заключение
Для того, что осуществлять анализ защищенности узлов сети совершенно необязательно использовать сторонние решения. Wazuh позволяет с помощью агентов проверять конфигурацию встроенными средствами, с помощью YAML файлов.
В результате для составления собственных правил нам не нужно писать какие‑то дополнительные скрипты, достаточно только описать необходимые для проверки команды и другие параметры в файле, описывающем проверку, и затем подключить этот файл к основной конфигурации агента.
Также средствами Wazuh мы можем распространять свои политики централизованно на все агенты.
Если вы хотите научиться эффективно настраивать и использовать системы мониторинга безопасности, курс «Специалист по внедрению SIEM» предлагает структурированный подход к работе с Wazuh и другими SIEM‑платформами. Скоро в рамках этого курса пройдут бесплатные демо-уроки, на которых можно узнать больше о формате обучения:
Автоматизация в Wazuh: уведомления, Active Response и YARA — 6 ноября в 20:00
Атаки на ОС Windows — 18 ноября в 20:00
Технологии развиваются быстро. С подпиской OTUS берёте нужные курсы сейчас, а при смене приоритетов — корректируете трек без доплат. Выгоднее, чем оплачивать каждый курс отдельно. Узнать в деталях