Zum Inhalt springen
Avanet

Generischen LDAP-Server mit Sophos Firewall verbinden

Mit dem Servertyp LDAP server authentifiziert Sophos Firewall Benutzer aus OpenLDAP, 389 Directory Server, FreeIPA, Google Secure LDAP und anderen LDAP-Verzeichnissen. Der vollständige Ablauf besteht aus vier Teilen: lokale Gruppe anlegen, LDAP-Server sicher verbinden, Server unter Authentication > Services aktivieren und Anmeldung sowie Gruppenzuordnung mit einem echten Benutzer prüfen.

Für Windows Active Directory mit LDAPS, Gruppenimport oder AD SSO passt Active Directory mit Sophos Firewall verbinden besser. RADIUS über Microsoft NPS oder ein MFA-Gateway behandelt Sophos Firewall RADIUS-Server einrichten.

Wer den nativen eDirectory-Servertyp vor SFOS 23 ablösen muss, findet unter eDirectory vor SFOS 23 migrieren den vollständigen Ablauf mit Inventur, Zielwahl, Parallelbetrieb und Rückweg.

Voraussetzungen

  • WebAdmin-Zugriff auf die Sophos Firewall
  • Erreichbarkeit des LDAP-Servers von der Firewall, üblicherweise über Port 389 für STARTTLS oder 636 für SSL/TLS
  • ein Bind-Konto mit Leserechten auf den benötigten Verzeichnisbereich
  • Bind DN und Base DN, zum Beispiel cn=svc-sophos,ou=service,dc=example,dc=net und ou=people,dc=example,dc=net
  • die tatsächlich verwendeten Benutzerattribute, etwa uid, cn, mail und ein Gruppenattribut
  • bei Zertifikatsprüfung die passende CA-Vertrauenskette und funktionierende DNS-Auflösung

⚠️ Ein Bind-Konto sollte nur Leserechte auf den benötigten Teilbaum haben. Es wird nicht für administrative Änderungen im Verzeichnis verwendet, sondern nur, um Benutzeranfragen der Firewall am LDAP-Server zu authentifizieren.

LDAP-Server anlegen

Lokale LDAP-Gruppe vorbereiten

  1. Authentication > Groups öffnen und Add wählen.
  2. Eine eindeutige Gruppe anlegen, zum Beispiel LDAP-Benutzer.
  3. Zugriff, Zeitkontingente und weitere Gruppenrichtlinien passend zum späteren Einsatz festlegen und speichern.

Diese Gruppe wird später als Default group verwendet. Sie verhindert nicht automatisch den Zugriff: Entscheidend sind die für die Gruppe hinterlegten Richtlinien und die Regeln des jeweiligen Dienstes.

Die allgemeine Gruppenlogik mit restriktiver Default Group, Benutzer-Overrides, Pilot und Rückweg steht unter Sophos Firewall Benutzergruppen sicher verwalten; die LDAP-spezifische Zuordnung folgt danach aus Gruppenattribut und Verzeichnisschema.

Verbindung und Bind konfigurieren

  1. Authentication > Servers öffnen und Add wählen.
  2. Als Server type den Eintrag LDAP server auswählen.
  3. Einen eindeutigen Server name vergeben, zum Beispiel LDAP-Firma.
  4. Unter Server IP/domain den DNS-Namen des LDAP-Servers eintragen. Bei aktiver Zertifikatsprüfung muss er dem Namen im Serverzertifikat entsprechen.
  5. Version 3 verwenden, sofern das Verzeichnis keine andere Version verlangt. Google Secure LDAP unterstützt nur Version 3.
  6. Für den produktiven Betrieb SSL/TLS oder STARTTLS und den dazu passenden Port wählen.
  7. Anonymous login deaktivieren und Bind DN sowie Password des Lesekontos eintragen.
  8. Append base DN nur aktivieren, wenn der LDAP-Server die Base DN beim Bind zusätzlich erwartet.
  9. Validate server certificate aktivieren, sobald Name, DNS und CA-Vertrauen korrekt eingerichtet sind. Ein Client certificate wird nur benötigt, wenn der LDAP-Dienst eine gegenseitige Zertifikatsauthentifizierung verlangt.

Suchbasis und Attribute eintragen

  1. Unter Base DN den Startpunkt der Benutzersuche eintragen, zum Beispiel ou=people,dc=example,dc=net. Get base DN kann die vom Server angebotene Suchbasis abrufen.
  2. Als Authentication attribute das Anmeldeattribut setzen, häufig uid oder mail.
  3. Display name attribute und Email address attribute passend zum Benutzerobjekt eintragen, beispielsweise cn und mail.
  4. Unter Group name attribute das Attribut eintragen, aus dem die Firewall Gruppeninformationen des Benutzers erhält. Sophos empfiehlt memberOf; der korrekte Wert hängt jedoch vom Verzeichnisschema ab.
  5. Wenn das Verzeichnis ein Ablaufdatum für Konten liefert, das passende Expiry date attribute eintragen.
  6. Test connection ausführen und mit Save speichern.

