Beinahe enzyklopädisch behandelt unser Schwerpunkt-Artikel über IPSEC verschlüsselte Verbindungen zwischen Linux, Windows, BSD, Solaris, Cisco- sowie ... (mehr)

Kerberos

Los geht es mit Kerberos, einem verteilten Authentifizierungsdienst mit starker Kryptografie. Es gibt mehrere Varianten von Kerberos, einschließlich Microsofts eigener Ausführung. Dieser Artikel beruht auf der Open-Source-Version, die in Ubuntu 9.10 enthalten ist. In der Standard-Installation fehlen einige Pakete, installieren Sie diese also zuerst:

apt-get install krb5-user libpam-krb5 krb5-config libkadm5clnt6

Jetzt müssen Sie sicherstellen, dass alle beteiligten Rechner im DNS richtig konfiguriert und zum Beispiel über einen Ping auf den Hostnamen erreichbar sind. Insbesondere ist Kerberos darauf angewiesen, dass die Uhrzeit auf allen beteiligten Rechnern gleich ist. Deshalb sollten alle Server und Clients am besten synchronisiert werden, zum Beispiel über das Network Time Protocol (NTP). Wenn Ihr Linux-System ohnehin schon so eingestellt ist, dass es sich mit einem Timeserver synchronisiert, tragen Sie einfach den Active-Directory-Controller dafür ein. Editieren Sie »/etc/default/ntpdate« und tragen Sie ein:

NTPSERVERS="adserver.realm.mydomain.dom"

Starten Sie danach den Time-Service mit »/etc/init.d/ntpdate restart« neu.

Weiter geht es mit der Kerberos-Konfiguration. Wenn Sie das Paket »krb5-config« installieren, führt es Sie mit einem Frage-Antwort-Spiel durch die Konfiguration. Dieser Weg eignet sich ganz gut, um ein initiales Setup zu erhalten, aber in den Dateien stehen dann eine Menge Informationen, die Sie gar nicht brauchen. Eine einfache Version der Datei »/etc/krb5.conf« zeigt Listing 1 .

Listing 1

/etc/krb5.conf

 

Damit wird es Zeit für einen ersten Test. Mit den Befehlen in Listing 2 überprüfen Sie, ob der Active-Directory-Server ein Kerberos-Ticket ausgibt.

Listing 2

Ticket-Ausgabe

 

Hat alles geklappt, funktioniert Kerberos. Mit dem Befehl »kdestroy« geben Sie das Ticket wieder frei.

Samba

Das Samba-Paket bringt Windows-Netzwerkdienste auf einen Linux-Rechner. Auf einem Server kann Samba diese Dienste für Windows-Clients zur Verfügung stellen, zum Beispiel Netzwerk-Shares oder Druckdienste. Tatsächlich kann ein Linux-Rechner mithilfe von Samba sogar zum Active-Directory-Server werden, aber das ist hier nicht das Thema. Auf Client-Seite stellt die Samba-Software die Grundlage dafür bereit, dass Linux-Rechner selbst Windows-Dienste nutzen können. Installieren Sie dazu die folgenden Pakete:

apt-get install winbind samba smbclient smbfs nfs-common

Die letzten beiden Pakete sind eigentlich optional, aber nützlich, wenn Sie Netzwerk-Shares mit SMB oder NFS mounten wollen.

Die Hauptkonfigurationsdatei ist üblicherweise »/etc/samba/smb.conf« . Viel muss eigentlich gar nicht drinstehen, eine einfache Konfiguration zeigt Listing 3 .

Listing 3

/etc/samba/smb.conf

 

Es gibt eine große Zahl an Parametern, mit denen sich Samba und der Winbind-Authentifizierungs-Daemon konfigurieren lassen, der Linux-Logins für Windows-Ressourcen ermöglicht. Für viele Parameter gibt es Default-Werte, die Sie beispielsweise mit »testparm -v« anzeigen können. Der Befehl testet Ihre Konfiguration auf mögliche Fehler, gibt aber auch die Default-Werte aus.

Bevor Sie Samba und Windbin starten, editieren Sie noch »/etc/nsswitch.conf« und suchen Sie die Zeilen mit »passwd« und »group« . Dort fügen Sie jeweils »winbind« hinzu wie in Listing 4 . Starten Sie dann Samba und Winbind neu:

Listing 4

/etc/nsswitch.conf

 

sudo /etc/init.d/samba start
sudo /etc/init.d/winbind start

Nun können Sie versuchen, der Windows-Domäne beizutreten:

# net ads join -U Administrator
Enter Administrator's password:
Using short domain name -- AD-DOMAIN
Joined 'ADILAPTOP' to realm 'realm.mydomain.dom'

Mit den Tools des Winbind-Pakets können Sie weitere Tests durchführen. So listen Sie mit »wbinfo -u« alle Benutzer in der Domain auf. Wenn es viele User gibt, müssen Sie vielleicht ein bis zwei Minuten abbrechen, bis eine Ausgabe erscheint! Eine Liste der Gruppen erhalten Sie mit »wbinfo -g« .

Wenn es im Active Directory sehr viele Anwender gibt, können Sie die Samba-Konfiguration anpassen, um große Performance-Einbußen zu verhindern. Tragen Sie dazu in »smb.conf« ein:

winbind enum users = no
winbind enum groups = no

Damit auch die Authentifizierung am Linux-Rechner über Active Directory geschieht, fehlt noch ein Stück der Konfiguration, die nun bei PAM (Pluggable Authentication Modules) ansetzt [2] . Die dafür verwendeten Dateien befinden sich in »/etc/pam.d« . Zuerst brauchen Sie noch weitere Software-Pakete:

apt-get install libpam-mount libpam-encfs

Diese beiden Module verschaffen PAM die Fähigkeit, Netzwerkfreigaben wie NFS und CIFS (das Windows-Netzwerkdateisystem) einzubinden. Nun müssen Sie noch die Dateien »common-auth« , »common-account« , and »common-session« editieren, wie es Listing 5 zeigt.

Listing 5

PAM-Konfiguration

 

Die erste Datei führt eine Reihe von Authentifizierungsmodulen auf, von denen eines genügt ( »sufficient« ), um den Benutzer erfolgreich zu authentifizieren. In »common-session« sorgt »pam_mkhomedir« dafür, dass nötigenfalls der Mountpoint für das Share des Home-Verzeichnisses mit den passenden Rechten angelegt wird.

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