Статья Развертывание SIEM-системы Wazuh в Docker и установка агента на macOS

1781628416083.webp


Что вас ждет в статье:

Введение
1. Развертывание сервера Wazuh в Docker
1.1. Установка и запуск Docker Desktop
1.2. Загрузка манифестов и запуск контейнеров
2. Установка и подключение агента Wazuh
3. Настройка безопасности macOS и проверка логов
Заключение

Введение

Многие думают, что, если купил мак — можно расслабиться. Вирусов нет, Apple вроде следит. Но на деле стандартная установка любой ОС, включая macOS, заточена под удобство, а не под безопасность. Например, встроенный брандмауэр по умолчанию выключен, а контроль изменений конфигурации никто вручную не настраивает. Wazuh — это бесплатный Open Source SIEM, который умеет не только собирать события с хоста, но и проверять его на соответствие стандартам CIS Benchmarks. В этой статье я покажу, как поднять Wazuh-сервер в Docker, подключить агент на macOS и с его помощью найти и исправить самые очевидные (но от этого не менее опасные) дыры в безопасности системы.

Что конкретно будем делать:​
  • Сначала развернём Wazuh, это такой популярный Open Source SIEM, прямо в Docker.​
  • Затем подключим к нему агент на macOS, дабы собирать вообще всё, что происходит на устройстве.​
  • И, конечно, по ходу дела сразу же подтянем безопасность, чтобы прикрыть самые распространённые дыры.​

1. Развертывание сервера Wazuh в Docker

Серверная часть Wazuh поднимается через контейнеры и состоит из трёх основных кирпичиков:

1. Wazuh Indexer — это по сути база данных, куда складываются все логи и где потом можно быстро их искать.
2 Wazuh Manager — мозг всей системы. Он собирает данные с агентов, прогоняет их по правилам безопасности и решает, что тут нормально, а что подозрительно.
3. Wazuh Dashboard — веб-интерфейс, через который удобно управлять всей платформой и смотреть события.​

1.1. Установка и запуск Docker Desktop

Перед тем как разворачивать Wazuh, нам нужен Docker. Это контейнерная среда, в которой будут крутиться все три модуля нашей SIEM-системы.

Скачиваем установщик с официального сайта: docker.com/products/docker-desktop. Далее выбираем процессор нашего mac’а, в моём случае это Apple Silicon:

1781628497339.webp


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

1. Открываем скачанный файл Docker.dmg
2. В появившемся окне перетаскиваем иконку Docker в папку Applications
3. Идём в Applications и запускаем Docker
4. Система спросит разрешение — жмём «ОК»
5. Вылезет лицензионное соглашение (Docker Subscription Service Agreement). Читать не обязательно, но суть такая: для личного использования, обучения и мелкого бизнеса (до 250 сотрудников и выручки меньше 10 млн долларов) — бесплатно. Всё остальное — платно. Жмём Accept.

1781628528318.webp

6. На следующем экране выбираем Use recommended settings — Docker сам всё настроит.

1781628668196.webp

7. Жмём Finish. Готово.​

1.2. Загрузка манифестов и запуск контейнеров

Итак, Docker у нас уже крутится, пора поднимать сам Wazuh.

Wazuh не заставляет нас писать конфиги с нуля — разработчики выложили официальный репозиторий с готовыми файлами для развёртывания, давайте скажем им за это спасибо! Итак, нам нужно его скачать, для этого в терминале вводим команду:

git clone GitHub - wazuh/wazuh-docker: Wazuh - Docker containers -b v4.14.3
1781628707272.webp

Если до этого Вы все делали строго по методичке, должно получиться так.
Дальше последовательно вбиваем команды. Первая — заходим в нужную папку: cd wazuh-docker/single-node.
1781628728187.webp

Вторая — генерируем TLS-сертификаты: docker compose -f generate-indexer-certs.yml run --rm generator.

Без этого ничего не взлетит, потому что Wazuh Indexer и Dashboard общаются между собой по HTTPS, и им нужны нормальные сертификаты. Собственно, эта команда как раз их и создает: ключи, подписи. Запускается контейнер generator, проделывает свою работу — эдакую магию — и как только справится, сразу же самоуничтожается. Потому что --rm. В итоге — всё чисто, никакого мусора.

И, наконец, третья - запускаем скачивание и развертывание сервера в Docker: docker compose up -d
1781628766262.webp

Ключ -d — он для того, чтобы контейнеры ушли в фон, а терминал остался свободным для следующих команд. Без него вам пришлось бы открывать вторую вкладку, чтобы делать что-то ещё. А так — запустил и забыл.

Далее вводим проверочную команду: docker ps. Должны увидеть примерно такое:

1781628781938.webp


Всё, сервер поднят! Теперь можно зайти в веб-интерфейс: открываем браузер, вбиваем https://localhost, соглашаемся на самоподписанный сертификат (браузер будет ругаться — ничего страшного). Логин и пароль по умолчанию: admin / SecretPassword:

