Авторы: Devops. Специалист Hostkey по технологиям Microsoft Федор ПотаповSenior Devops. Ведущий специалист по инфраструктуре Hostkey Никита Зубарев Как подобрать решение, которое обеспечит стабильную конфигурацию файлов на серверах и стабильный аллертинг в случае изменения этих файлов. В этом году компании Hostkey понадобилось обеспечить мониторинг ключевых файлов и истории их изменения на серверах. Мы стремились подобрать решение, позволяющее обеспечить стабильную конфигурацию файлов на серверах и стабильный аллертинг в случае изменения этих файлов.  Мы рассматривали несколько сервисов, обеспечивающих мониторинг файлов и в итоге остановились на Wazuh. На то есть несколько причин: 1. Высокое качество клиента. Клиентская часть Wazuh оказалась наименее ресурсозатратной, но при этом стабильной и надежной. Механизм обнаружения, просмотра и сравнения соответствия безопасности с открытым исходным кодом важен, но вторичным ПО. Соответственно, он не должен нагружать сервер. Если 50% ресурса сервера идет на мониторинг, значит, что-то работает не так.   2. Развитость и поддержка клиента. Он работает на нескольких платформах, в том числе на Windows и Linux. 3. Итоговый интерфейс построен на Open Distro. У нас в инфраструктуре уже использовался логгер на Open Distro (со временем мы перешли на OpenSearch). Это решение показалось нам интересным и комфортным с точки зрения минимизации средств поддержки, поскольку используется платформа, с которой мы хорошо знакомы. Изначально мы искали решение для ОС семейства Linux, но Wazuh оказался универсальным решением. Ниже будет описан опыт администратора Windows. О специфике использования Wazuh на ОС семейства Linux мы расскажем в отдельной статье. Wazuh — это полноценная SIEM-система (менеджмент информации и событий безопасности), которая хорошо работает с платформами. Wazuh позволяет выполнять сканирование запущенных процессов, проверку уязвимостей CVE, получать отчеты об инцидентах и ​​т. д. В этой статье мы поговорим о сервисе Windows-администраторов, в том числе об опыте подключения к мониторингу Windows-хостов. Wazuh позволяет осуществить гибкое управление политиками для групп. На хостах выполняется скрипт следующего содержания: Избежать постоянного скачивания Wazuh-агента из интернета достаточно просто — необходимо разметить его на контроллере домена. В дальнейшем все хосты будут получать скрипт автоматически. Скачать скрипт можно здесь.  Для Wazuh существуют наборы политик. Набор правил Wazuh используется для обнаружения атак, вторжений, неправильного использования программного обеспечения, проблем с конфигурацией, ошибок приложений, вредоносных программ, руткитов, системных аномалий или нарушений политики безопасности. Набор правил включает сопоставление соответствия с PCI DSS v3.1 и CIS. Механизм работы мониторинга прост. В var/ossec/etc/shared создаются папки, которые в дальнейшем распространяются по хостам. При необходимости работать с Workstation используется windows.workstation.yml. В каждом файле содержатся настройки проверок операционных систем, для каждой ОС есть конкретизированные наборы правил. На каждый хост отправляются три файла: windows.workstation.yml; agent.conf; merged.mg. Агент выполняет проверку файла windows.workstation.yml, в котором содержится подробный перечень проверок и аннотаций к ним. В том числе есть рекомендации по настройке групповых политик.  Агенты позволяют просматривать подробную статистику проверок. Данные о проверках распределяются по трем категориям: pass — проверка прошла успешно; fail — ошибка проверки; not applicable — не применимо. Одной из сложностей при работе с Wazuh стало отсутствие возможности осуществить проверку ОС Windows Server 2022. Нам удалось решить эту проблему, отредактировав файл sca_win_audit.yml, предназначенный для проверки всех операционных систем Windows. Мы заменили часть содержимого файла на все проверки для ОС Windows Server 2019. При первом запуске проверки, организованной подобным образом, мы получили примерно следующее распределение по категориям: pass — 60; fail — 30; not  applicable — 161. Далее нам пришлось вручную настраивать политику для группы машин с ОС Windows Server 2022. В дальнейшей настройке нам помог Wazuh, поскольку для каждой проваленной или не состоявшейся проверки выводится удобное графическое описание, где среди прочего представлены варианты решения проблемы и рекомендации по корректной работе конкретной политики. Централизованное управление настройками политик для конечных хостов является весьма удобным инструментом для администрирования большого парка машин. Вторая сложность — точнее, неудобство — это добавление новой точки наблюдения в инфраструктуре. Ключевым средством мониторинга в нашей компании является Grafana, Естественно, мы хотим осуществлять мониторинг из одной точки, а не перемещаться между разными сервисами. Для решения этой проблемы мы использовали API Wazuh и разделение сообщений по уровням. Далеко не все сообщения логгера заслуживают внимания инженеров, поэтому мы выбрали для отслеживания только сообщения об ошибках пятого уровня и выше. Пример запроса для получения информации о событиях за последние 5 минут: Пример ответа:   Ответ подробен и информативен, но все же неудобен для просмотра. Информация из него должна быть представлена в более сжатом виде и в удобном для прочтения формате. Для этого разработчики Wazuh предусмотрели механизм интеграции с другими продуктами. В нашем случае — мессенджер Rocket. Chat: Сообщение об ошибке пятого уровня также отправляется в экспортер, из которого эту метрику забирает Prometheus: Затем сообщение об ошибке конвертируется для сервиса Grafana, который мы используем как основное средство мониторинга:   Нам удалось построить удобную систему мониторинга ключевых файлов и истории их изменения на серверах. Полная настройка мониторинга с помощью Wazuh заняла около десяти рабочих дней и осуществлялась одним инженером. В итоге автоматизированная оценка конфигурации безопасности Wazuh ищет неправильные конфигурации и помогает поддерживать стандартную конфигурацию на всех управляемых хостах.