Test connection prüft laut Sophos die Verbindung und die Zugangsdaten. Ob die Base DN alle benötigten Benutzer umfasst und Gruppen richtig zugeordnet werden, zeigt erst ein echter Login.

Verschlüsselung richtig wählen

Plaintext-LDAP überträgt Anmeldedaten unverschlüsselt und eignet sich höchstens für einen isolierten Test. Produktiv sollte die Verbindung über SSL/TLS, meistens Port 636, oder STARTTLS, meistens Port 389, geschützt werden.

Dabei sind zwei Zertifikatsrollen zu unterscheiden:

  • Validate server certificate prüft die Identität des entfernten LDAP-Servers. Server IP/domain muss einem gültigen DNS-Namen im Zertifikat entsprechen, also dem Common Name oder einem Subject Alternative Name. Kann die Firewall diesen Namen nicht auflösen, wird unter Network > DNS > DNS host entry ein passender DNS-Eintrag angelegt. TTL, Reverse Lookup und Resolver-Test erklärt DNS Host Entries auf Sophos Firewall einrichten. Zusätzlich muss die ausstellende CA vertrauenswürdig sein.
  • Client certificate weist die Firewall gegenüber einem LDAP-Dienst aus, der gegenseitige Zertifikatsauthentifizierung verlangt. Dieses Zertifikat ersetzt nicht die Prüfung des Serverzertifikats.

Bei einem TLS-Fehler zuerst Servername, DNS-Auflösung, Gültigkeit und CA-Kette korrigieren. Die Serverzertifikatsprüfung abzuschalten, sollte nicht die Standardlösung sein.

Bind DN und Base DN richtig eintragen

Die häufigste Fehlerquelle bei einem neuen LDAP-Server ist eine falsch geschriebene oder falsch verstandene DN-Syntax.

  • Ein DN läuft vom spezifischen Objekt zur Verzeichniswurzel, zum Beispiel cn=svc-sophos,ou=service,dc=example,dc=net.
  • Die Base DN beginnt dort, wo die Benutzersuche starten soll. Liegen Benutzer in mehreren Organisationseinheiten, muss sie weit genug oben im Baum stehen.
  • Eine zu enge Base DN liefert trotz erreichbarem Server keine passenden Benutzer. Eine unnötig breite Suchbasis kann die Suche verlangsamen und unerwünschte Objekte einschliessen.
  • Append base DN hängt die Base DN beim Bind an einen unvollständigen Bind DN an. Bei einem bereits vollständigen DN bleibt die Option normalerweise aus; massgeblich ist das Verhalten des LDAP-Servers.

Gruppen und Dienste aktivieren

Group name attribute ist kein universeller Schalter für jede LDAP-Gruppenstruktur. Die Firewall liest beim Login das konfigurierte Attribut am Benutzerobjekt und verwendet die zurückgelieferten Gruppeninformationen für die Zuordnung. Sophos empfiehlt memberOf, und Google Secure LDAP verwendet diesen Wert. OpenLDAP, 389-ds oder FreeIPA können je nach Schema, Overlay und Benutzerobjekt jedoch einen anderen Wert benötigen.

Nicht allein vom Gruppentyp groupOfNames oder posixGroup auf das Benutzerattribut schliessen. Entscheidend ist, was das reale Benutzerobjekt tatsächlich zurückliefert und ob die dazugehörige Gruppe auf der Firewall passend abgebildet ist. Findet die Firewall keine passende Gruppenzuordnung, landet der Benutzer in der konfigurierten Default Group.

Danach den Server aktivieren:

  1. Authentication > Services öffnen.
  2. Unter Firewall authentication methods den LDAP-Server auswählen und in die gewünschte Reihenfolge der Selected authentication servers verschieben. Die Firewall fragt mehrere Server in dieser Reihenfolge ab.
  3. Als Default group die zuvor erstellte Gruppe LDAP-Benutzer wählen und Apply anklicken.
  4. Falls Benutzer sich am User Portal, VPN Portal, per SSL VPN, an einem anderen VPN-Dienst oder als Administrator anmelden sollen, den LDAP-Server auch unter der jeweiligen Authentifizierungsmethode auswählen.

Google Secure LDAP einrichten

Vor der Firewall-Konfiguration wird in der Google Admin Console ein LDAP-Client erstellt. Dabei werden dessen Zugriffsrechte festgelegt, das Zertifikat mit privatem Schlüssel heruntergeladen und separate Zugangsdaten erzeugt. Das Passwort wird nach dem Schliessen des Google-Dialogs nicht erneut angezeigt.

