Client-Anbindung via DNS Service Discovery: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:
 
Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen.
 
Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen.
  
* Beispielhafter Eintrag in der Zone-Datei:
 
 
<pre>
 
<pre>
 
_ldap._tcp.it213.int.    IN  SRV  10 70 389  ldap.it213.int.
 
_ldap._tcp.it213.int.    IN  SRV  10 70 389  ldap.it213.int.
Zeile 21: Zeile 20:
 
* apt update
 
* apt update
 
* apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir
 
* apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir
 +
{| class="wikitable"
 +
! Paket !! Funktion / Beschreibung
 +
|-
 +
| '''sssd''' || Der Hauptdienst (System Security Services Daemon) zur zentralen Identitätsverwaltung.
 +
|-
 +
| '''libnss-sss''' || Schnittstelle für den Name Service Switch (NSS). Liefert User- und Gruppen-IDs an das System.
 +
|-
 +
| '''libpam-sss''' || PAM-Modul für die Authentifizierung. Übernimmt die Passwortprüfung beim Login.
 +
|-
 +
| '''libsss-sudo''' || Ermöglicht das Auslesen und Anwenden von zentralen Sudo-Regeln aus dem LDAP.
 +
|-
 +
| '''sssd-tools''' || Enthält Hilfswerkzeuge zur Fehlersuche und Verwaltung (z. B. <code>sssctl</code>).
 +
|-
 +
| '''oddjob-mkhomedir''' || Erstellt beim ersten Login automatisch das Home-Verzeichnis für Netzwerk-Benutzer.
 +
|}
 +
 +
'''Hinweis:''' Ein separates LDAP-Client-Paket (wie ldap-utils) ist auf den Clients nicht erforderlich, da SSSD die Kommunikation mit dem Verzeichnisdienst eigenständig übernimmt.
  
 
== SSSD Konfiguration am Client ==
 
== SSSD Konfiguration am Client ==
Zeile 30: Zeile 46:
  
 
  [sssd]
 
  [sssd]
  <span style="color:red">config_file_version = 2</span>
+
  config_file_version = 2
 
  services = nss, pam, sudo
 
  services = nss, pam, sudo
 
  domains = it213.int
 
  domains = it213.int
Zeile 51: Zeile 67:
 
   
 
   
 
  cache_credentials = True
 
  cache_credentials = True
<span style="color:red">enumerate = true</span>
 
 
  ldap_id_use_start_tls = false
 
  ldap_id_use_start_tls = false
  <span style="color:red">ldap_auth_disable_tls_never_use_in_production = true</span>
+
  ldap_auth_disable_tls_never_use_in_production = true
 
  ldap_tls_reqcert = never
 
  ldap_tls_reqcert = never
 
   
 
   

Aktuelle Version vom 2. April 2026, 11:41 Uhr

Client-Anbindung via DNS Service Discovery

In dieser Konfiguration suchen die Clients ihren LDAP-Server automatisch über DNS SRV Records. Dies erhöht die Flexibilität im Labornetzwerk, da keine statischen IP-Adressen in den Konfigurationsdateien der Clients gepflegt werden müssen.

Voraussetzungen im DNS (Bind9)

Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen.

_ldap._tcp.it213.int.    IN  SRV  10 70 389  ldap.it213.int.
  • Überprüfung vom Client aus:
  • host -t SRV _ldap._tcp.it213.int

Installation der Client-Komponenten

Auf jedem Client müssen die SSSD-Module und Werkzeuge für die PAM-Integration installiert werden.

  • apt update
  • apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir
Paket Funktion / Beschreibung
sssd Der Hauptdienst (System Security Services Daemon) zur zentralen Identitätsverwaltung.
libnss-sss Schnittstelle für den Name Service Switch (NSS). Liefert User- und Gruppen-IDs an das System.
libpam-sss PAM-Modul für die Authentifizierung. Übernimmt die Passwortprüfung beim Login.
libsss-sudo Ermöglicht das Auslesen und Anwenden von zentralen Sudo-Regeln aus dem LDAP.
sssd-tools Enthält Hilfswerkzeuge zur Fehlersuche und Verwaltung (z. B. sssctl).
oddjob-mkhomedir Erstellt beim ersten Login automatisch das Home-Verzeichnis für Netzwerk-Benutzer.

Hinweis: Ein separates LDAP-Client-Paket (wie ldap-utils) ist auf den Clients nicht erforderlich, da SSSD die Kommunikation mit dem Verzeichnisdienst eigenständig übernimmt.

SSSD Konfiguration am Client

Die Konfiguration nutzt den Parameter "_srv_", um die DNS-Abfrage zu starten.

SSSD Konfiguration mit DNS Discovery Erweiterung

  • vim /etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam, sudo
domains = it213.int

[domain/it213.int]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = permit
sudo_provider = ldap

ldap_uri = _srv_
dns_discovery_domain = it213.int

ldap_search_base = dc=it213,dc=int
ldap_sudo_search_base = ou=sudo,dc=it213,dc=int

ldap_default_bind_dn = cn=admin,dc=it213,dc=int
ldap_default_authtok = 123Start$

cache_credentials = True
ldap_id_use_start_tls = false
ldap_auth_disable_tls_never_use_in_production = true
ldap_tls_reqcert = never

[nss]
filter_users = root,daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,www-data,backup,list,irc,gnats,nobody,systemd-network,systemd-resolve,messagebus,_apt,uuidd,nslcd
filter_groups = root,daemon,bin,sys,adm,tty,disk,lp,mail,news,uucp,man,proxy,kmem,dialout,fax,voice,cdrom,floppy,tape,sudo,audio,dip,www-data,backup,operator,list,irc,src,gnats,shadow,utmp,video,sasl,plugdev,staff,games,users,nogroup,systemd-journal,systemd-network,systemd-resolve,input,kvm,render,crontab,netdev,messagebus,_apt,uuidd,ssh,nslcd

[pam]
offline_credentials_expiration = 2

Erklärungen sssd-2
  • chmod 600 /etc/sssd/sssd.conf
  • systemctl restart sssd

PAM und NSS Integration

Damit das System die SSSD-Daten nutzt und beim ersten Login das Home-Verzeichnis erstellt, wird die Konfiguration aktualisiert.

  • pam-auth-update --enable sss mkhomedir

Funktionstest

  • getent passwd thomas
  • id tina
  • sudo -l -U thomas