Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

1 LDAP Lightweight Directory Access Protocol Adresářová služba Problémové okruhy adresářové služby LDAP Struktura, organizace a identifikace informací.

Podobné prezentace


Prezentace na téma: "1 LDAP Lightweight Directory Access Protocol Adresářová služba Problémové okruhy adresářové služby LDAP Struktura, organizace a identifikace informací."— Transkript prezentace:

1 1 LDAP Lightweight Directory Access Protocol Adresářová služba 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 LDAP

2 K čemu je LDAP určen –LDAP je aplikační protokol pro dotazování a modifikaci adresářových služeb (directory service – DS) –DS - jeden se základních nástrojů zabezpečení komunikace autentizací (centrální autentizační autorita) –DS je podporou dalších komunikačních služeb (Web, e-mail..) a vytváření uživatelských sessions. –DS může být součástí OS nebo aplikací K čemu LDAP není určen –K prezentaci dat –K přenosu objemných dat –Ke kontrole správnosti dat –K obsáhlé modifikaci dat 2LDAP

3 3

4 4 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) http://www.openldap.org –Komerční – Microsoft (Active Directory), Netscape LDAP

5 5 Charakteristika protokolu LDAP –Protokol aplikační vrstvy TCP/IP (klient – server) –Pransport 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 Základní funkční model (klient – server) 6 LDAP klient LDAP server Databáze požadavek odpověď LDAP operace Autentizace Prohledávání databáze Manipulace s daty databáze LDAP

7 7 Současná verze – LDAPv3 (RFC 4510 )RFC 4510 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 8 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

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“) 9LDAP

10 Forma uložení dat – adresářový model –Položka (záznam) – 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 10LDAP

11 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) Záznamy (entry) v adresáři musí odpovídat danému schématu. Schéma - pravidla pro strukturu a obsah adresářového stromu DIT (Directory Information Tree) Definuje třídy objektů (objectClass) pro všechny záznamy v adresářiobjectClass 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 11LDAP

12 Schémata dostupná pro danou implementaci – např. OpenLDAP –Jsou připojena 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 http://www.openldap.org/doc/admin23/schema.html 12 FileDescription core.schemaOpenLDAP core (required) cosine.schemaCosine and Internet X.500 (useful) inetorgperson.schemaInetOrgPerson (useful) misc.schemaAssorted (experimental) nis.schemaNetwork Information Services (FYI) openldap.schemaOpenLDAP Project (experimental) LDAP

13 13 LDAP Stromová hierarchie objektů – DIT (Directory Information Tree) LDAP

14 14 Příklad definic objektových tříd 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

15 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. 15 LDAP dc (Domain Component) ou (Organizational Unit) cn (Common Name) uid (User Identifier)

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 16LDAP

17 Využití OID (Object Identifier) v LDAP službě – numerická jednoznačná globální identifikace objektů (http://www.oid- info.com/ )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 17LDAP

18 Globální prostor identifikátorů informačních objektů - MIB 18

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 ) ) 19LDAP

20 Některé obvyklé atributy: 20 LDIF zkratka jménoobjectClasspopis dc domainComponentdcObjectČást doménového jména c countryNamecountry2 znakový kód země podle ISO 3166 o organizationNameorganizationJméno organizace ou organisationalUnitNameorganizationUnitJednotka/útvar organizace cn commonName person organizationalPerson organizationalRole groupOfNames applicationProcess applicationEntity Obecné jméno uid userid person organization organizationUnit Identifikační číslo uživatele mobile mobileTelephoneNumberinetOrgPerson Číslo mobilního telefonu jpegPhoto inetOrgPersonFotografie formátu jpg LDAP

21 Textový formát adresářových položek LDIF (LDAP Interchange Format) Uplatnění LDIF –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: objectClass: :.. 21LDAP

22 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 LDAP22

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 LDAP23

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 24LDAP

25 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í 25LDAP

26 Příklad XML-schema pro operaci LDAP „add- request“ top person organizationalPerson Johnson Alice Software Design Engineer 26LDAP

27 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) 27LDAP

28 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 Distribuovaná služba LDAP – odkazy a replikace –Odkazy (referrals) Obecné – v základní konfiguraci serveru je odkaz na další server (direktiva refferral – 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) 29LDAP

30 30 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=com LDAP

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

32 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 32LDAP

33 33LDAP

34 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+admini stration/http://etutorials.org/Server+Administration/ldap+system+admini stration/ 34LDAP


Stáhnout ppt "1 LDAP Lightweight Directory Access Protocol Adresářová služba Problémové okruhy adresářové služby LDAP Struktura, organizace a identifikace informací."

Podobné prezentace


Reklamy Google