1 / 34

LDAP

LDAP. Problémové okruhy adresářové služby LDAP Struktura, organizace a identifikace informací Operace nad uloženými informacemi Zabezpečení přístupu k uloženým informacím. Lightweight Directory Access Protocol Adresářová služba. LDAP. K čemu je LDAP určen

orsen
Download Presentation

LDAP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LDAP • Problémové okruhy adresářové služby LDAP • Struktura, organizace a identifikace informací • Operace nad uloženými informacemi • Zabezpečení přístupu k uloženým informacím Lightweight Directory Access Protocol Adresářová služba LDAP

  2. LDAP • K čemu je LDAP určen • Jeden se základních nástrojů zabezpečení komunikace autentizací • Je podporou dalších komunikačních služeb (Web, e-mail ..) a vytváření uživatelských sessions. • K čemu LDAP není určen • K prezentaci dat • K přenosu objemných dat LDAP

  3. LDAP LDAP

  4. LDAP • LDAP – otevřený standardní protokol Internetu pro přístup k adresářovým službám • Podpora lokalizace organizací, osob a dalších zdrojů (soubory, zařízení …..) - v síti Internet a intranetech • Původ – protokol DAP ze specifikace X.500 (ITU-T) a ISO/IEC 9594 (ISO) • Implementace LDAP • Nekomerční – University of Michigan – OpenLDAP (http://www.openldap.org) • Komerční – Microsoft (Active Directory), Netscape LDAP

  5. LDAP • Charakteristika protokolu LDAP • protokol aplikační vrstvy TCP/IP (klient – server) • transport protokolem TCP nebo UDP – port 389 • při použití SSL/TLS – port 636 (LDAPS) • Distribuovaný systém • hlavní adresář a replikace (princip master server a slave server) • synchronizace periodická (replikační démon) • Implementace - programový balík • Server démon • Replikační démon • Knihovní funkce (pro implementace klienta do různých aplikací) • Samostatné implementace klienta LDAP

  6. LDAP • Základní funkční model (klient – server) požadavek LDAP klient LDAP server odpověď • LDAP operace • Autentizace • Prohledávání databáze • Manipulace s daty databáze Databáze LDAP

  7. LDAP • Současná verze – LDAPv3 (RFC 3377) • Dokumentace – RFC 4510 - 4521 • Charakteristika protokolu • IPv4 a IPv6 • Podpora silné autentizace (certifikát) a bezpečnosti informace (důvěrnost a integrita kryptografickými mechanizmy) • Bezpečný transport (SSL/TLS) • Internacionalizace (podpora Unicode) • Server vrací v odpovědi data nebo odkaz na jiný server (rekurze nebo iterace) • Podpora nespojované komunikace (nad UDP) pro aplikace s jednoduchými dotazy – pro urychlení odpovědí LDAP

  8. LDAP • LDAP Message – „obálka“ s daty • messageID - identifikátor zprávy (pro párování request – response) • protocolOp - typ operace (20 typů request/response) • controls - volitelná položka obsahující rozšiřující data zprávy IP TCP messageID protocolOp controls LDAP data LDAP

  9. LDAP • Komunikace • Klient naváže spojení (operace „binding“) – klient musí znát IP adresu + port LDAP serveru) • Bez autentizace (anonymní) – veřejná data • S autentizací (prokázání identity) – privátní data • Klient vysílá požadavky – operace nad daty • Server vysílá odpovědi na požadavky Příklad: BindRequest - BindResponse ModifyRequest - ModifyResponse AddRequest – AddResponse DelRequest - DelResponse • Klient uzavře spojení (operace „unbinding“) LDAP

  10. LDAP • Forma uložení dat – adresářový model • Položka – entry • Atribut položky - attribute • Jméno – name • Typ atributu • int (integer) • bin (binary data) • cis (case insensitive string) • ces (case exact string) • dn (distinguished name) • tel (telephone number) • Hodnota - value LDAP

  11. LDAP • Typ atributu určuje • Způsob zápisu hodnoty atributu, tj. syntaxi • Způsob zacházení s hodnotou atributu při manipulaci s daty (add, delete, replace) • „Schema“ - pravidla pro strukturu a obsah adresářového stromu DIT • Definuje třídy objektů (objectClass) pro všechny záznamy v adresáři – každý záznam má přiřazen min. jednu třídu - objectClass je povinným atributem • Definuje množinu povinných a nepovinných atributů (MUST, MAY) • Definuje jednotlivé atributy LDAP

  12. LDAP • Schémata dostupná pro danou implementaci – např. OpenLDAP • Jsou připojeny k LDAP démonu prostřednictvím konfiguračního souboru • Možnost vytváření lokálních schémat - http://www.openldap.org/doc/admin23/schema.html LDAP

  13. attributetype ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' ) DESC 'RFC2256: organizational unit this object belongs to' SUP name ) attributetype ( 2.5.4.42 NAME ( 'givenName' 'gn' ) DESC 'RFC2256: first name(s) for which the entity is known by' SUP name ) objectclass ( 2.5.6.5 NAME 'organizationalUnit' DESC 'RFC2256: an organizational unit' SUP top STRUCTURAL MUST ou MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) ) objectclass ( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) LDAP

  14. LDAP Stromová hierarchie objektů – DIT (DirectoryInformationTree) DNS Geografická uzly listy LDAP

  15. LDAP • Jednoznačná identifikace položek v globálním jmenném prostoru DIT – DN (Distinguished Name). • Pojem „Relative Distinguished Name“ – jednoznačná identifikace položky v rámci jedné větve DIT. • Řetězec RDN vytváří DN. LDAP

  16. LDAP • Třída objektu popisuje konkrétní objekt (osobu, organizaci, ….), má třídu nadřazenou a může mít třídy podřazené • Definice tříd objektů pro všechny typy položek v adresáři jsou ve schematu • Tři typy tříd objektů: abstraktní (abstract), strukturální (structural) a doplňkové (auxiliary) • Hierarchie tříd objektů – princip dědičnosti LDAP

  17. LDAP • Využití OID (Object Identifier) v LDAP službě – numerická jednoznačná globální identifikace objektů (http://www.oid-info.com/ ) • Sufix 1.3.6.1.4.1.XXXXX přidělí IANA pro privátní větve adresářové hierarchie (např. Cisco - 1.3.6.1.4.1.9, IBM - 1.3.6.1.4.1.4, Stanford University - 1.3.6.1.4.1.255 …) • OID 1.3.6.1.4.1.1466.115.121.1 – syntaxe datových formátů LDAPv3 • 1.3.6.1.4.1.1466.115.121.1.5 - Binary syntax • 1.3.6.1.4.1.1466.115.121.1.6 - Bit string syntax • 1.3.6.1.4.1.1466.115.121.1.16 - DIT Content Rule syntax • 1.3.6.1.4.1.1466.115.121.1.50 - Telephone number syntax LDAP

  18. LDAP • Globální prostor identifikátorů informačních objektů iso-memeber-body (2) iso (1) ccitt (0) iso-ccitt (2) czech_rep (203) org (3) usa (840) dod (6) directory (1) internet (1) InternetováSMI experimental (3) private (4) mgmt (2) security (5) snmpV2 (6) IANA- registered private enterprises (1) Stanford Univ. (299) IBM (4) Cisco (9) 1.3.6.1.4.1.4 1.3.6.1.4.1.9 …… Privátní OID LDAP

  19. LDAP • Záznam uživatele v /etc/passwd objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' SUP top AUXILIARY DESC 'Abstraction of an account with POSIX attributes' MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) ) • Záznam uživatele v /etc/shadow objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount' SUP top AUXILIARY DESC 'Additional attributes for shadow passwords' MUST uid MAY ( userPassword $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag $ description ) ) LDAP

  20. LDAP • Některé obvyklé atributy: LDAP

  21. LDAP • Textový formát adresářových položek LDIF (LDAP Interchange Format) • Pro zápis adresářových položek • Pro zápis příkazů modifikace položek • Pro hromadné změny dat a export a import mezi servery • Struktura LDIF • Každá položka je reprezentována jedním blokem • Bloky jsou odděleny prázdným řádkem • Struktura bloku: dn: <rozlišovací jméno> objectClass: <třída objektu> <jméno atributu>: <hodnota atributu>.. LDAP

  22. LDAP • Příklad LDIF souboru: base.ldif dn: dc=lab,dc=net dc: lab objectClass: top objectClass: domain dn: ou=People,dc=lab,dc=net ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=lab,dc=net ou: Group objectClass: top objectClass: organizationalUnit LDAP

  23. LDAP • Příklad záznamu ze souboru passwd_students_ipi.ldif dn: uid=xhemala0,ou=People,dc=lab,dc=net uid: xhemala0 cn: Jakub Hemala sn: Hemala objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {MD5}gWkZi09CZV3f+RzvpGgrKA== shadowLastChange: 13907 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 11124 gidNumber: 11000 homeDirectory: /home/xhemala0 LDAP

  24. LDAP • Příklad LDIF záznamu pro uživatele elektronické pošty: dn: uid=john,o=Example Corp,c=US objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: inetLocalMailRecipient objectClass: xyzMailUser cn: John Doe sn: Doe uid: john userPassword: {crypt}y2KxtbzMYnApU mail: john@example.com mailLocalAddress: john@example.com LDAP

  25. LDAP • Alternativa LDIF – DSML (Directory Service Markup Language) • Současná verze DSMLv2.0 • XML formát pro adresářová data • Perspektivní způsob zajištění adresářových služeb v aplikacích vycházejících z webových technologií a Java technologií LDAP

  26. LDAP Příklad XML-schema pro operaci LDAP „add-request“ <addRequest dn="CN=Alice,OU=HR,DC=Example,DC=COM"> <attr desc="objectclass"><value>top</value></attr> <attr desc="objectclass"><value>person</value></attr> <attr desc="objectclass"><value>organizationalPerson</value></attr> <attr name="sn"><value>Johnson</value></attr> <attr name="givenName"><value>Alice</value></attr> <attr name="title"><value>Software Design Engineer</value></attr> </addRequest> LDAP

  27. LDAP • Bezpečnostní aspekty služby LDAP • Autentizace (operace bind, unbind, abandon) • Přístup bez autentizace (anonymní) k veřejným informacím • Jednoduchá autentizace – klient zadá DN uživatele + heslo (je uloženo jako hodnota atributu v příslušné položce) • Přes rozhraní SASL (Simple Authentication and Security Layer) • Klient předá LDAP serveru DN autentizační entity, autentizační mechanismus (TLS/SSL) a autentizační data (credentials) • Autentizační modul provede autentizaci klienta • Autorizace • Na principu ACL – není součástí specifikace LDAP • Zabezpečení proti odposlechu • Přes vrstvu SSL/TLS - port 636 (LDAPS) LDAP

  28. LDAP • Konfigurovatelné oprávnění pro uživatele • bez povolení přístupu k datům • k porovnání hodnot jmen (LDAPDN) • k vyhledání jmen (informace o jejich existenci) • ke čtení hodnot atributů jmen • k zápisu hodnot atributů jmen • k výmazu jména • Adresář – soubor položek • položka „entry“ – množina atributů (typ – hodnota/hodnoty) • identifikace atributu – LDAPOID (řetězec oktetů v dekadické tečkové notaci) nebo LDAPDN (mnemotechnický textový řetězec) LDAP

  29. LDAP • Distribuovaná služba LDAP – odkazy a replikace • Odkazy (referrals) • Obecné – v základní konfiguraci serveru je odkaz na další server (direktiva refferall – příklad: referral ldap://ldap-services.example.com:10389) • Pro aktualizaci databáze na straně slave – konfiguraci je direktivou updateref – příklad updateref ldap://ldap-master.example.com) • Odkazy objektů (objectClass referral) – viz dále • Replikace • konfigurace master – slave (update z jednoho master serveru na jeden nebo více slave serverů) • konfigurace multi-master (vzájemný update mezi dvěma nebo více master servery) LDAP

  30. LDAP • Princip řetězení dotazů atributy objectClass referral Definice pro odkaz ze serveru LDAP1 na LDAP2: dn: o=grommets,dc=example,dc=com objectClass: referral objectClass: extensibleObject o: grommets ref: ldap://ldap2.example.com/o=grommets,dc=example,dc=net LDAP

  31. LDAP • Principy replikace master – slave a multi-master LDAP

  32. LDAP • Implementace OpenLDAP • LDAP servis • LDAP demon – slapd • Konfigurace demona - /etc/openldap/slapd.conf • Správa databáze • Utility pro manipulaci s adresářovými daty na serveru se spuštěným demonem - ldapadd, ldapsearch, ldap modify, ldapdelete …. • Utility pro vytvářeni databáze (LDIF formátu) - slapcat, slapadd, slaptest … • Další nástroje – LDAP browser LDAP

  33. LDAP

  34. LDAP • Související systémová nastavení • NSSWITCH – LDAP jako zdroj informací /etc/nsswitch.conf passwd: files ldap shadow: files ldap group: files ldap • NSCD (Name Service Cache Daemon) - vytváření cache systémové tabulky z ldap odpovědí - /etc/nscd.conf • PAM_LDAP (autentizační modul) - /etc/pam_ldap.conf • http://etutorials.org/Server+Administration/ldap+system+administration/ LDAP

More Related