Naar de inhoud
Avanet

Generieke LDAP-server verbinden met Sophos Firewall

Met het servertype LDAP server authenticeert Sophos Firewall gebruikers uit OpenLDAP, 389 Directory Server, FreeIPA, Google Secure LDAP en andere LDAP-directory’s. Het volledige proces bestaat uit vier onderdelen: een lokale groep aanmaken, de LDAP-server veilig verbinden, de server onder Authentication > Services activeren en de aanmelding en groepstoewijzing met een echte gebruiker controleren.

Voor Windows Active Directory met LDAPS, groepsimport of AD SSO is Active Directory verbinden met Sophos Firewall geschikter. RADIUS via Microsoft NPS of een MFA-gateway wordt behandeld in Een RADIUS-server instellen op Sophos Firewall.

Wie het native eDirectory-servertype vóór SFOS 23 moet vervangen, vindt in eDirectory vóór SFOS 23 migreren de volledige procedure met inventarisatie, doelkeuze, parallelle werking en terugval.

Vereisten

  • WebAdmin-toegang tot Sophos Firewall
  • bereikbaarheid van de LDAP-server vanaf de firewall, doorgaans via poort 389 voor STARTTLS of 636 voor SSL/TLS
  • een bindaccount met leestoegang tot het benodigde deel van de directory
  • de Bind DN en Base DN, bijvoorbeeld cn=svc-sophos,ou=service,dc=example,dc=net en ou=people,dc=example,dc=net
  • de daadwerkelijk gebruikte gebruikersattributen, zoals uid, cn, mail en een groepsattribuut
  • de juiste CA-vertrouwensketen en werkende DNS-omzetting wanneer certificaatvalidatie is ingeschakeld

⚠️ Een bindaccount mag alleen leestoegang tot de benodigde substructuur hebben. Het wordt niet gebruikt voor administratieve wijzigingen in de directory, maar uitsluitend om gebruikersquery’s van de firewall bij de LDAP-server te authenticeren.

De LDAP-server toevoegen

De lokale LDAP-groep voorbereiden

  1. Authentication > Groups openen en Add selecteren.
  2. Een groep met een duidelijke naam aanmaken, bijvoorbeeld LDAP-Gebruikers.
  3. Toegang, tijdquota en andere groepsbeleidsregels afstemmen op het latere gebruik en opslaan.

Deze groep wordt later als Default group gebruikt. De groep verhindert toegang niet automatisch: het toegewezen groepsbeleid en de regels van de betreffende service bepalen wat is toegestaan.

De algemene groepslogica met een restrictieve Default Group, gebruikersoverrides, pilot en terugweg staat in Sophos Firewall-gebruikersgroepen veilig beheren; de LDAP-specifieke toewijzing volgt daarna uit het groepsattribuut en directoryschema.

De verbinding en bind configureren

  1. Authentication > Servers openen en Add selecteren.
  2. LDAP server als Server type kiezen.
  3. Een duidelijke Server name opgeven, bijvoorbeeld LDAP-Bedrijf.
  4. Onder Server IP/domain de DNS-naam van de LDAP-server invoeren. Wanneer certificaatvalidatie actief is, moet deze overeenkomen met een naam in het servercertificaat.
  5. Version 3 gebruiken, tenzij de directory een andere versie vereist. Google Secure LDAP ondersteunt alleen versie 3.
  6. Voor productie SSL/TLS of STARTTLS en de bijbehorende poort selecteren.
  7. Anonymous login uitschakelen en de Bind DN en het Password van het leesaccount invoeren.
  8. Append base DN alleen inschakelen als de LDAP-server verwacht dat de Base DN tijdens de bind wordt toegevoegd.
  9. Validate server certificate inschakelen zodra naam, DNS en CA-vertrouwen correct zijn geconfigureerd. Een Client certificate is alleen nodig als de LDAP-service wederzijdse certificaatauthenticatie vereist.

De zoekbasis en attributen invoeren

  1. Onder Base DN het startpunt voor de gebruikerszoekopdracht invoeren, bijvoorbeeld ou=people,dc=example,dc=net. Get base DN kan de door de server aangeboden zoekbasis ophalen.
  2. Authentication attribute instellen op het aanmeldattribuut, vaak uid of mail.
  3. Display name attribute en Email address attribute passend bij het gebruikersobject invoeren, bijvoorbeeld cn en mail.
  4. Onder Group name attribute het attribuut invoeren waaruit de firewall de groepsinformatie van de gebruiker ontvangt. Sophos adviseert memberOf, maar de juiste waarde hangt af van het directoryschema.
  5. Als de directory een vervaldatum voor accounts levert, het passende Expiry date attribute invoeren.
  6. Test connection uitvoeren en met Save opslaan.

