OpenLDAP: Porovnání verzí
(Založení stránky) |
(Žádný rozdíl)
|
Verze z 22. 8. 2013, 20:12
LDAP umožňuje vést samostatnou databázi uživatelů, která je přístupná jak systému, tak dalším programům (např. Samba, RADIUS server atd).
Obsah
Konfigurace v Centos 6
OpenLDAP používá od verze 2.3 novou hierarchii konfiguračních souborů, které se nacházejí v adresáři /etc/openldap/slapd.d a není zde žádný /etc/openldap/slapd.conf. Tomu je přizpůsoben i tento návod.
Instalace
yum -y install openldap openldap-clients openldap-servers
Heslo správce LDAP
Heslo správce umožňuje nejsilnější způsob přístupu k LDAP serveru. Je uloženo v konfiguračním souboru. Může být buď v otevřené formě nebo v podobě hashe, který vám vygeneruje příkaz slappasswd.
slappasswd
Heslo vložte do konfiguračního souboru pomocí nějakého editoru, například:
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
Do souboru pak vložte řádek, který je výstupem předchozího příkazu, tj. něco jako:
... olcRootPW: {SSHA}VystupPrikazu-slappasswd ...
Změna cn a dc
V konfiguračních souborech je nutné změnit cn (přihlašovací jméno správce) a dc (doménu LDAP stromu). Tj. změnit „cn=Manager,dc=my-domain,dc=com“ na něco, co vám vyhovuje, například „cn=admin,dc=pslib,dc=cz“. CN označuje v hantýrce LDAP přihlašovací jméno a DC pak doménu (zde je správcem tedy uživatel admin). Nepoužívejte jako jméno cn=root, protože OpenLDAP si s tím pak nebude vědět rady (root je specifické označené kořene LDAP stromu). Obvykle se používá existující název domény, kterou organizace používá i na Internetu (zde pslib.cz).
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
Ochrana hesel
Je vhodné, aby si uživatelé nemohli navzájem číst hashe hesel. Hashovací funkce je sice jednosměrná, takže není možné ze zakódovaného tvaru (hashe) získat zpět původní heslo, ale lze použít útok hrubou silou a duhové tabulky. Proto je potřeba hashe chránit.
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
V souboru doplňte (nezapomeňte přizpůsobit „cn=admin,dc=pslib,dc=cz“ své potřebě:
olcAccess: {0}to attrs=userPassword by self write by dn.base="cn=admin,dc=pslib,dc=cz" write by anonymous auth by * none olcAccess: {1}to * by dn.base="cn=Manager,dc=acme,dc=com" write by self write by * read
Výše uvedená pravidla povolují uživateli číst jen hash svého hesla. Jen správce LDAP (viz výše, zde je to admin) může číst a zapisovat jakékoliv heslo. Všichni (i anonymní) mohou číst všechny atributy (kromě zmíněného hesla) všech ostatních uživatelů.
Spuštění OpenLDAP serveru
Nastavte automatické spuštění služby slapd při startu a pak server restartujte (pokud ještě neběží, chybu ignorujte):
chkconfig slapd on service slapd restart
Kořen LDAP stromu
Vytvořte soubor pslib.ldif
:
dn: dc=pslib,dc=cz objectClass: dcObject objectClass: organization dc: pslib o : pslib
Spusťte příkaz:
ldapadd -f pslib.ldif -D cn=admin,dc=pslib,dc=cz -wkolo
Výstupem by mělo být:
adding new entry "dc=pslib,dc=cz"
Pokud je vypsána chyba „ldap_bind: Invalid credentials (49)“, je ve dvojici jméno správce a jeho heslo chyba. Zkontrolujte, zda jste všude použili stejnou definici „cn=admin,dc=pslib,dc=cz“ a nezapomněli někde něco původního.
Otestujte správné vytvoření stromu LDAP příkazem:
ldapsearch -x -LLL -b dc=pslib,dc=cz
Výstupem by mělo být:
dn: dc=pslib,dc=cz objectClass: dcObject objectClass: organization dc: pslib o: pslib