Portál AbcLinuxu, 2. května 2025 11:50
LDAP + SSL TLS aneb jak se zbavit naivity
1.1.2013 19:46
| Přečteno: 1611×
| Debian
|
První komentář pod mým včerejěím zápiskem zněl: LDAP bez SSL/TLS? Jak naivni.. I když byl tento názor relativizován, rozhodl jsem se po Maxově pošťouchnutí SSL trochu poškádlit, což se ukázalo jako ne až tak triviální jak by se mohlo Maxovi zdát
SSL/TLS na straně serveru ...
Celkem jednoduchý postup se dá v jazyce anglickém vygůglit. V principu potřebujeme vytvořit certifikační autoritu, vygenerovat a podepsat klíč a nacpat to do LDAPu. Ty návody jsou fakt dobré, jediný problém na který jsem narazil byl "drobný detail", že certifikát je vázaný na konkrétní hostname/FQDN/IP. Pokud jsme si tedy chytře všude nastavili (z rozumných důvodů) natvrdo IP adresy místo DNS, překvapivě nebude fungovat certifikát, který je vystaven na FQDN. Ale jak říkám, když člověk není blbej, tak dojít do fáze, kdy funguje sudo ldapsearch -x není problém
. Jo a není špatné nezapomenout zkopírovat všechny tři soubory
.
... a na straně klienta
Konfifurace LDAPu znamená do /etc/ldap/ldap.conf opravit ldap:// na ldaps:// a přidat:
TLS_CACERT /etc/ssl/certs/cacert.pem
TLS_REQCERT demand
Mimochodem, není špatné ze serveru rozdistribuovat cacert.pem
V tomto okamžiku nám funguje ldapsearch, ale nepropagují se ale uživatelské účty (passwd atd). Stálo mne docela dost úsilí to rozchodit, takže předkládám výsledek své snahy: o výše uvedené se stará démon nslcd, jehož konfiguraci naleznete v /etc/nslcd.conf. Rad jak tento soubor upravit je plný internet, většina nápadů ale nefunguje. Nakonec jsem dospěl k této funkční konfiguraci (nemusím řešit problémy s nepodepsaným klíčem, protože máme přeci naši úžasnou autoritu, že ...):
# /etc/nslcd.conf
# The user and group nslcd should run as.
uid nslcd
gid nslcd
# The search base that will be used for all queries.
base dc=nase,dc=uzasna-domena,dc=cz
uri ldaps://ldapserver/
# SSL options
tls_reqcert allow
timelimit 120
idle_timelimit 3600
bind_timelimit 120
ssl on
tls_cacert /etc/ssl/certs/cacert.pem
... jo a nezapomeňte správně nastavit práva (-rw-r----- 1 root nslcd čili chmod 640, chown i chgrp), /etc/ssl/certs/cacert.pem musí mít práva 644 (-rw-r--r--). Po restartu démona (/etc/init.d/nslcd restart) stěrače stírají.
Příště uvidíte ...
Nový Rok i dovolená končí, takže nevím, kdy přesně bude "příště", nicméně když už to všechno celkem chodí, tak ještě PAM zaslouží trochu doladit. ldots ukazuje nastavení PAM pro gdm, čehož výsledkem by byli (snad) LDAPí uživatelé dostupní i v GDM menu. Dále je v mém úkoláčku zjistit jak je možno učinit LDAP uživatele neaktivním aniž bych ho vymazal, jestli je možné řídit přístup na jednotlivé stroje podle skupin a vyzkoušet doporučený LDAP klient.
Tiskni
Sdílej:
Komentáře
Vložit další komentář
1.1.2013 23:14
Miriam
Re: LDAP + SSL TLS aneb jak se zbavit naivity
2.1.2013 21:36
Karel Benák | skóre: 8
| blog:
benyho
Re: LDAP + SSL TLS aneb jak se zbavit naivity
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.