Volgens Sophos controleert Test connection de verbinding en aanmeldgegevens. Alleen een echte aanmelding toont of de Base DN alle benodigde gebruikers omvat en groepen correct worden toegewezen.

De juiste versleuteling kiezen

LDAP in platte tekst verstuurt aanmeldgegevens onversleuteld en is hooguit geschikt voor een geïsoleerde test. In productie moet de verbinding worden beveiligd met SSL/TLS, doorgaans op poort 636, of STARTTLS, doorgaans op poort 389.

Er zijn twee certificaatrollen:

  • Validate server certificate controleert de identiteit van de externe LDAP-server. Server IP/domain moet overeenkomen met een geldige DNS-naam in het certificaat, dus de Common Name of een Subject Alternative Name. Als de firewall deze naam niet kan omzetten, wordt onder Network > DNS > DNS host entry een passende DNS-vermelding toegevoegd. DNS Host Entries op Sophos Firewall instellen en testen legt TTL, reverse lookup en de resolvertest uit. Ook moet de uitgevende CA worden vertrouwd.
  • Client certificate identificeert de firewall bij een LDAP-service die wederzijdse certificaatauthenticatie vereist. Dit certificaat vervangt de validatie van het servercertificaat niet.

Bij een TLS-fout eerst de servernaam, DNS-omzetting, geldigheid en CA-keten corrigeren. Servercertificaatvalidatie uitschakelen mag niet de standaardoplossing zijn.

Bind DN en Base DN correct invoeren

De meest voorkomende fout bij een nieuwe LDAP-server is een onjuist geschreven of verkeerd begrepen DN-syntaxis.

  • Een DN loopt van het specifieke object naar de hoofdmap van de directory, bijvoorbeeld cn=svc-sophos,ou=service,dc=example,dc=net.
  • De Base DN begint waar de gebruikerszoekopdracht moet starten. Als gebruikers zich in meerdere organisatie-eenheden bevinden, moet deze hoog genoeg in de structuur staan om ze allemaal te omvatten.
  • Een te beperkte Base DN levert geen passende gebruikers op, ook al is de server bereikbaar. Een onnodig brede zoekbasis kan zoekopdrachten vertragen en ongewenste objecten meenemen.
  • Append base DN voegt tijdens de bind de Base DN toe aan een onvolledige Bind DN. Bij een al volledige DN blijft de optie normaal uitgeschakeld; het gedrag van de LDAP-server is bepalend.

Groepen en services activeren

Group name attribute is geen universele instelling voor elke LDAP-groepsstructuur. Bij de aanmelding leest de firewall het geconfigureerde attribuut in het gebruikersobject en gebruikt de teruggegeven groepsinformatie voor de toewijzing. Sophos adviseert memberOf, en Google Secure LDAP gebruikt deze waarde. OpenLDAP, 389-ds of FreeIPA kunnen echter afhankelijk van schema, overlay en gebruikersobject een andere waarde vereisen.

Leid het gebruikersattribuut niet uitsluitend af van het groepstype groupOfNames of posixGroup. Bepalend is wat het echte gebruikersobject daadwerkelijk teruggeeft en of de bijbehorende groep correct op de firewall is toegewezen. Als de firewall geen passende groepstoewijzing vindt, wordt de gebruiker in de geconfigureerde Default group geplaatst.

Vervolgens de server activeren:

  1. Authentication > Services openen.
  2. Onder Firewall authentication methods de LDAP-server selecteren en naar de gewenste positie in Selected authentication servers verplaatsen. De firewall bevraagt meerdere servers in deze volgorde.
  3. De eerder aangemaakte groep LDAP-Gebruikers als Default group selecteren en op Apply klikken.
  4. Als gebruikers zich moeten aanmelden bij User Portal, VPN Portal, via SSL VPN, bij een andere VPN-service of als beheerder, de LDAP-server ook bij de betreffende authenticatiemethode selecteren.

Google Secure LDAP instellen

Voorafgaand aan de firewallconfiguratie wordt in de Google-beheerdersconsole een LDAP-client aangemaakt. Daarbij worden de toegangsrechten vastgelegd, het certificaat met de privésleutel gedownload en afzonderlijke aanmeldgegevens gegenereerd. Het wachtwoord wordt niet opnieuw weergegeven nadat het Google-dialoogvenster is gesloten.

Het Google-clientcertificaat wordt met certificaat en privésleutel geïmporteerd onder Certificates > Certificates > Add. Sophos Firewall kan het als niet-vertrouwd weergeven omdat het door Google zelf is ondertekend, maar het werkt wel voor clientauthenticatie. Deze melding heeft geen betrekking op de validatie van het servercertificaat.

Voor de LDAP-server gelden de volgende waarden:

  • Server IP/domain: ldap.google.com
  • Version: 3
  • Connection security: SSL/TLS
  • Port: 636
  • Anonymous login: uit
  • Bind DN en Password: de gegenereerde Google LDAP-aanmeldgegevens
  • Append base DN: uit
  • Client certificate: het geïmporteerde Google-certificaat
  • Base DN: invoeren of met Get base DN ophalen
  • Authentication attribute: UID
  • Display name attribute: CN
  • Email address attribute: mail
  • Group name attribute: memberOf
  • Expiry date attribute: expiry

mail is vereist voor het aanmaken van Google LDAP-groepen. Na het opslaan gelden dezelfde stappen als bij een lokale directory: de lokale LDAP-groep instellen, de server onder Authentication > Services activeren en een echte aanmelding met de groepstoewijzing testen.

De verbinding en groepstoewijzing controleren

Een betrouwbare acceptatietest omvat meerdere niveaus:

  1. Test connection bevestigt de verbinding en bindgegevens.
  2. Een gebruiker meldt zich aan bij de beoogde service, bijvoorbeeld VPN Portal of Captive Portal.
  3. Onder Authentication > Users controleren of gebruiker en groep zoals verwacht verschijnen.
  4. Als meerdere LDAP-groepen worden gebruikt, ten minste één gebruiker uit elke relevante groep testen. Een beleids- of testregel bevestigt dat zowel de aanmelding als de betreffende groepsmachtiging werkt.
  5. Een onjuist wachtwoord wordt geweigerd en de Log viewer toont een begrijpelijke authenticatiefout.

Als het schema onduidelijk is, kan een beheerder het gebruikersobject alleen-lezen inspecteren vanaf een Linux-beheersysteem of de LDAP-server:

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 vraagt het bindwachtwoord interactief op, zodat het niet in de shellgeschiedenis wordt opgeslagen. '*' toont gewone en '+' operationele attributen; pas het zoekfilter aan als een ander aanmeldattribuut wordt gebruikt. Deze opdracht hoort niet in de Advanced Shell van Sophos Firewall. Bepalend is of het gebruikersobject de verwachte attributen en groepswaarden daadwerkelijk teruggeeft. De uitvoer kan persoonsgegevens uit de directory bevatten en moet worden geanonimiseerd voordat deze aan een ticket wordt toegevoegd of wordt gedeeld.

Veelvoorkomende fouten

  • Geen verbinding: Routing, DNS, poort en Connection security controleren. Vervolgens de Bind DN, het wachtwoord en Anonymous login controleren.
  • TLS- of certificaatfout: DNS-namen in het servercertificaat, DNS-omzetting, geldigheid en CA-keten controleren. Servercertificaatvalidatie niet als eerste maatregel uitschakelen.
  • Test connection werkt, maar de gebruiker wordt niet gevonden: De Base DN is vaak te beperkt of Authentication attribute komt niet overeen met de aanmeldnaam.
  • Aanmelden werkt, maar de gebruiker komt in de Default group terecht: Group name attribute in het echte gebruikersobject, de lokale groepstoewijzing en groepsvolgorde controleren. memberOf is een veelvoorkomend voorbeeld, maar niet voor elk schema gegarandeerd.
  • Google Secure LDAP voert geen bind uit: Versie 3, poort 636, uitgeschakelde Anonymous login, uitgeschakelde Append base DN, aanmeldgegevens en Google-clientcertificaat controleren.
  • De server is geconfigureerd maar wordt niet gebruikt: Toewijzing, volgorde en Default group onder Authentication > Services controleren.
  • Zoeken is langzaam of levert ongewenste accounts op: De Base DN beperken tot de benodigde substructuur.
  • Een andere authenticatieserver reageert eerst: De volgorde van de geselecteerde servers voor de betreffende service corrigeren.