1781628811793.webp

2. Установка и подключение агента Wazuh

Итак, мы зашли на https://localhost, перетерпели страшное предупреждение браузера про небезопасное соединение и наконец-то увидели главный экран Wazuh. На главной странице нас встречают:

1781628828490.webp

  • Agents summary — краткая сводка по агентам​
  • Last 24 hours alerts — события за последние сутки​
  • Endpoint security — общая картина безопасности конечных точек​
  • Threat Intelligence — информация об угрозах​
Всё красиво, но пока не очень полезно, потому что агентов ещё нет. Сервер видит только самого себя или вообще никого. Так что давайте это исправлять.

Слева у нас находится меню навигации. Там много всего: события, управление правилами, настройки, отчёты… Я не буду сейчас всё расписывать, потому что интерфейс удобный, вы сами с ним разберётесь, когда покопаетесь. Ну а пока нам нужен раздел, где происходит добавление и управление вашими агенты.
Переходим: в левом меню находим Agents management → раскрываем его → и выбираем Summary. Внутри Agents Summary будет примерно следующее:​
  • Список уже подключённых агентов (у нас их нет)​
  • Статистика: сколько активных, сколько отключённых​
  • И главное — кнопка «Deploy new agent»​
Жмём на эту кнопку. Дальше откроется окно, где нам нужно выбрать свою ОС, в нашем случае это macOs (также выбираем процессор нашего mac’а). Далее в поле Wazuh server address (IP-адрес сервера) введите локальный IP-адрес вашего Mac в домашней сети, его можно узнать командой - ipconfig getifaddr en0 (Адрес будет выглядеть примерно так: 192.168.1.xx). Затем выбираем имя для нашего агента и, наконец, Wazuh любезно сгенерирует команду установки под вашу операционную систему.
Важный момент про интерфейсы: Команда выше использует en0 — это стандартное имя беспроводного интерфейса на Mac. Если у вас подключение через кабель, интерфейс скорее всего будет en1 или en2.

К счастью, теперь придумывать нам ничего не нужно, копируем по очереди обе команды и вставляем в терминал. После установки агент еще спит, для этого его нужно принудительно включить. Выполним в терминале команду запуска: sudo /Library/Ossec/bin/wazuh-control start

Ииии, вот он, агент готов!

1781629102840.webp

3. Настройка безопасности macOS и проверка логов

Переходим во вкладку Endpoint Security → Configuration Assessment, выбираем нашего агента.

1781629136038.webp


Сканирование показывает, что выявлено 25 потенциальных уязвимостей в конфигурации. Давайте их исправим. В поиске вводим Failed, чтобы отсечь успешные проверки:

1781629158504.webp


На скриншоте видно, что:

1. ID 41005 (Ensure Firewall Is Enabled): В Системных настройках macOS полностью выключен встроенный брандмауэр.

2. ID 41006 (Ensure Firewall Stealth Mode Is Enabled): Выключен скрытый режим брандмауэра.

Переходим в настройки устройства и видим, что, брандмауэр действительно отключен:

1781629195236.webp


Включим его и режим невидимости:

1781629220467.webp

1781629232046.webp


Далее перезапускаем агента командой sudo /Library/Ossec/bin/wazuh-control restart и проверяем результат:

1781629257807.webp


Кстати, про безопасность macOS. В Wazuh мы нашли только два косяка (брандмауэр и скрытый режим), но на самом деле CIS Benchmarks для macOS содержит около 200 правил. Там и шифрование диска FileVault, и гостевая учётка, и проверка подписей приложений, и настройки экрана блокировки, и логирование, и куча всего. Wazuh показал нам верхушку айсберга, и это уже полезно — но если хотите реально защитить свой Mac, стоит пройтись по всему чек-листу. Хорошая новость: Wazuh умеет проверять почти все эти правила, вам останется только исправлять красные пункты. Не расслабляйтесь, даже на маке есть чем заняться!​

Заключение

За время этой практической работы мы научились поднимать сервер Wazuh в Docker на macOS, генерировать TLS-сертификаты для безопасного взаимодействия компонентов, устанавливать и подключать агент мониторинга к целевой системе. На живом примере мы увидели, как Wazuh в разделе Endpoint Security отображает результаты проверки по стандартам CIS Benchmarks — в нашем случае это были два проваленных теста: выключенный брандмауэр и отключённый скрытый режим. Сами тесты мы не запускали, они уже были там, но мы научились читать их результаты и исправлять найденные уязвимости — включили фаервол и stealth mode. И, теперь, перед нами открывается дорога к дальнейшему углублению: интеграция Wazuh с VirusTotal для обогащения событий, настройка централизованного сбора логов с сетевого, подключение дополнительных агентов на другие операционные системы и написание собственных правил обнаружения.

Все в ваших руках!​
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab