Ist die Geschäftskontinuität nicht Teil der Sicherheit?
Andrea Covello
Als ich in den Jahren 2002 und 2003 damit begonnen habe, meine Produktionsumgebung zu virtualisieren, vertrauten die Menschen dieser neuen Technologie nicht und (wenn wir ehrlich sind) verstanden sie selbige auch nicht. Daher musste ich grosse Mühen auf mich nehmen, um die Vorteile einer virtuellen Umgebung zu erklären. Mein bestes Argument dabei war stets das folgende: Ich zeigte auf, wie es funktioniert. Nun, ich denke, ich muss das nicht mehr tun.
Dennoch gibt es Bedenken wenn es um die Sicherheit eines Virtual Environment geht. Sehen wir uns folgende Grafik an.
Die Virtualisation fügt eine neue Ebene hinzu, die neue Verwundbarkeiten mit sich bringt (denn es handelt sich eigentlich nur um mehr Software-Code, und wir wissen alle, was das bedeutet). Daher müssen wir uns das stets bewusst machen und die nötigen Vorkehrungen im Sicherheitsbereich treffen. Diese Vorkehrungen werden dann umso wichtiger, wenn wir uns in Hochrisikoumgebungen bewegen, wie zum Beispiel in einer DMZ.
Die Details des Sicherheitsdesigns einer virtuellen Umgebung lasse ich aussen vor, da diese sich je nach Zweck stark voneinander unterscheiden. Auch lasse ich die Anforderungen an die Sicherheit aussen vor. Ich möchte aber über alles, was unter der virtuellen Umgebung liegt, reden. Allerdings muss vorausgeschickt werden, dass ein sicheres Operating System für unseren Fall eine Gegebenheit ist. Für die Schaffung eines solchen gibt es unzählige Guidelines.
Was ich hervorheben möchte, sind die empfohlenen Massnahmen, die eine virtuelle Umgebung sicher machen. Dieses Schema soll beim Verständnis helfen.
Besonders sollte auf die neue Administrations-Umgebung geachtet werden. Ebenfalls sollte der Virtual Network Layer besondere Aufmerksamkeit geschenkt werden. Aus dem Bild geht bereits eine Empfehlung klar hervor:
Eine separate Administrations-Umgebung ist Pflicht.
Mehrere Computer von einem zentralen Stützpunkt mit besonderen administrativen Pfaden zu betreuen macht die separate Administrationsumgebung zum klaren Ziel von Angriffen. Weshalb sollte ich mehrere System angreifen, wenn ich alle Systeme mit einem Angriff treffen kann? Daher ist diese Umgebung der kritische Punkt in der Sicherung des gesamten Virtual Environment. Folgende Punkte sollten dabei sichergestellt sein:
Sehen wir uns nun die neu entstandenen Ziele in grafischer Form an:
Bereich | Komponenten | Angriff |
---|---|---|
1 | VMtools (Client management API) | VM Jumping, Guest Hopping oder Hypervisor DoS Attacks |
2 | VM management (Host management API) | Hypervisor DoS |
3 | Hypervisor (Virtual Machine Monitor) | Hypervisor Escape, Management Privilege Escalation |
4 | VM management infrastructure | Management Tools Unauthorized Access, Privilege Escalation & DoS |
Die Angriffe 1 bis 2 sind nicht besonders oft anzutreffen, aber die Angriffe auf die Administrations-Infrastruktur sind wohlbekannt und verwenden bereits bekannte Pfade. Dies führt zu folgender Empfehlung:
Das Virtual Environment muss immer up to date sein. Dies beinhaltet die Management-Infrastruktur.
Es ist unabdingbar, dass die Umgebung stets gepatcht wird. Und wenn das nicht möglich sein sollte sind zwingend Workarounds zu implementieren. Dies können unter anderem strikte Konfigurationen und Einstellungen sein, damit das Risiko auf ein akzeptables Level gestuft werden kann.
Anforderungen an eine virtuelle Umgebung in einer DMZ Aufmerksamkeit sollte auch den Hochrisiko-Umgebungen, den sogenannten DMZs, geschenkt werden. Folgende Aspekte sind in einer DMZ Pflicht:
Es ist nun an der Zeit etwas praktisches Wissen in die Diskussion zu bringen. Dazu zitiere ich einen Guide der Website www.vmware.com, der für unsere virtuelle DMZ sinnvoll ist.
Hypervisor | ||
---|---|---|
Parameter | Beschreibung | Wert |
VirtualCenter.VimPasswordExpirationInDays | Ensure that vpxuser auto-password change meets policy | 90 days |
Configure the ESXi host firewall to restrict access to services running on the host | – | site specific |
Configure NTP time synchronization | /etc/ntp.conf | site specific |
Ensure proper SNMP configuration | /etc/vmware/snmp.xml | site specific |
Do not use default self-signed certificates for ESXi communication | – | – |
Disable DCUI to prevent local administrative control | – | stopped |
Disable ESXi Shell unless needed for diagnostics or troubleshooting | – | stopped |
Disable SSH | – | stopped |
Enable lockdown mode to restrict remote access | – | enabled |
Verify no unauthorized kernel modules are loaded on the host | – | – |
Configure persistent logging for all ESXi host | Syslog.global.logDir | log directory |
Configure remote logging for ESXi hosts | Syslog.global.logHost | syslog-server |
Zero out VMDK files prior to deletion | – | – |
Virtual Machines (VMtools) | ||
Parameter | Beschreibung | Wert |
Generic | For directly accessed VM systems like DNS, SMTP & WEB server don’t install VMtools at all. | – |
vmci0.unrestricted | Disable VM-to-VM communication through VMCI | false |
RemoteDisplay.maxConnections | Limit sharing of console connections | 2 |
floppyX.present | Disconnect unauthorized devices | false |
ideX:Y.present | Disconnect unauthorized devices | false |
parallelX.present | Disconnect unauthorized devices | false |
serialX.present | Disconnect unauthorized devices | false |
usb.present | Disconnect unauthorized devices | false |
isolation.device.connectable.disable | Prevent unauthorized removal, connection and modification of devices. | true |
isolation.device.edit.disable | Prevent unauthorized removal, connection and modification of devices. | true |
isolation.tools.copy.disable | Explicitly disable copy/paste operations | true |
isolation.tools.dnd.disable | Explicitly disable copy/paste operations | true |
isolation.tools.setGUIOptions.enable | Explicitly disable copy/paste operations | false |
isolation.tools.paste.disable | Explicitly disable copy/paste operations | true |
isolation.tools.ghi.autologon.disable | Disable certain unexposed features | true |
isolation.bios.bbs.disable | Disable certain unexposed features | true |
isolation.tools.getCreds.disable | Disable certain unexposed features | true |
isolation.tools.ghi.launchmenu.change | Disable certain unexposed features | true |
isolation.tools.memSchedFakeSampleStats.disable | Disable certain unexposed features | true |
isolation.tools.ghi.protocolhandler.info.disable | Disable certain unexposed features | true |
isolation.ghi.host.shellAction.disable | Disable certain unexposed features | true |
isolation.tools.unity.disable | Disable certain unexposed features | true |
isolation.tools.unityInterlockOperation.disable | Disable certain unexposed features | true |
isolation.tools.unity.taskbar.disable | Disable certain unexposed features | true |
isolation.tools.unityActive.disable | Disable certain unexposed features | true |
isolation.tools.unity.windowContents.disable | Disable certain unexposed features | true |
isolation.tools.unity.push.update.disable | Disable certain unexposed features | true |
isolation.tools.vmxDnDVersionGet.disable | Disable certain unexposed features | true |
isolation.tools.guestDnDVersionSet.disable | Disable certain unexposed features | true |
isolation.tools.autoInstall.disable | Disable tools auto install | true |
isolation.tools.vixMessage.disable | Disable VIX messages from the VM | true |
Virtual Network | ||
Parameter | Beschreibung | Wert |
isolate-mgt-network-vlan | Ensure that vSphere management traffic is on a restricted network | – |
isolate-storage-network-vlan | Ensure that IP-based storage traffic is isolated | – |
isolate-vmotion-network-vlan | Ensure that vMotion traffic is isolated | – |
no-unused-dvports | Ensure that there are no unused ports on a distributed virtual port group | – |
reject-forged-transmit-dvportgroup | Ensure that the Forged Transmits policy is set to reject. | reject |
mac-change-dvportgroup | Ensure that the MAC Address Change policy is set to reject | reject |
promiscuous-mode-dvportgroup | Ensure that the Promiscuous Mode policy is set to reject | reject |
no-native-vlan-1 | Ensure that port groups are not configured to the value of the native VLAN | – |
no-reserved-vlans | Ensure that port groups are not configured to VLAN values reserved by upstream physical switches | – |
no-vgt-vlan-4095 | Ensure that port groups are not configured to VLAN 4095 except for Virtual Guest Tagging (VGT) | – |
verify-vlan-id | Ensure that all virtual switch VLAN’s are fully documented and have all required and only required VLANs | – |
vswitcht-forged-transmit | Ensure that the Forged Transmits policy is set to reject | reject |
vswitch-mac-changes | Ensure that the MAC Address Change policy is set to reject | reject |
vswitch-promiscuous-mode | Ensure that the Promiscuous Mode policy is set to reject | reject |
Durch die Anwendung dieser Empfehlungen und im steten Bewusstsein, dass Sicherheit ein Prozess ist, sowohl dem Gedanken dass jeder Zugriff überwacht und authentisiert werden sollte, sollten Sie keine allzu grosse Gefahr laufen und eine sichere virtuelle DMZ betreiben.
Unsere Spezialisten kontaktieren Sie gern!
Andrea Covello
Unsere Spezialisten kontaktieren Sie gern!