Das Google-Clientzertifikat wird unter Certificates > Certificates > Add mit Zertifikat und privatem Schlüssel importiert. Es kann in Sophos Firewall als nicht vertrauenswürdig erscheinen, weil es von Google selbstsigniert ist, funktioniert aber trotzdem für die Clientauthentifizierung. Diese Anzeige betrifft nicht die Prüfung des Serverzertifikats.

Für den LDAP-Server gelten folgende Werte:

  • Server IP/domain: ldap.google.com
  • Version: 3
  • Connection security: SSL/TLS
  • Port: 636
  • Anonymous login: aus
  • Bind DN und Password: die erzeugten Google-LDAP-Zugangsdaten
  • Append base DN: aus
  • Client certificate: das importierte Google-Zertifikat
  • Base DN: eintragen oder über Get base DN abrufen
  • Authentication attribute: UID
  • Display name attribute: CN
  • Email address attribute: mail
  • Group name attribute: memberOf
  • Expiry date attribute: expiry

mail wird für die Google-LDAP-Gruppenerstellung benötigt. Nach dem Speichern gelten dieselben Schritte wie bei einem lokalen Verzeichnis: lokale LDAP-Gruppe festlegen, Server unter Authentication > Services aktivieren und einen echten Login samt Gruppenzuordnung testen.

Verbindung und Gruppenzuordnung prüfen

Eine belastbare Abnahme umfasst mehrere Ebenen:

  1. Test connection bestätigt Verbindung und Bind-Zugangsdaten.
  2. Ein Benutzer meldet sich am vorgesehenen Dienst an, etwa am VPN Portal oder Captive Portal.
  3. Unter Authentication > Users wird geprüft, ob Benutzer und Gruppe wie erwartet erscheinen.
  4. Bei mehreren LDAP-Gruppen wird mindestens ein Benutzer aus jeder relevanten Gruppe geprüft. Eine Richtlinie oder Testregel bestätigt, dass nicht nur der Login, sondern auch die jeweilige Gruppenberechtigung greift.
  5. Ein falsches Passwort wird abgewiesen und der Log viewer zeigt einen nachvollziehbaren Authentifizierungsfehler.

Wenn das Schema unklar ist, kann ein Administrator das Benutzerobjekt von einem Linux-Administrationssystem oder dem LDAP-Server aus read-only prüfen:

ldapsearch -LLL -x -H ldaps://ldap.example.net:636 \
  -D 'cn=svc-sophos,ou=service,dc=example,dc=net' -W \
  -b 'ou=people,dc=example,dc=net' \
  '(uid=max.muster)' '*' '+'

-W fragt das Bind-Passwort interaktiv ab, damit es nicht in der Shell-History steht. '*' zeigt normale und '+' operative Attribute; den Suchfilter bei einem anderen Anmeldeattribut entsprechend anpassen. Der Befehl gehört nicht in die Advanced Shell der Sophos Firewall. Entscheidend ist, ob das Benutzerobjekt die erwarteten Attribute und Gruppenwerte tatsächlich liefert. Die Ausgabe kann personenbezogene Verzeichnisdaten enthalten und muss vor einem Ticket oder einer Weitergabe anonymisiert werden.

Typische Fehler

  • Keine Verbindung: Routing, DNS, Port und Connection security prüfen. Danach Bind DN, Passwort und Anonymous login kontrollieren.
  • TLS- oder Zertifikatsfehler: DNS-Namen im Serverzertifikat, DNS-Auflösung, Gültigkeit und CA-Kette prüfen. Die Serverzertifikatsprüfung nicht als erste Massnahme deaktivieren.
  • Test connection funktioniert, Benutzer wird aber nicht gefunden: Base DN ist häufig zu eng oder Authentication attribute stimmt nicht mit dem Anmeldenamen überein.
  • Login funktioniert, Benutzer landet aber in der Default Group: Group name attribute am realen Benutzerobjekt, lokale Gruppenabbildung und Gruppenreihenfolge prüfen. memberOf ist ein häufiges Beispiel, aber nicht für jedes Schema garantiert.
  • Google Secure LDAP bindet nicht: Version 3, Port 636, deaktiviertes Anonymous login, deaktiviertes Append base DN, Zugangsdaten und Google-Clientzertifikat kontrollieren.
  • Server ist angelegt, wird aber nicht verwendet: Zuordnung, Reihenfolge und Default group unter Authentication > Services prüfen.
  • Suche ist langsam oder liefert unerwünschte Konten: Base DN enger auf den benötigten Teilbaum setzen.
  • Ein anderer Authentifizierungsserver reagiert zuerst: Reihenfolge der ausgewählten Server für den betroffenen Dienst korrigieren.