Что вас ждет в статье:
Введение
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. Wazuh Indexer — это по сути база данных, куда складываются все логи и где потом можно быстро их искать.
2 Wazuh Manager — мозг всей системы. Он собирает данные с агентов, прогоняет их по правилам безопасности и решает, что тут нормально, а что подозрительно.
3. Wazuh Dashboard — веб-интерфейс, через который удобно управлять всей платформой и смотреть события.
1.1. Установка и запуск Docker Desktop
Перед тем как разворачивать Wazuh, нам нужен Docker. Это контейнерная среда, в которой будут крутиться все три модуля нашей SIEM-системы.
Скачиваем установщик с официального сайта: docker.com/products/docker-desktop. Далее выбираем процессор нашего mac’а, в моём случае это Apple Silicon:
После установки, делаем по порядку следующие действия:
1. Открываем скачанный файл Docker.dmg
2. В появившемся окне перетаскиваем иконку Docker в папку Applications
3. Идём в Applications и запускаем Docker
4. Система спросит разрешение — жмём «ОК»
5. Вылезет лицензионное соглашение (Docker Subscription Service Agreement). Читать не обязательно, но суть такая: для личного использования, обучения и мелкого бизнеса (до 250 сотрудников и выручки меньше 10 млн долларов) — бесплатно. Всё остальное — платно. Жмём Accept.
6. На следующем экране выбираем Use recommended settings — Docker сам всё настроит.
7. Жмём Finish. Готово.
Скачиваем установщик с официального сайта: docker.com/products/docker-desktop. Далее выбираем процессор нашего mac’а, в моём случае это Apple Silicon:
После установки, делаем по порядку следующие действия:
1. Открываем скачанный файл Docker.dmg
2. В появившемся окне перетаскиваем иконку Docker в папку Applications
3. Идём в Applications и запускаем Docker
4. Система спросит разрешение — жмём «ОК»
5. Вылезет лицензионное соглашение (Docker Subscription Service Agreement). Читать не обязательно, но суть такая: для личного использования, обучения и мелкого бизнеса (до 250 сотрудников и выручки меньше 10 млн долларов) — бесплатно. Всё остальное — платно. Жмём Accept.
6. На следующем экране выбираем Use recommended settings — Docker сам всё настроит.
7. Жмём Finish. Готово.
1.2. Загрузка манифестов и запуск контейнеров
Итак, Docker у нас уже крутится, пора поднимать сам Wazuh.
Wazuh не заставляет нас писать конфиги с нуля — разработчики выложили официальный репозиторий с готовыми файлами для развёртывания, давайте скажем им за это спасибо! Итак, нам нужно его скачать, для этого в терминале вводим команду:
git clone GitHub - wazuh/wazuh-docker: Wazuh - Docker containers -b v4.14.3
Если до этого Вы все делали строго по методичке, должно получиться так.
Дальше последовательно вбиваем команды. Первая — заходим в нужную папку: cd wazuh-docker/single-node.
Вторая — генерируем TLS-сертификаты: docker compose -f generate-indexer-certs.yml run --rm generator.
Без этого ничего не взлетит, потому что Wazuh Indexer и Dashboard общаются между собой по HTTPS, и им нужны нормальные сертификаты. Собственно, эта команда как раз их и создает: ключи, подписи. Запускается контейнер generator, проделывает свою работу — эдакую магию — и как только справится, сразу же самоуничтожается. Потому что --rm. В итоге — всё чисто, никакого мусора.
И, наконец, третья - запускаем скачивание и развертывание сервера в Docker: docker compose up -d
Ключ -d — он для того, чтобы контейнеры ушли в фон, а терминал остался свободным для следующих команд. Без него вам пришлось бы открывать вторую вкладку, чтобы делать что-то ещё. А так — запустил и забыл.
Далее вводим проверочную команду: docker ps. Должны увидеть примерно такое:
Всё, сервер поднят! Теперь можно зайти в веб-интерфейс: открываем браузер, вбиваем https://localhost, соглашаемся на самоподписанный сертификат (браузер будет ругаться — ничего страшного). Логин и пароль по умолчанию: admin / SecretPassword:
Wazuh не заставляет нас писать конфиги с нуля — разработчики выложили официальный репозиторий с готовыми файлами для развёртывания, давайте скажем им за это спасибо! Итак, нам нужно его скачать, для этого в терминале вводим команду:
git clone GitHub - wazuh/wazuh-docker: Wazuh - Docker containers -b v4.14.3
Если до этого Вы все делали строго по методичке, должно получиться так.
Дальше последовательно вбиваем команды. Первая — заходим в нужную папку: cd wazuh-docker/single-node.
Вторая — генерируем TLS-сертификаты: docker compose -f generate-indexer-certs.yml run --rm generator.
Без этого ничего не взлетит, потому что Wazuh Indexer и Dashboard общаются между собой по HTTPS, и им нужны нормальные сертификаты. Собственно, эта команда как раз их и создает: ключи, подписи. Запускается контейнер generator, проделывает свою работу — эдакую магию — и как только справится, сразу же самоуничтожается. Потому что --rm. В итоге — всё чисто, никакого мусора.
И, наконец, третья - запускаем скачивание и развертывание сервера в Docker: docker compose up -d
Ключ -d — он для того, чтобы контейнеры ушли в фон, а терминал остался свободным для следующих команд. Без него вам пришлось бы открывать вторую вкладку, чтобы делать что-то ещё. А так — запустил и забыл.
Далее вводим проверочную команду: docker ps. Должны увидеть примерно такое:
Всё, сервер поднят! Теперь можно зайти в веб-интерфейс: открываем браузер, вбиваем https://localhost, соглашаемся на самоподписанный сертификат (браузер будет ругаться — ничего страшного). Логин и пароль по умолчанию: admin / SecretPassword:
2. Установка и подключение агента Wazuh
Итак, мы зашли на https://localhost, перетерпели страшное предупреждение браузера про небезопасное соединение и наконец-то увидели главный экран Wazuh. На главной странице нас встречают:
- Agents summary — краткая сводка по агентам
- Last 24 hours alerts — события за последние сутки
- Endpoint security — общая картина безопасности конечных точек
- Threat Intelligence — информация об угрозах
Всё красиво, но пока не очень полезно, потому что агентов ещё нет. Сервер видит только самого себя или вообще никого. Так что давайте это исправлять.
Слева у нас находится меню навигации. Там много всего: события, управление правилами, настройки, отчёты… Я не буду сейчас всё расписывать, потому что интерфейс удобный, вы сами с ним разберётесь, когда покопаетесь. Ну а пока нам нужен раздел, где происходит добавление и управление вашими агенты.
Переходим: в левом меню находим Agents management → раскрываем его → и выбираем Summary. Внутри Agents Summary будет примерно следующее:
Слева у нас находится меню навигации. Там много всего: события, управление правилами, настройки, отчёты… Я не буду сейчас всё расписывать, потому что интерфейс удобный, вы сами с ним разберётесь, когда покопаетесь. Ну а пока нам нужен раздел, где происходит добавление и управление вашими агенты.
Переходим: в левом меню находим 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
Ииии, вот он, агент готов!
Важный момент про интерфейсы: Команда выше использует en0 — это стандартное имя беспроводного интерфейса на Mac. Если у вас подключение через кабель, интерфейс скорее всего будет en1 или en2.
К счастью, теперь придумывать нам ничего не нужно, копируем по очереди обе команды и вставляем в терминал. После установки агент еще спит, для этого его нужно принудительно включить. Выполним в терминале команду запуска: sudo /Library/Ossec/bin/wazuh-control start
Ииии, вот он, агент готов!
3. Настройка безопасности macOS и проверка логов
Переходим во вкладку Endpoint Security → Configuration Assessment, выбираем нашего агента.
Сканирование показывает, что выявлено 25 потенциальных уязвимостей в конфигурации. Давайте их исправим. В поиске вводим Failed, чтобы отсечь успешные проверки:
На скриншоте видно, что:
1. ID 41005 (Ensure Firewall Is Enabled): В Системных настройках macOS полностью выключен встроенный брандмауэр.
2. ID 41006 (Ensure Firewall Stealth Mode Is Enabled): Выключен скрытый режим брандмауэра.
Переходим в настройки устройства и видим, что, брандмауэр действительно отключен:
Включим его и режим невидимости:
Далее перезапускаем агента командой sudo /Library/Ossec/bin/wazuh-control restart и проверяем результат:
Кстати, про безопасность macOS. В Wazuh мы нашли только два косяка (брандмауэр и скрытый режим), но на самом деле CIS Benchmarks для macOS содержит около 200 правил. Там и шифрование диска FileVault, и гостевая учётка, и проверка подписей приложений, и настройки экрана блокировки, и логирование, и куча всего. Wazuh показал нам верхушку айсберга, и это уже полезно — но если хотите реально защитить свой Mac, стоит пройтись по всему чек-листу. Хорошая новость: Wazuh умеет проверять почти все эти правила, вам останется только исправлять красные пункты. Не расслабляйтесь, даже на маке есть чем заняться!
Сканирование показывает, что выявлено 25 потенциальных уязвимостей в конфигурации. Давайте их исправим. В поиске вводим Failed, чтобы отсечь успешные проверки:
На скриншоте видно, что:
1. ID 41005 (Ensure Firewall Is Enabled): В Системных настройках macOS полностью выключен встроенный брандмауэр.
2. ID 41006 (Ensure Firewall Stealth Mode Is Enabled): Выключен скрытый режим брандмауэра.
Переходим в настройки устройства и видим, что, брандмауэр действительно отключен:
Включим его и режим невидимости:
Далее перезапускаем агента командой sudo /Library/Ossec/bin/wazuh-control restart и проверяем результат:
Кстати, про безопасность macOS. В Wazuh мы нашли только два косяка (брандмауэр и скрытый режим), но на самом деле CIS Benchmarks для macOS содержит около 200 правил. Там и шифрование диска FileVault, и гостевая учётка, и проверка подписей приложений, и настройки экрана блокировки, и логирование, и куча всего. Wazuh показал нам верхушку айсберга, и это уже полезно — но если хотите реально защитить свой Mac, стоит пройтись по всему чек-листу. Хорошая новость: Wazuh умеет проверять почти все эти правила, вам останется только исправлять красные пункты. Не расслабляйтесь, даже на маке есть чем заняться!
Заключение
За время этой практической работы мы научились поднимать сервер Wazuh в Docker на macOS, генерировать TLS-сертификаты для безопасного взаимодействия компонентов, устанавливать и подключать агент мониторинга к целевой системе. На живом примере мы увидели, как Wazuh в разделе Endpoint Security отображает результаты проверки по стандартам CIS Benchmarks — в нашем случае это были два проваленных теста: выключенный брандмауэр и отключённый скрытый режим. Сами тесты мы не запускали, они уже были там, но мы научились читать их результаты и исправлять найденные уязвимости — включили фаервол и stealth mode. И, теперь, перед нами открывается дорога к дальнейшему углублению: интеграция Wazuh с VirusTotal для обогащения событий, настройка централизованного сбора логов с сетевого, подключение дополнительных агентов на другие операционные системы и написание собственных правил обнаружения.
Все в ваших руках!
Все в ваших руках!
Последнее редактирование модератором: