ldap_over_tls
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ldap_over_tls [2015/08/02 16:49] 0.0.0.0 aangemaakt |
ldap_over_tls [2021/11/23 14:14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | {{tag>" | ||
+ | |||
+ | ===== Overzicht ===== | ||
+ | LDAP heeft bij ons lang gewerkt gewoon cleartext op het netwerk. Niet het grootste beveiligingsprobleem ter wereld maar er zijn andere mogelijkheden. Onlangs is communicatie met de daemon zo opgezet dat authenticatie over TLS gebeurt. | ||
+ | |||
+ | ===== Hoe werkt het? ===== | ||
+ | ==== Benodigde onderdelen ==== | ||
+ | Om logins te enablen over LDAP/TLS zijn een aantal onderdelen nodig. | ||
+ | * libpam-ldap | ||
+ | * libnss-ldap | ||
+ | * Een crt file van de certificate authority. De TLS op cartman is self signed dus heb je daarvan een certificate file van nodig. Die is momenteel te vinden in / | ||
+ | |||
+ | ==== Opzetten logins ==== | ||
+ | Hangt af van het aanpassen van / | ||
+ | |||
+ | < | ||
+ | < | ||
+ | auth [[success=1|default=ignore]] | ||
+ | auth required | ||
+ | auth required | ||
+ | </ | ||
+ | |||
+ | Wat doet dat? Eerst probeert hij in te loggen via pam_unix, wat eigenlijk inloggen is met gewoon lokaal passw/ | ||
+ | |||
+ | Eigenlijk moet het volgende dus in common-password. Momenteel staat er spijtig genoeg wat junk in passwd. Dit zou allemaal vervangen moeten worden door het volgende in common-password, | ||
+ | |||
+ | < | ||
+ | < | ||
+ | password sufficient pam_ldap.so | ||
+ | </ | ||
+ | |||
+ | ==== Configureren LDAP en TLS ==== | ||
+ | Alles onder ubuntu zit onder / | ||
+ | |||
+ | Een minimale file volgt, vul het gewoon het skelet dat al aanwezig is op dezelfde manier in, let op de lokatie van de .crt file die je zelf moet overkopiëren! | ||
+ | < | ||
+ | - The distinguished name of the search base. | ||
+ | base dc=zeus, | ||
+ | |||
+ | - Another way to specify your LDAP server is to provide an | ||
+ | - uri with the server name. This allows to use | ||
+ | - Unix Domain Sockets to connect to a local LDAP Server. | ||
+ | uri ldap:// | ||
+ | |||
+ | - The LDAP version to use (defaults to 3 | ||
+ | - if supported by client library) | ||
+ | ldap_version 3 | ||
+ | |||
+ | - The port. | ||
+ | - Optional: default is 389. | ||
+ | port 389 | ||
+ | |||
+ | - don't hash the password | ||
+ | pam_password md5 | ||
+ | |||
+ | - use tls | ||
+ | ssl start_tls | ||
+ | |||
+ | |||
+ | - Require and verify server certificate (yes/no) | ||
+ | tls_checkpeer yes | ||
+ | |||
+ | - CA certificates for server certificate verification | ||
+ | tls_cacertfile / | ||
+ | </ | ||
+ | |||
+ | ==== Aanpassen resolver ==== | ||
+ | Vinden van user enzo moet dan ook vanuit ldap. Pas gewoon / | ||
+ | < | ||
+ | passwd: | ||
+ | group: | ||
+ | shadow: | ||
+ | </ | ||
+ | ===== Enkele Gotcha' | ||
+ | - De .crt file moet world readable zijn en in een world readable directory staan | ||
+ | - Opzoeken van groepen gebeurt nog lokaal, zorgt voor problemen | ||
+ | - Lookups kunnen nog gecached worden voor snelheid met nscd | ||
+ | - let erop dat de URI bovenaan expliciet cartman vermeldt. Het probleem is dat cartman.sp op het certificate staat als common name, en de libraries verwachten dat deze ook de host is met welke verbonden wordt. Als daar een IP zou staan zou het niet werken. Een oplossing? een nieuw certificaat maken waarbij de common name iets is als " | ||
+ | - Momenteel is nog een overgangsperiode. Plaintext authentication is dus nog altijd mogelijk. Ik zal nog eens een stuk toevoegen over hoe dat te disablen in de slapd.conf. | ||
ldap_over_tls.1438534145.txt.gz · Last modified: 2021/11/23 14:03 (external edit)