
Automatisiertes Zero Trust Härten und forensische Prüfung für VMware vCenter Server Appliance (VCSA)
Ein automatisiertes Härtungsskript für die VMware vCenter Server Appliance (VCSA), das Zero-Trust-Netzwerksegmentierung und tiefgehende forensische Auditierung erzwingt.
Dieses Tool wurde entwickelt, um kritische Risiken im Zusammenhang mit fortschrittlichen dauerhaften Bedrohungen (APTs) und zerstörerischen Kampagnen zu mindern, die auf Virtualisierungsinfrastruktur abzielen. Durch die Durchsetzung einer strikten Layer-3/4-Mikrosegmentierung und forensischer Befehlsprotokollierung werden gängige Angriffsvektoren wie laterale Bewegung, Command-and-Control (C2)-Kommunikation und Anti-Forensik-Manipulation neutralisiert. Dies verhindert, dass Angreifer die VCSA als Sprungbrett nutzen, um darunterliegende ESXi-Hypervisoren zu kompromittieren oder weitreichende Infrastruktursabotage durchzuführen.
VOR DER AUSFÜHRUNG LESEN: Dieses Tool ändert die iptables-Konfiguration der VCSA auf Kernel-Ebene des Betriebssystems und umgeht dabei die standardmäßige VAMI-Oberfläche.
Das VCSA-Härtungs- und Protokollierungstool verlagert das Sicherheitsniveau eines vCenter-Servers von einem „Standard-Zulassen"- zu einem „Standard-Ablehnen"-Modell (Zero Trust). Es nutzt native Linux-Steuerungen, um eine gehärtete Verwaltungsebene zu schaffen, ohne externe Hardware-Firewalls zu benötigen.
Es ist für Hochsicherheitsumgebungen konzipiert, in denen die vCenter-Appliance als Tier-0-Asset betrachtet wird.
bash-Befehl, den Administratoren eingeben, an Syslog zu protokollieren (z. B. cmd="rm -rf /").Fahren Sie nicht fort, bis Folgendes bestätigt ist:
Öffnen Sie vcsa-hardening.sh in einem Texteditor. Sie müssen den Block START CONFIGURATION ändern.
Bearbeiten Sie die Arrays, um festzulegen, wer REIN darf.
# WER KANN PER SSH REIN (Port 22)
TRUSTED_SSH_IPS=( "192.168.10.50" ) # Nur Admin-PAW
# WER KANN AUF DIE WEB-UI / API ZUGREIFEN (Port 443)
# Muss enthalten: Administratoren, ESXi-Hosts und Backup-Server
TRUSTED_WEB_IPS=(
"192.168.10.50" # Admin-PAW
"10.20.0.0/24" # ESXi-Verwaltungssubnetz
"10.50.1.100" # Veeam-Server
)
Steuert, ob die Firewall die Verbindungshäufigkeit verfolgt, um Brute-Force-Angriffe zu stoppen.
ENABLE_RATE_LIMITING=true (Standard): Blockt IPs, die mehr als 6 Verbindungen/Minute versuchen.ENABLE_RATE_LIMITING=false: Deaktivieren Sie dies, wenn Sie „laute" automatisierte Backup-Tools (z. B. NetWorker) verwenden, die viele parallele Streams öffnen.Wählen Sie EINEN der folgenden Modi aus, indem Sie die booleschen Variablen umschalten.
scp vcsa-hardening.sh root@<VCSA_IP>:/root/
ssh root@<VCSA_IP>
chmod +x vcsa-hardening.sh
Führen Sie dies immer zuerst aus. Es simuliert die Logik, ohne Änderungen anzuwenden.
./vcsa-hardening.sh --dry-run
./vcsa-hardening.sh
Das Skript führt eine Sicherheitsprüfung durch, um sicherzustellen, dass Ihre aktuelle SSH-IP in der vertrauenswürdigen Liste enthalten ist, bevor es die Regeln anwendet.
Nach der Anwendung leitet das Skript Protokolle an den standardmäßigen VMware-Syslog-Stream weiter.
Führen Sie einen Befehl aus und stellen Sie sicher, dass er mit dem Tag SHELL_COMMAND in den Protokollen erscheint.
# 1. Testbefehl ausführen
echo "test_audit_logging"
# 2. Protokolle prüfen (Korrektes Tag ist SHELL_COMMAND)
journalctl -f | grep SHELL_COMMAND
Ausgabebeispiel: vcsa-01 logger: CMD user=root host=vcsa pwd=/root pid=1234 exit=0 cmd="echo test_audit_logging"
Versuchen Sie, von einer nicht vertrauenswürdigen IP aus (z. B. einem mobilen Hotspot) per SSH zu verbinden, und prüfen Sie die Protokolle:
journalctl -f | grep BLOCKED
Ausgabebeispiel: kernel: SSH_BLOCKED_NEW: IN=eth0 OUT= MAC=... SRC=1.2.3.4 ...
Wenn Sie sich über SSH aussperren, führen Sie die folgenden Schritte aus, um die VCSA auf den Standardzustand zurückzusetzen:
root an.shell ein, um in die Bash zu gelangen.# Manuelles Rollback
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
rm /etc/systemd/scripts/ip4save
Bitte eröffnen Sie ein Issue oder reichen Sie einen Pull-Request ein, wenn Sie Probleme, Ideen oder Feedback haben.
Copyright 2026 Google LLC
Lizenziert unter der Apache License, Version 2.0 (der „Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter
https://www.apache.org/licenses/LICENSE-2.0
Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird die unter der Lizenz verteilte Software auf einer „WIE BESEHEN"-BASIS OHNE GEWÄHRLEISTUNGEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, zur Verfügung gestellt. Die Lizenz enthält die spezifischen Berechtigungen und Einschränkungen für die Nutzung der Software.
| Modus | Konfiguration | Beschreibung |
|---|
| Standard-Härtung | Beide false | (Standard) Strenge eingehende Whitelist. Ausgehender Verkehr ist erlaubt. Am besten für den allgemeinen Gebrauch geeignet. |
| Internet-Blockierung | BLOCK_INTERNET_ACCESS=true | (Empfohlen) Erlaubt internen Verkehr (RFC1918), blockiert aber den gesamten öffentlichen Internetzugriff. |
| Zero Trust | ENABLE_ZERO_TRUST_MODE=true | (Strengster) Verwirft ALLEN ein- und ausgehenden Verkehr, der nicht explizit aufgelistet ist. Erfordert eine perfekte Konfiguration von ADDITIONAL_PRIVATE_RANGES. |