Virtualbox mit LDAP-Authentifizierung

© © boing, photocase.com

Alternatives Türregime

,
Wenn die Desktops verteilter Benutzer auf einem Server zentral virtualisiert werden sollten, hatte Virtualbox bislang wenig ausgeklügelte Authentifizierungsmechanismen zu bieten. Das Projekt VRDP-LDAP behebt das Manko in allen LDAP-Umgebungen.
Beinahe enzyklopädisch behandelt unser Schwerpunkt-Artikel über IPSEC verschlüsselte Verbindungen zwischen Linux, Windows, BSD, Solaris, Cisco- sowie ... (mehr)

Die eigentlich an die Enduser von Linux-, Windows-, FreeBSD- und Solaris-Desktop-PCs gerichtete Virtualisierungssoftware Virtualbox [1] eignet sich auch für den Einsatz auf Servern. Mit der Version 3.1 hatte der damalige Eigner Sun unter der Bezeichnung "Teleportation" eine Live-Migration der virtuellen Maschinen eingeführt.

Seit Sun unter den Schwingen von Oracle untergekommen ist und seit Version 3.2 virtualisiert "Oracle VM Virtualbox" auch Mac OS X auf Non-Apple-Hardware (siehe Kasten "Mac OS ohne Mac" ). Sie kennt konfigurierbares I/O-Caching und NAT, CPU-Hotplugging, RDP-Video-Beschleunigung (leider nur mit Windows-7-RDP-Clients) und mehrere Monitore.

Mac OS ohne Mac

Seit Version 3.2 kann Virtualbox auch Apples Betriebsystem unter Linux auf beliebiger Hardware in einem Fenster laufen lassen ( Abbildung 1 ). Möglich macht das, wie auch bei KVM ( Abbildung 2 ), die Emulation der Boot-Umgebung EFI (Extensible Firmware Interface).

Abbildung 1: In manchen Ländern verboten: Mac OS X auf einem Intel-Laptop mit Virtualbox.
Abbildung 2: Auch KVM kann mithalten, hier eine ältere Version von Apples Betriebssystem.

Vorsicht: Apples Nutzungsbedingungen verbieten es dem Käufer, Mac OS auf anderer als der Apple-Hardware zu verwenden, obwohl Steve Jobs' Company in seinen Shops OS X auch ohne Hardware verkauft. Ob das Verbot allerdings in Deutschland Bestand vor Gericht hätte, ist unter Experten strittig.

Virtualbox gestaltet das Virtualisieren des Apfel-OS einfach: Der Admin erstellt eine neue VM, wählt »Mac OS Server« aus und definiert einen Festplattencontroller vom Typ »ICH6« . Damit der Leopard bootet, braucht es noch den richtigen »VBoxManage« -Befehl (mit dem SMC-Device-Key aus dem Internet). Flüssig läuft es aber erst, wenn der User Apples Powermanagementfunktionen deaktiviert.

Das von Terminalservern bekannte Protokoll RDP gibt Oracle jedoch nur der Bezahlversion von Virtualbox mit auf den Weg. Die "Personal Use and Evaluation License" (PUEL, [2] ) gestattet zum Glück Privatanwendern und Bildungseinrichtungen, die proprietäre Version lizenzkostenfrei zu benutzen. Das eröffnet dieser Gruppe die Möglichkeit, diesen Artikel praktisch umzusetzen.

LDAP kanns richten

Als Stolperstein gilt das Authentifizieren per VRDP an einer laufenden virtuelle Maschine. Der vorgesehene Weg per PAM führt nur denjenigen Benutzer auf einem bestimmten Host zum Ziel, der ursprünglich die virtuelle Maschine auf dem Virtualbox-Server gestartet hatte. Wechselt der Anwender an einen anderen RDP-Clientrechner, geht die PAM-Authentifizierung schief. Admins, die ihre User von den Hosts entkoppelten, müssen PAM abschalten und versuchen per Firewall den Zugriff zum VRDP-Port zu begrenzen.

Da dies jedoch in der Praxis kaum effizient zu handhaben ist, enstand im Juni diesen Jahres das Projekt VRDP-LDAP [3] , das für Virtualbox ein Authentifizierungsmodul gegen LDAP-Server implementiert. Es erweitert ein vorhandenes LDAP-Schema um eine Objektklasse und ein Attribut, das die benutzerorientierte Authentifizierung über eine so genannte Machine UUID ermöglicht. Da VRDP-LDAP die vorhandenen Verzeichnisattribute von PAM mit nutzt, ist die Authentifizierung in bestehende Verzeichnisdienste integrierbar – Benutzer können ihre Accountdaten weiterverwenden.

Für Open Suse 11.2 und SLES 11 hält [4] installationsfertige RPM-Pakete bereit. Admins anderer Zielsysteme übersetzen die Quellen wie üblich mit »configure && make && make install« . Das manuelle Übersetzen erfordert die Gegenwart der Entwicklerpakete »libHX« , »pam-devel« , »openldap2-devel« sowie »pkg-config« , die gängige Distributionen vorhalten.

Schritt für Schritt

Das Einrichten einer virtuellen Maschine mit LDAP-basierter VRDP-Authentifizierung passiert in fünf Schritten auf dem Virtualbox-Hostsystem:

1. Installation des VRDP-LDAP-Plugins,

2. Einstellung der VRDP-Bibliothek für Virtualbox,

3. Anpassen des LDAP-Schemas,

4. Anpassen der virtuellen Maschine selbst und

5. Erweitern der LDAP-Benutzeraccounts um die UUID(s) der virtuellen Maschine(n), auf die der Benutzer zugreifen soll.

Auf einem Open Suse 11.2 ist die Installation des Plugins schnell erledigt:

zypper ar http://repo.medozas.de/medozas/SUSE-11.2/medozas.repo
zypper in VirtualBox-vrdp-ldap

Nun zur VRDP-Bibliothek: Passend zu eigenen Virtualbox-SDK-Version (3.0 bis zur aktuellen 3.2.4) muss der Admin das kompilierte Modul mittels »VBoxManage« als VRDP-Library deklarieren. Für 32-Bit-Systeme lautet das Kommando:

VBoxManage setproperty vrdpauthlibrary/usr/lib/virtualbox/vrdp-ldap

Auf 64-Bit-Systemen muss Root Folgendes in die Shell tippen:

VBoxManage setproperty vrdpauthlibrary /usr/lib64/virtualbox/vrdp-ldap

Beim Namen des Moduls entfallen Dateiendungen wie ».so« oder ».dll« . Dies ist eine gute Idee, da es die VRDP-Authentifizierung host- und betriebssystemübergreifend mit der identischen Einstellung wahrt. Zwar existiert zu VRDP-LDAP noch kein Windows-Modul, es ist jedoch eines in den nächsten Monaten zu erwarten.

Listing 1 zeigt Konfigurationsdatei zu VRDP-LDAP, die der Admin gegebenenfalls zum LDAP-Server passend machen muss. Den LDAP-Server erweitert er jetzt um das Schema »/usr/share/doc/packages/VirtualBox-vrdp-ldap/vbox-vrdp.schema« . Der vierte Schritt, das Anpassen der virtuellen Maschine(n) selbst, ist anhand des Screenshots in Abbildung 3 einfach machbar.

Listing 1

/etc/vrdp-ldap.conf

 

Abbildung 3: Nach dem Setup von VRDP-LDAP lässt sich jede einzelne virtuelle Maschine so konfigurieren, dass Virtualbox VRDP-Clients per LDAP authentifiziert.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023