VM Host Hardening: Nested Virt, IOMMU, secure defaults und audits

Das Hardening eines VM-Hosts ist ein entscheidender Schritt, um eine sichere Virtualisierungsumgebung zu gewährleisten. Moderne Server bieten umfangreiche Virtualisierungsfunktionen wie Nested Virt, IOMMU und SR-IOV, die korrekt konfiguriert werden müssen, um die Angriffsfläche zu reduzieren. In diesem Tutorial werden Best Practices, sichere Default-Einstellungen und Audit-Strategien für KVM/libvirt Hosts beschrieben.

Kernel und Virtualisierungsfeatures prüfen

Bevor Sicherheitsmaßnahmen ergriffen werden, sollten die Virtualisierungsfunktionen des Kernels überprüft werden.

Hardware-Virtualisierung und Nested Support

egrep -c '(vmx|svm)' /proc/cpuinfo

Ein Wert größer 0 bestätigt Hardware-Virtualisierung. Nested Virtualization kann geprüft werden mit:

cat /sys/module/kvm_intel/parameters/nested
# oder für AMD
cat /sys/module/kvm_amd/parameters/nested

Falls aktiviert, können VMs selbst wieder Virtualisierungs-Hosts sein.

IOMMU aktivieren für sichere Device-Passthroughs

IOMMU (Intel VT-d oder AMD-Vi) isoliert Hardware-Geräte für VMs und verhindert DMA-Angriffe vom Gast auf den Host.

Kernel-Parameter setzen

# Für Intel
sudo grubby --update-kernel=ALL --args="intel_iommu=on iommu=pt"
# Für AMD
sudo grubby --update-kernel=ALL --args="amd_iommu=on iommu=pt"

Nach Reboot prüft man:

dmesg | grep -e DMAR -e IOMMU

Libvirt Defaults sichern

libvirt bietet viele Default-Einstellungen, die für Production-Hosts angepasst werden sollten.

QEMU Sandbox Optionen

sudo virsh edit 
# Beispieloptionen im XML:

  ...
  
    
    
    
      
      
      
    
  
  
    1024
  
  
    

Verwendung von AppArmor oder SELinux Profile erhöht die VM-Isolation und schützt Hostressourcen.

Secure Defaults für Storage und Networking

Die Standardkonfigurationen von Speicher und Netzwerk sollten auf minimale Rechte und Isolation geprüft werden.

Storage Pools und Disk Access

virsh pool-list
virsh vol-list default
# Virtuelle Festplatten nur read/write für VM, kein Host-Mount

Network Isolation

  • Bridge-Networking nur für benötigte VMs freigeben
  • Netfilter aktivieren, um bridged Traffic zu filtern
  • SR-IOV nur für vertrauenswürdige VMs freigeben

Audit und Monitoring

Regelmäßige Audits sichern, dass keine Konfigurationsabweichungen oder Sicherheitslücken entstehen.

Libvirt und QEMU Audit

sudo ausearch -m USER_AVC -ts today | grep libvirt
sudo journalctl -u libvirtd -f

Audit-Logs sollten regelmäßig ausgewertet werden, insbesondere bei Device-Passthrough oder Nested-Virt Hosts.

Automatisierte Compliance Checks

  • SCAP/OpenSCAP Profile für Virtualization Hosts
  • CIS Benchmarks für KVM Hosts implementieren
  • Regelmäßige Überprüfung der Kernel-Parameter und IOMMU-Konfiguration

Restriktive VM-Konfigurationen

Selbst auf Hostebene sollten VMs keine Root-Zugriffe auf Geräte oder sensitive Bereiche erhalten.

CPU- und Memory-Isolation

virsh vcpupin  0 0
virsh setvcpus  2 --maximum

Dedicated CPU-Pinning reduziert Interferenzen und erhöht Performance für latency-sensitive Workloads.

Device Passthrough Regeln

virsh nodedev-list | grep pci
virsh nodedev-detach pci_0000_00_1f.2

Nur geprüfte Geräte an VMs durchreichen, um Angriffe oder Datenexfiltration zu vermeiden.

Zusammenfassung der Best Practices

  • Nested Virt nur wenn nötig aktivieren
  • IOMMU und SR-IOV aktivieren, Geräte isolieren
  • libvirt Security-Labels (AppArmor/SELinux) konsequent nutzen
  • Network und Storage minimal zugänglich konfigurieren
  • Auditing aktivieren, Compliance regelmäßig prüfen
  • CPU- und Memory-Isolation für kritische VMs implementieren
  • Regelmäßige Review der Kernel-Parameter und libvirt Defaults

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles