Active Directory Name Resolution

In der heutigen IT-Welt ist die Integration von Linux-Servern in ein bestehendes Active Directory (AD) Netzwerk eine gängige Anforderung. Active Directory wird primär von Microsoft Windows-basierten Systemen verwendet, bietet aber auch Linux-Systemen zahlreiche Vorteile, wie die zentrale Authentifizierung und Verwaltung von Benutzern und Computern. Ein entscheidender Aspekt dieser Integration ist die Namensauflösung. Dieser Blog-Beitrag erklärt, wie die Namensauflösung mit Active Directory unter Linux funktioniert und welche Konfigurationen dafür nötig sind.

Was ist Namensauflösung?

Namensauflösung ist der Prozess, bei dem der Name eines Computers in eine IP-Adresse umgewandelt wird. Linux nutzt hierfür typischerweise den Domain Name System (DNS), um Netzwerkressourcen wie Server und Workstations zu identifizieren. In einem Active Directory-Umfeld ist der DNS-Dienst tief integriert, da AD selbst auf DNS angewiesen ist, um seine Komponenten wie Domain-Controller (DCs), Benutzer und Dienste zu finden.

Voraussetzungen für die Active Directory Namensauflösung unter Linux

  1. DNS-Server Konfiguration:
    Damit ein Linux-Host mit AD korrekt funktioniert, muss er in der Lage sein, die Domänennamen des Active Directory in IP-Adressen aufzulösen. Dies erfordert eine ordnungsgemäße DNS-Konfiguration, bei der der AD-DNS-Server als primärer DNS-Server in der /etc/resolv.conf Datei des Linux-Systems eingetragen wird.Beispiel:
nameserver 192.168.1.10   # IP-Adresse des AD-DNS-Servers
search domain.local       # Die AD-Domäne

NTP (Network Time Protocol):
Active Directory erfordert eine genaue Zeitsynchronisation zwischen dem Linux-Client und den Domain-Controllern. Hierfür sollte der Linux-Host den NTP-Dienst verwenden, um die Zeit mit einem AD-Server zu synchronisieren. Dies ist wichtig, da AD-Kerberos-Authentifizierungen eine Zeitdifferenz von mehr als 5 Minuten ablehnen.

Installierte Pakete:
Um eine vollständige AD-Integration zu ermöglichen, werden einige Pakete auf dem Linux-Host benötigt. Dazu gehören:

  • Samba: Ermöglicht die Teilnahme von Linux-Rechnern an einer Windows-Domäne.
  • sssd (System Security Services Daemon): Bietet Authentifizierungs- und Benutzerverwaltungsdienste in einem AD-Umfeld.
  • krb5 (Kerberos): Für die Authentifizierung mit dem AD-Kerberos-Protokoll.

Installieren Sie diese Pakete unter Ubuntu/Debian mit:

sudo apt-get install samba sssd krb5-user

Konfiguration der Namensauflösung

  1. Samba Konfiguration:
    Samba ist das Kernelement für die Interaktion von Linux mit einem Windows-Server-Netzwerk. Die Konfigurationsdatei von Samba befindet sich unter /etc/samba/smb.conf. Hier ist ein einfaches Beispiel:
[global]
workgroup = DOMAIN          # Der NetBIOS-Name Ihrer AD-Domäne
realm = DOMAIN.LOCAL        # Der vollständige DNS-Name Ihrer AD-Domäne
security = ads              # AD-Modus für die Authentifizierung
kerberos method = secrets and keytab
[global]
workgroup = DOMAIN          # Der NetBIOS-Name Ihrer AD-Domäne
realm = DOMAIN.LOCAL        # Der vollständige DNS-Name Ihrer AD-Domäne
security = ads              # AD-Modus für die Authentifizierung
kerberos method = secrets and keytab

Nachdem Samba konfiguriert wurde, können Sie den Linux-Host zur AD-Domäne hinzufügen:

sudo net ads join -U Administrator

DNS und SSSD Konfiguration:
Nachdem der Linux-Host erfolgreich in die AD-Domäne integriert wurde, ist es wichtig, die Konfiguration von sssd zu überprüfen. Die Datei /etc/sssd/sssd.conf sollte wie folgt aussehen:

[sssd]
services = nss, pam
config_file_version = 2
domains = domain.local

[domain/domain.local]
id_provider = ad
access_provider = ad
auth_provider = ad
chpass_provider = ad
ad_domain = domain.local
krb5_realm = DOMAIN.LOCAL
krb5_server = dc.domain.local

Stellen Sie sicher, dass die Berechtigungen für diese Datei korrekt gesetzt sind:

sudo chmod 600 /etc/sssd/sssd.conf

DNS und Kerberos Einbindung:
Damit die Authentifizierung und Namensauflösung richtig funktioniert, muss der Linux-Host auf den DNS-Dienst des Active Directory zugreifen können. Die Datei /etc/krb5.conf für die Kerberos-Konfiguration könnte folgendermaßen aussehen:

[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true

Überprüfung der Namensauflösung:
Sie können die DNS-Namensauflösung mit einfachen Befehlen überprüfen. Beispielsweise:

nslookup dc.domain.local
  1. Dies sollte die IP-Adresse des Domain Controllers zurückgeben, wenn die Namensauflösung korrekt funktioniert.

Test und Troubleshooting

Um sicherzustellen, dass die Namensauflösung und Authentifizierung korrekt funktionieren, können Sie testen, ob der Host die AD-Domäne und die Benutzer auflösen kann:

  • Benutzerauflösung:
id benutzername@domain.local

Kerberos-Ticket erhalten:

kinit benutzername@DOMAIN.LOCAL
klist
  • Dies zeigt das Kerberos-Ticket an, das für die Authentifizierung im Active Directory verwendet wird.

Fazit

Die Namensauflösung ist ein wesentlicher Bestandteil der Integration von Linux-Hosts in eine Active Directory-Umgebung. Eine korrekte DNS-Konfiguration, Kerberos-Authentifizierung und die Verwendung von Tools wie Samba und SSSD sind entscheidend, um eine reibungslose Kommunikation zwischen Linux- und Windows-Systemen zu gewährleisten. Mit den richtigen Einstellungen können Linux-Systeme effektiv in einem AD-Netzwerk betrieben und verwaltet werden.

Falls Sie Probleme oder spezifische Fragen haben, können Logdateien wie /var/log/syslog, /var/log/sssd/sssd.log und /var/log/samba/log.smbd wertvolle Informationen zur Fehlersuche liefern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert