
Zentralisierte Wazuh SCA Assessment für CVE-2026-42945 auf NGINX Servern
Dieses Repository dokumentiert ein defensives Labor für CVE-2026-42945, das das NGINX ngx_http_rewrite_module betrifft.
Das Ziel dieses Projekts war es, die CVE aus einer Blue-Team-Perspektive zu betrachten, indem Wazuh Security Configuration Assessment (SCA) verwendet wurde, um die NGINX-Exposition zentral zu bewerten.
Das Labor prüft zwei Expositionsbedingungen:
Das Endergebnis ist eine zentralisierte Wazuh-SCA-Richtlinie, die über die zentrale Wazuh-Agentenkonfiguration auf überwachte NGINX-Server bereitgestellt werden kann.
Das Labor wurde mit einer segmentierten Netzwerkarchitektur aufgebaut.
Internet / WAN
|
|
pfSense Firewall
|
|-----------------------------
| |
LAN DMZ
| |
Wazuh Manager Ubuntu NGINX Server
Wazuh Dashboard Wazuh Agent
NGINX
| Komponente | Rolle |
|---|---|
| pfSense | Firewall und LAN/DMZ-Segmentierung |
| Ubuntu DMZ-Server | NGINX-Server, überwacht von Wazuh |
| NGINX | Zieldienst, der auf CVE-Exposition geprüft wird |
| Wazuh-Agent | Installiert auf dem Ubuntu DMZ-Server |
| Wazuh Manager | Zentraler Überwachungsserver, läuft in Docker |
| Wazuh Dashboard | Wird zur Überprüfung der SCA-Ergebnisse verwendet |
Das Ziel war es, einen sicheren und wiederholbaren defensiven Workflow zu erstellen:
Wazuh Manager
|
| Zentrale SCA-Richtlinie
v
Wazuh-Agent auf DMZ-NGINX-Server
|
| Prüft Paketversion und NGINX-Konfiguration
v
Wazuh Dashboard
|
| Zeigt bestandene / fehlgeschlagene Prüfungen
v
Überprüfung der Behebung
Dieser Ansatz ermöglicht die Bewertung der CVE-Exposition ohne Ausführung von Exploit-Code.
Die benutzerdefinierte Wazuh-SCA-Richtlinie führt zwei Prüfungen durch.
Die Richtlinie prüft, ob die installierte Ubuntu-NGINX-Paketversion der ungepatchten Version aus dem Labor entspricht.
Anfängliche verwundbare Paketversion:
nginx 1.28.3-2ubuntu1
nginx-common 1.28.3-2ubuntu1
Behobene Paketversion nach der Behebung:
nginx 1.28.3-2ubuntu1.1
nginx-common 1.28.3-2ubuntu1.1
Richtliniendatei:
sca-policy/nginx-cve-2026-42945.yml
Die Richtlinie prüft auch auf ein riskantes Rewrite-Muster im Zusammenhang mit CVE-2026-42945.
Die riskante Testkonfiguration ist hier gespeichert:
nginx-config/vulnerable-example.conf
Die behobene Konfiguration ist hier gespeichert:
nginx-config/remediated-example.conf
Die im Labor getestete riskante Bedingung umfasst:
rewrite-Direktive
unbenannter Capture wie $1
Ersetzung mit ?
Folgedirektive wie 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
Das Labor verwendete pfSense, um die Umgebung zu trennen in:
LAN:
- Wazuh Manager
- Wazuh Dashboard
DMZ:
- Ubuntu-NGINX-Server
- Wazuh-Agent
Der Ubuntu-NGINX-Server wurde in der DMZ platziert.
Der Wazuh Manager wurde im LAN platziert.
Nur die erforderliche Wazuh-Kommunikation wurde vom DMZ-Server zum Wazuh Manager erlaubt.
Der Ubuntu-DMZ-Server wurde als Wazuh-Agent registriert.
Der Agent wurde vom Wazuh Manager verifiziert und als aktiv bestätigt.
Validierungsbefehle sind dokumentiert in:
commands/01-agent-validation.md
Erwarteter Status:
Agent: ubuntu-dmz-nginx2
Status: Active
Die installierte NGINX-Paketversion wurde auf dem Ubuntu-DMZ-Server überprüft.
Befehle zur Versionsprüfung sind dokumentiert in:
commands/02-nginx-version-check.md
Anfänglicher Zustand:
nginx 1.28.3-2ubuntu1
nginx-common 1.28.3-2ubuntu1
Nach dem Paketindex-Update stand die behobene Kandidatenversion zur Verfügung:
1.28.3-2ubuntu1.1
Es wurde eine Test-NGINX-Konfiguration erstellt, um das riskante Rewrite-Muster zu simulieren.
Das verwundbare Beispiel ist gespeichert in:
nginx-config/vulnerable-example.conf
Die behobene Version ist gespeichert in:
nginx-config/remediated-example.conf
Der Zweck war nicht, den Dienst auszunutzen, sondern zu validieren, ob Wazuh SCA eine riskante lokale Konfigurationsexposition identifizieren kann.
Eine benutzerdefinierte SCA-Richtlinie wurde auf dem Wazuh Manager erstellt.
Richtliniendatei:
sca-policy/nginx-cve-2026-42945.yml
Im Labor wurde diese Richtlinie aus dem gemeinsamen Verzeichnis des Wazuh Manager bereitgestellt:
/var/ossec/etc/shared/default/nginx-cve-2026-42945.yml
Die Richtlinie enthält zwei Prüfungen:
| Prüf-ID | Zweck |
|---|---|
| 100449 | Verwundbare/unbehobene NGINX-Ubuntu-Paketversion erkennen |
| 100450 | Riskantes NGINX-Rewrite-Konfigurationsmuster erkennen |
Die benutzerdefinierte SCA-Richtlinie wurde mit der zentralen Wazuh-Agentenkonfiguration bereitgestellt.
Die zentrale Konfigurationsdatei ist in diesem Repository gespeichert als:
wazuh-config/agent.conf
Im Labor wurde sie bereitgestellt unter:
/var/ossec/etc/shared/default/agent.conf
Der Wazuh Manager lief in Docker:
single-node-wazuh.manager-1
Bereitstellungsbefehle sind dokumentiert in:
commands/03-sca-policy-deployment.md
Nach dem Neustart des Wazuh-Agenten wurde die benutzerdefinierte SCA-Richtlinie vom Ubuntu-DMZ-Server empfangen.
Die empfangene Richtlinie erschien unter:
/var/ossec/etc/shared/nginx-cve-2026-42945.yml
Die Wazuh-Agentenprotokolle bestätigten, dass die Richtlinie geladen und ausgewertet wurde.
Erwartete Protokollindikatoren:
Loaded policy
Starting evaluation of policy
Evaluation finished for policy
Bei Vorliegen beider Expositionsbedingungen zeigte das Wazuh Dashboard:
Passed: 0
Failed: 2
Score: 0%
Das bedeutet, dass beide Prüfungen fehlgeschlagen sind:
| Prüfung | Ergebnis |
|---|---|
| NGINX-Paketversion | Fehlgeschlagen |
| Riskante Rewrite-Konfiguration | Fehlgeschlagen |
Screenshot:
screenshots/03-sca-policy-failed.png
Die riskante NGINX-Rewrite-Konfiguration wurde durch eine sicherere Konfiguration ersetzt.
Referenzdatei:
nginx-config/remediated-example.conf
Nachdem die Konfiguration behoben und der Wazuh-SCA-Scan erneut durchgeführt wurde, war das erwartete Ergebnis:
Passed: 1
Failed: 1
Score: 50%
In diesem Stadium:
| Prüfung | Ergebnis |
|---|---|
| Riskante Rewrite-Konfiguration | Bestanden |
| NGINX-Paketversion | Fehlgeschlagen |
Screenshot:
screenshots/06-sca-partial-remediation.png
Die NGINX-Pakete wurden mittels einer gezielten Paketaktualisierung aktualisiert.
Behebungsbefehle sind dokumentiert in:
commands/04-remediation.md
Vor der Aktualisierung:
Installed: 1.28.3-2ubuntu1
Candidate: 1.28.3-2ubuntu1.1
Nach der Aktualisierung:
nginx 1.28.3-2ubuntu1.1
nginx-common 1.28.3-2ubuntu1.1
Screenshot:
screenshots/07-nginx-package-after.png
Nach Abschluss beider Behebungsschritte änderte sich das Wazuh-SCA-Ergebnis zu:
Passed: 2
Failed: 0
Score: 100%
Dies bestätigte, dass:
Screenshot:
screenshots/08-sca-policy-passed.png
| Phase | Paketprüfung | Konfigurationsprüfung | Wazuh-Ergebnis |
|---|---|---|---|
| Ausgangszustand | Fehlgeschlagen | Fehlgeschlagen | 0% |
| Nach Konfigurationsbehebung | Fehlgeschlagen | Bestanden | 50% |
| Nach Paketaktualisierung | Bestanden | Bestanden | 100% |
Empfohlene Screenshots:
| Datei | Beschreibung |
|---|---|
01-lab-architecture.png | pfSense-LAN/DMZ-Architektur |
02-agent-active.png | Aktiver Status des Wazuh-Agenten |
03-sca-policy-failed.png | Anfängliches fehlgeschlagenes SCA-Ergebnis |
04-nginx-package-before.png | Verwundbare NGINX-Paketversion |
05-risky-rewrite-config.png | Nachweis der riskanten Rewrite-Konfiguration |
06-sca-partial-remediation.png | Teilergebnis der Behebung |
07-nginx-package-after.png | Aktualisierte NGINX-Paketversion |
08-sca-policy-passed.png | Endgültiges bestandenes SCA-Ergebnis |
Für das Labor wurde die Richtlinie über die Wazuh-Standardgruppe default bereitgestellt.
In der Produktion ist es besser, eine dedizierte Wazuh-Agenten-Gruppe zu erstellen, zum Beispiel:
nginx-servers
Nur Server, die NGINX ausführen, sollten dieser Gruppe zugewiesen werden.
Empfohlene Produktionsbereitstellung:
Wazuh Manager
|
| Zentrale SCA-Richtlinie
v
nginx-servers Agenten-Gruppe
|
| Nur auf NGINX-Systeme angewendet
v
Wazuh Dashboard
Dies vermeidet die Anwendung NGINX-spezifischer Prüfungen auf nicht verwandte Systeme.
Dieses Projekt verzichtet bewusst auf Exploit-Code.
Der Zweck des Labors war es, defensive Sicherheitstechnik zu demonstrieren, nicht Ausnutzung.
Die Bewertung basierte auf:
Paketversionsexposition
Konfigurationsexposition
zentrale Wazuh-SCA-Validierung
Überprüfung der Behebung
Dieses Repository dient ausschließlich Bildungs- und defensiven Sicherheitszwecken.
Es ist kein Exploit-Code enthalten.
Die Prüfungen sind für eine kontrollierte Laborumgebung ausgelegt und sollten vor dem Einsatz in der Produktion überprüft werden.