
Централизованная оценка Wazuh SCA для CVE-2026-42945 на серверах NGINX
В этом репозитории документирована защитная лаборатория для CVE-2026-42945, затрагивающей NGINX ngx_http_rewrite_module.
Цель проекта — подойти к CVE с точки зрения синей команды, используя Wazuh Security Configuration Assessment (SCA) для централизованной оценки подверженности NGINX.
Лаборатория проверяет два условия подверженности:
Конечный результат — централизованная политика Wazuh SCA, которая может быть развернута на отслеживаемых серверах NGINX через централизованную конфигурацию агентов Wazuh.
Лаборатория построена на сегментированной сетевой архитектуре.
Internet / WAN
|
|
pfSense Firewall
|
|-----------------------------
| |
LAN DMZ
| |
Wazuh Manager Ubuntu NGINX Server
Wazuh Dashboard Wazuh Agent
NGINX
Цель заключалась в создании безопасного и повторяемого защитного рабочего процесса:
Wazuh Manager
|
| Централизованная политика SCA
v
Агент Wazuh на сервере NGINX в DMZ
|
| Проверяет версию пакета и конфигурацию NGINX
v
Панель управления Wazuh
|
| Показывает пройденные/непройденные проверки
v
Проверка исправления
Такой подход позволяет оценивать подверженность CVE без выполнения эксплойтов.
Пользовательская политика Wazuh SCA выполняет две проверки.
Политика проверяет, соответствует ли установленная версия пакета NGINX в Ubuntu неисправленной версии, наблюдавшейся в лаборатории.
Изначальная уязвимая версия пакета:
nginx 1.28.3-2ubuntu1
nginx-common 1.28.3-2ubuntu1
Исправленная версия пакета после устранения:
nginx 1.28.3-2ubuntu1.1
nginx-common 1.28.3-2ubuntu1.1
Файл политики:
sca-policy/nginx-cve-2026-42945.yml
Политика также проверяет опасный шаблон rewrite, связанный с CVE-2026-42945.
Тестовая опасная конфигурация хранится здесь:
nginx-config/vulnerable-example.conf
Исправленная конфигурация хранится здесь:
nginx-config/remediated-example.conf
Проверяемое в лаборатории опасное условие включает:
директива rewrite
безымянный захват, например $1
замена, содержащая ?
последующая директива, например set
wazuh-nginx-cve-2026-42945-sca-lab/
├── README.md
├── sca-policy/
│ └── nginx-cve-2026-42945.yml
├── wazuh-config/
│ └── agent.conf
├── nginx-config/
│ ├── vulnerable-example.conf
│ └── remediated-example.conf
├── commands/
│ ├── 01-agent-validation.md
│ ├── 02-nginx-version-check.md
│ ├── 03-sca-policy-deployment.md
│ └── 04-remediation.md
├── screenshots/
│ ├── 01-lab-architecture.png
│ ├── 02-agent-active.png
│ ├── 03-sca-policy-failed.png
│ ├── 04-nginx-package-before.png
│ ├── 05-risky-rewrite-config.png
│ ├── 06-sca-partial-remediation.png
│ ├── 07-nginx-package-after.png
│ └── 08-sca-policy-passed.png
└── docs/
└── lab-notes.md
В лаборатории использовался pfSense для разделения среды на:
LAN:
- Менеджер Wazuh
- Панель управления Wazuh
DMZ:
- Сервер NGINX на Ubuntu
- Агент Wazuh
Сервер NGINX на Ubuntu был размещён в DMZ.
Менеджер Wazuh был размещён в LAN.
Из DMZ-сервера к менеджеру Wazuh разрешалась только необходимая связь Wazuh.
Сервер DMZ Ubuntu был зарегистрирован как агент Wazuh.
Агент был проверен с менеджера Wazuh и подтверждён как активный.
Команды проверки описаны в:
commands/01-agent-validation.md
Ожидаемое состояние:
Agent: ubuntu-dmz-nginx2
Status: Active
Установленная версия пакета NGINX была проверена на сервере DMZ Ubuntu.
Команды проверки версии описаны в:
commands/02-nginx-version-check.md
Исходное состояние:
nginx 1.28.3-2ubuntu1
nginx-common 1.28.3-2ubuntu1
После обновления индекса пакетов стала доступна исправленная версия-кандидат:
1.28.3-2ubuntu1.1
Была создана тестовая конфигурация NGINX для имитации опасного шаблона rewrite.
Уязвимый пример хранится в:
nginx-config/vulnerable-example.conf
Исправленная версия хранится в:
nginx-config/remediated-example.conf
Цель заключалась не в эксплуатации службы, а в проверке, может ли Wazuh SCA идентифицировать локальную опасную конфигурацию.
На менеджере Wazuh была создана пользовательская политика SCA.
Файл политики:
sca-policy/nginx-cve-2026-42945.yml
В лаборатории эта политика была развернута из общей директории менеджера Wazuh:
/var/ossec/etc/shared/default/nginx-cve-2026-42945.yml
Политика содержит две проверки:
| ID проверки | Назначение |
|---|---|
| 100449 | Обнаружение уязвимой/неисправленной версии пакета NGINX в Ubuntu |
| 100450 | Обнаружение опасного шаблона конфигурации rewrite NGINX |
Пользовательская политика SCA была развернута с использованием централизованной конфигурации агента Wazuh.
Файл централизованной конфигурации хранится в этом репозитории как:
wazuh-config/agent.conf
В лаборатории он был развернут по адресу:
/var/ossec/etc/shared/default/agent.conf
Менеджер Wazuh работал в Docker:
single-node-wazuh.manager-1
Команды развертывания описаны в:
commands/03-sca-policy-deployment.md
После перезапуска агента Wazuh пользовательская политика SCA была получена сервером DMZ Ubuntu.
Полученная политика появилась в:
/var/ossec/etc/shared/nginx-cve-2026-42945.yml
Логи агента Wazuh подтвердили, что политика загружена и оценена.
Ожидаемые индикаторы в логах:
Loaded policy
Starting evaluation of policy
Evaluation finished for policy
При наличии обоих условий подверженности панель управления Wazuh показала:
Passed: 0
Failed: 2
Score: 0%
Это означает, что обе проверки не пройдены:
| Проверка | Результат |
|---|---|
| Версия пакета NGINX | Не пройдена |
| Опасная конфигурация rewrite | Не пройдена |
Скриншот:
screenshots/03-sca-policy-failed.png
Опасная конфигурация rewrite NGINX была заменена на более безопасную.
Файл для справки:
nginx-config/remediated-example.conf
После исправления конфигурации и повторного запуска сканирования Wazuh SCA ожидаемый результат:
Passed: 1
Failed: 1
Score: 50%
На этом этапе:
| Проверка | Результат |
|---|---|
| Опасная конфигурация rewrite | Пройдена |
| Версия пакета NGINX | Не пройдена |
Скриншот:
screenshots/06-sca-partial-remediation.png
Пакеты NGINX были обновлены с помощью целенаправленного обновления пакетов.
Команды устранения описаны в:
commands/04-remediation.md
До обновления:
Installed: 1.28.3-2ubuntu1
Candidate: 1.28.3-2ubuntu1.1
После обновления:
nginx 1.28.3-2ubuntu1.1
nginx-common 1.28.3-2ubuntu1.1
Скриншот:
screenshots/07-nginx-package-after.png
После выполнения обоих шагов устранения результат Wazuh SCA изменился на:
Passed: 2
Failed: 0
Score: 100%
Это подтвердило, что:
Скриншот:
screenshots/08-sca-policy-passed.png
Рекомендованные скриншоты:
В лаборатории политика была развернута через группу default Wazuh.
В эксплуатации лучше создать выделенную группу агентов Wazuh, например:
nginx-servers
Только серверы, работающие с NGINX, должны быть назначены в эту группу.
Рекомендуемый стиль развертывания для эксплуатации:
Wazuh Manager
|
| Централизованная политика SCA
v
Группа агентов nginx-servers
|
| Применяется только к системам с NGINX
v
Панель управления Wazuh
Это позволяет избежать применения специфичных для NGINX проверок к нерелевантным системам.
Этот проект намеренно избегает эксплойт-кода.
Цель лаборатории — продемонстрировать защитную инженерию безопасности, а не эксплуатацию.
Оценка основывалась на:
подверженность версии пакета
подверженность конфигурации
централизованная проверка Wazuh SCA
верификация устранения
Этот репозиторий предназначен только для образовательных и защитных целей безопасности.
Эксплойт-код не включен.
Проверки разработаны для контролируемой лабораторной среды и должны быть проверены перед использованием в эксплуатации.
| Компонент | Роль |
|---|
| pfSense | Межсетевой экран и сегментация LAN/DMZ |
| Сервер DMZ Ubuntu | Сервер NGINX, отслеживаемый Wazuh |
| NGINX | Целевая служба, оцениваемая на подверженность CVE |
| Агент Wazuh | Установлен на сервере DMZ Ubuntu |
| Менеджер Wazuh | Центральный сервер мониторинга, работающий в Docker |
| Панель управления Wazuh | Используется для просмотра результатов SCA |
| Этап | Проверка пакета | Проверка конфигурации | Результат Wazuh |
|---|
| Исходное состояние | Не пройдена | Не пройдена | 0% |
| После исправления конфигурации | Не пройдена | Пройдена | 50% |
| После обновления пакетов | Пройдена | Пройдена | 100% |
| Файл | Описание |
|---|
01-lab-architecture.png | Архитектура LAN/DMZ pfSense |
02-agent-active.png | Активное состояние агента Wazuh |
03-sca-policy-failed.png | Первоначальный результат SCA с ошибками |
04-nginx-package-before.png | Уязвимая версия пакета NGINX |
05-risky-rewrite-config.png | Доказательство опасной конфигурации rewrite |
06-sca-partial-remediation.png | Результат частичного устранения |
07-nginx-package-after.png | Обновленная версия пакета NGINX |
08-sca-policy-passed.png | Итоговый успешный результат SCA |