Open Source im professionellen Einsatz

© boing, photocase.com

Virtualbox von PAM- auf LDAP-Authentifizierung umstellen

Alternatives Türregime

,

Wenn sie die Desktops verteilter Benutzer auf einem Server zentral virtualisieren sollte, war Virtualbox bislang nicht gerade als Heldin ausgeklügelter Authentifizierungsmechanismen bekannt. Das nagelneue Projekt Vrdp-ldap behebt das Manko in allen LDAP-Umgebungen.

Die eigentlich auf Linux-, Windows-, Free-BSD- und Solaris-Desktop-PCs von Endusern abonnierte Virtualisierungssoftware Virtualbox [1] macht sich auch für den Einsatz auf Servern hübsch. 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 MacOS 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.

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, den folgenden Artikel praktisch umzusetzen.

Mac OS ohne Mac

Seit Virtualbox 3.2 kann die Virtualisierung 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 Bootumgebung EFI (Extensible Firmware Interface).

Abbildung 1: In manchen Ländern verboten: Mac OS X auf einem Intel-Laptop mit Virtualbox.

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.

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 Virtualisieren des Apfels 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.

LDAP kanns richten

Als Stolperstein gilt das Authentifizieren per VRDP an einer laufenden virtuelle Maschine. Den vorgesehenen Weg per PAM führt nur genau den Benutzer auf einem bestimmten Host zum Ziel, der ursprünglich die virtuelle Maschine auf dem Virtualbox-Server gestartet hatte. Wechselt der Benutzer 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 dienen Jahres das Projekt Vrdp-ldap [3], das für Virtualbox ein Authentifikationsmodul gegen LDAP-Server implementiert. Es erweitert ein vorhandenes LDAP-Schema um eine Objektklasse und ein Attribut, was die benutzerorientierte Authentifizierung über eine so genannte Machine UUID ermöglicht. Da Vrdp-ldap die vorhandenen Verzeichnisattribute von PAM mit nutzt, ist die Authentifikation transparent auf bestehende Verzeichnisdienste mit vorhandenen Anmelde-Credentials der Benutzer abbildbar.

Für Open Suse 11.2 und SLES 11 hält [4] installationsfertige RPM-Pakete bereit. Admins anderer Zielsystemen ü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-Authentifikation 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 gemacht:

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-Authentifikation 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.

Abbildung 3: Nach dem Setup von Vrdp-ldap lässt sich jede einzelne virtuelle Maschine so konfigurieren, dass Virtualbox VRDP-Clients per LDAP authentifiziert.

Abbildung 3: Nach dem Setup von Vrdp-ldap lässt sich jede einzelne virtuelle Maschine so konfigurieren, dass Virtualbox VRDP-Clients per LDAP authentifiziert.

Listing 1:
»/etc/vrdp-ldap.conf«

01 CHECK_UUID="yes"
02 CHECK_PAM="yes"
03 PAM_SERVICE="sshd"
04 LDAP_URI="ldap://localhost/"
05 BASE_DN="dc=company,dc=com"
06 #BIND_DN=""
07 #BIND_PW=""

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook