Der Verlust wichtiger Daten ist für jedes Unternehmen eine Katastrophe. Daher dreht sich in der Juli-Ausgabe des IT-Administrator alles um das Thema ... (mehr)

Reine AD-Nutzung mittels Winbind

Einen komplett anderen Weg geht dabei die Integration von Linux-Clients mit Hilfe von Samba Winbind. Hierbei wird auf der Linux-Seite kein eigener Identity-Store aufgebaut, stattdessen richten sich alle Authentifizierungsanfragen an den DC der Windows AD-Domäne. Hierfür müssen Sie jeden Client in die Windows-Domäne aufnehmen. Zur Konfiguration verwenden Sie das Tool “system-config-authentication” oder das textbasierte “authconfig-tui”. So konfigurieren Sie sowohl das Winbind- als auch das Kerberos-Subsystem. Kerberos ist deshalb notwendig, damit die Abfrage des Windows LDAP-Servers mittels GSSAPI stattfinden kann.

Die Kerberos-Keytab-Datei für den Client erzeugen Sie dann mit Hilfe von Samba. Es ist zwar auch möglich, diese Datei auf der Windows-Seite zu erstellen und dann auf den Client zu transferieren, allerdings ist dies wesentlich aufwändiger, weshalb wir uns auf die Variante auf Basis von Samba konzentrieren. Die daraus resultierenden Konfigurationen sind in Listing “/etc/samba/smb.conf” und Listing “/etc/krb5.conf” dargestellt. Lediglich der Parameter “idmap backend” sollte von “tdb” auch “rid” gestellt werden. Dieser Parameter legt fest, wie die Umwandlung von Windows-SIDs in Posix UIDs und GIDs erfolgt. Der Default-Parameter “tdb” nimmt ein Mapping zwischen den Werten vor und hält das Ergebnis in einer lokalen Datenbank vor – diese kann sich von Client zu Client unterscheiden. Das rid-Backend arbeitet dabei deterministisch und das Mapping einer SID auf eine UID/GID ist in jedem Fall identisch. Es besteht also keine Notwendigkeit, diese Information in einer Datenbank zu speichern.

Mit dem folgenden Kommando tritt das Client-System dann der AD-Domäne bei:

$ net join ads -U Administrator

Hat der Beitritt geklappt, so sollte der Aufruf von und nun neben den lokalen Benutzer- und Gruppen-Konten auch die Konten der Windows-Domäne anzeigen. Der Samba-Service muss hierzu übrigens nicht aktiv sein. Aus Performance-Gründen bietet es sich an, nach den Tests die beiden Optionen “winbind enum users” und “winbind enum groups” wieder zu deaktivieren.

Bild 2: Bei der Kerberos-Konfiguration verweisen Sie auf den Windows-Domänencontroller

Stabiler als Windbind: SSSD

Eine weitere Variante, um Konten einer AD-Domäne auf Linux-Clients zur Verfügung zu stellen, stellt der System Security Services Daemon (SSSD) dar. Dabei überlassen Sie das Mapping von SIDs/GIDs auf Posix-Attribute diesem Service, anstatt Winbind einzusetzen. Der SSSD stellt einen AD-Provider zur Verfügung, der das objectSID-Attribut eines AD-Objektes ausliest und hieraus ein passendes Posix-Attribut generiert – ganz ähnlich also wie der idmap-Parameter “rid” bei Winbind. Der SSSD AD-Provider arbeitet erfahrungsgemäß stabiler und schneller als Winbind, daher ist diese Konfiguration zu bevorzugen. Voraussetzung für den Einsatz des AD-Providers in der hier besprochenen Version 1.9 ist jedoch, dass der Client Teil der Windows-Domäne ist und über eine gültige Kerberos-Keytab-Datei verfügt. Für diese Aufgabe kommt erneut Winbind zum Einsatz.

Zur Konfiguration können Sie wieder das Tool “authconfig-tui” verwenden. Hier wählen Sie bei der Konfiguration der “User Information” jedoch LDAP statt Winbind aus. Alternativ lässt sich auch das Kommandozeilen-Tool “authconfig” einsetzen:

$ authconfig —enablesssd —enablesssdauth —enablelocauthorize —enablemkhomedir —update

Listing: /etc/krb5.conf



[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
EXAMPLE.COM = {
kdc = server1.example.com
default_domain = example.directory
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
         debug = false
         ticket_lifetime = 36000
         renew_lifetime = 36000
         forwardable = true
        krb4_convert = false
}

Die drei Konfigurationsdateien , und sind dann jedoch wie in den Listings 1,2,3 manuell anzupassen. Vorausgesetzt wird dabei, dass der Nameserver der Windows-Domäne auf den Clients zum Einsatz kommt und dass mindestens die SSSD-Version 1.9.2 auf den Clients installiert ist. Kommt auf dem Windows-DC das Identity-Management für Unix (IMU) zum Einsatz und verfügen die Benutzer- und Gruppenobjekte im AD also bereits über Posix-Attribute, deaktivieren Sie in der das Mapping der Attribute. Hierfür nutzen Sie im Domänenabschnitt die Anweisung “ldap_id_mapping = False”.

Mit den folgenden Kommandos nehmen Sie den Client dann in die Domäne auf:

$ kinit Administrator
$ net ads join -k

Hiernach sollte der Login auf dem Client dann mit jedem Konto der Windows-Domäne möglich sein. Über entsprechende sssd-Filter lässt sich der Zugriff natürlich entsprechend einschränken.

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