
Централизованная оценка 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
| Компонент | Роль |
|---|---|
| pfSense | Межсетевой экран и сегментация LAN/DMZ |
| Сервер DMZ Ubuntu | Сервер NGINX, отслеживаемый Wazuh |
| NGINX | Целевая служба, оцениваемая на подверженность CVE |
| Агент Wazuh | Установлен на сервере DMZ Ubuntu |
| Менеджер Wazuh | Центральный сервер мониторинга, работающий в Docker |
| Панель управления Wazuh | Используется для просмотра результатов SCA |
Цель заключалась в создании безопасного и повторяемого защитного рабочего процесса:
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
До обновления: