Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Protokol LDAP
2
Agenda Motivace Pochopení LDAP Informační struktura Jména
Funkce a operace Bezpečnost Model protokolu Mapování na transportní služby Protokol kódování Diskuse
3
Motivace a vývoj Zvyšování spolehlivosti síťových zařízení
Potřeby v informacích Funkčnost Jednoduchost použití Administrace Konzistentní organizace Integrita Důvěrnost
4
X.500 X.500 standard. CCITT 1988 Refer ISO 9594 – X.500-X.521 of 1990
5
X.500 Organizace položek adresáře do hierarchického stromu
Výkonné prostředky pro vyhledávání Často používán pro propojení nekompatibilních systémů Používá DAP pro komunikaci klientů a serverů DAP (App. Layer) požaduje celý OSI zásobník Příliš obtížné pro malé aplikace
6
Co je to LDAP? Lightweight Directory Access Protocol
Používá se pro přístup k informaci a pro její úpravu v adresářích budovaných na X.500 model Specifikace definuje obsah zpráv přenášených mezi klientem a serverem. Zahrnuje operace pro vytváření a ukončování spojení se serverem
7
LDAP Server
8
Pochopení LDAP Zjednodušená varianta k DAP
Používá TCP/IP zásobník místo zásobníku ISO/OSI Některé funkce zjednodušuje a jiné vynechává … K reprezentaci dat používá řetězce místo DAP notace ASN.1
9
LDAP Informační struktura Jmenná struktura Funkční struktura a operace
Struktura informace uložená v LDAP adresáři Jmenná struktura Jak je informace uložena a pojmenována. Funkční struktura a operace Popisuje jak mohou být operace prováděny nad informacemi uloženými v LDAP adresáři Bezpečnost Popisuje jak může být informace chráněna před neautorizovaným přístupem
10
LDAP uložení informace
11
LDAP uložení informace
Každý atribut je popsán typem/syntaxí a hodnotou Může definovat jak se budou hodnoty chovat během operací prohledávání adresářů Syntax může být: bin, ces, cis, tel, dn, atd. bin – binární informace ces – case exact string (directory string), při porovnávání rozlišuje malá/velká písmena tel – telefonní číslo, reprezentace jako řetězec, mezery jsou ignorovány dn – rozlišující jméno (distinguished name) Generalized time – rok, měsíc, den a čas reprezentovány jako tisknutelný řetězec Postal address – poštovní adresa s řádky oddělenými znakem ‘$’
12
Obecné atributy LDAP Atribut, alias syntax popis příklad
commonName, cn cis Obecné jméno položky John Smith Surname, sn Příjmení osoby Smith telephoneNumber tel Telefonní číslo organizationalUnitName, ou Jméno organizace UWB owner dn DN osoby vlastnící položku cn=John Smith, o=UWB, c=cz organization, o jpegPhoto bin Foto v JPEG formátu Smithova fotografie
13
LDAP uložení informace
Každá položka popisuje objekt (Class) Osobu, server, zařízení, atd. Příklad položky: InetOrgPerson(cn, sn, ObjectClass) Příklad atributů: cn (cis), sn (cis), telephoneNumber (tel), ou (cis), owner (dn), jpegPhoto (bin)
14
LDAP jména DN skládá se ze sekvence relativních DN
cn=John Smith,ou=Austin,o=IBM,c=US Directory Information Tree (DIT) Vytváří se podle geografických nebo organizačních schémat Aliases: podobné stromům Aliases mohou odkazovat na uzly stromu, které nejsou listy
15
LDAP jména Schema LDAP schema musí být čitelné klientem
Definuje povolené třídy objektů Definuje kde jsou uloženy Definuje jaké mají atributy (objectClass) Definuje které atributy jsou volitelné (objectClass) Definuje typ/syntaxi každého atributu (objectClass) LDAP schema musí být čitelné klientem
16
LDAP příklady jmen atribut alias CommonName CN LocalityName L
StateorProvinceName ST OrganizationName O OrganizationalUnitName OU CountryName C StreetAddress STREET domainComponent DC Userid UID
17
LDAP funkce a operace Ověřování Dotazování Opravy
BIND/UNBIND – připojení/odpojení ABANDON – opuštění – zrušení operace Dotazování Search - vyhledání Compare entry - porovnání Opravy Add an entry – přidání položky Delete an entry (pouze listy stromu, ne aliasy) – zrušení položky Modify an entry, Modify DN/RDN (jméno, relativní jméno) – modifikace položky nebo jména položky
18
Komunikace klient/server
Klient vytváří relaci se serverem (BIND) Podle DNS jména/IP adresy a portu Bezpečnost Ověřování založené na ID uživatele a heslu Anonymní připojení – implicitní práva přístupu Podpora Kerbera a šifrování Klient provádí operace Read/Update/Search SELECT X,Y,Z FROM PART_OF_DIRECTORY Klient ukončuje relaci (UNBIND) Klient může relaci přerušit (ABANDON)
19
Operace BIND/UNBIND/ABANDON
Požadavek obsahuje verzi LDAP, jméno pod kterým se chce klient připojit, typ ověřování Jednoduché – anonymní, jednoduché nešifrované heslo Kerberos v4 k LDAP serveru (krbv42LDAP) Kerberos v4 k DSA serveru (krbv42DSA) Server odpovídá indikací stavu UNBIND: ukončuje relaci UnbindRequest ::= [APPLICATION 2] NULL ABANDON: MessageID to abandon
20
Operace vyhledávání a porovnávání
Požadavek zahrnuje baseObject: an LDAPDN Scope: kolik úrovní stromu má být prohledáváno derefAliases: zpracování aliasů sizeLimit: max počet vrácených položek timeLimit: max čas prohledávání attrsOnly: vrací typy atributů nebo také jejich hodnoty Filter: podmínky které mají být splněny při prohledávání Attributes: seznam atributů, ke kterým se hledá odpověď Čtení i výpis seznamu je realizován jako vyhledávání Porovnání: podobné vyhledávání, ale vrací true/false
21
Operace ADD/MODIFY/DELETE
Entry: LDAPDN Seznam artributů a jejich hodnot (nebo množina hodnot) Operace MODIFY Používá se k přidání, rušení a modifikaci atributů Požadavek obsahuje Object: LDAPDN Seznam modifikací (atomické provedení) Add, Delete, Replace Operace DELETE Operace MODIFY RDN: LDAPDN, newRDN, DEL_FLAG
22
LDAP zprávy LDAPMessage (MessageID unique)
23
LDAP zprávy LDAPString ::= OCTET STRING LDAPDN ::= LDAPString
RelativeLDAPDN ::= LDAPString AttributeValueAssertion ::= Sequence { attributeType attributeValue, attributeValue attributeValue } attributeType ::= LDAPString attributeValue ::= OCTET STRING
24
LDAP zprávy LDAP Result Chyby Truncated DIT RDN sequence is sent
noSuchObject aliasProblem invalidDNSyntax isLeaf etc.
25
Bezpečnost LDAP Současná verze LDAP podporuje Heslo v textové podobě
Ověřování KERBEROS v 4 SASL – Simple Authentication and Security Layer (RFC4422) Prostředek pro ověřování a zajištění bezpečných dat v Internetu Odstranění ověřovacích mechanizmů z aplikací Využití libovolného ověřovacího mechanizmu podporovaného SASL v libovolné aplikaci Nabízí též data security layer (integrita a důvěrnost dat)
26
Mechanizmus SASL Protokol pracující s výzvami a odpověďmi
Definuje následující mechanizmy: EXTERNAL - ověřování zahrnuto implicitně (IPsec, TLS) ANONYMOUS – neautorizovaný přístup PLAIN – jednoduché ověřování prostým textem – heslem OTP – jednorázové heslo – nahrazen SKEY SKEY – mechanizmus SKEY – rekurzivní generování hesla CRAM-MD5 – jednoduchá výměna výzva-odpověď založená na HMAC-MD5 DIGEST-MD5 - jednoduchá výměna výzva-odpověď pomocí HTTP založená na MD5, podpora bezpečného přenosu dat NTLM – ověřovací mechanizmus NT LAN Manager GSSAPI – ověřování Kerberos V prostřednictvím GSSAPI, podpora bezpečného přenosu dat.
27
Mechanizmus GSSAPI Generic Security Services Application Program Interface API pro přístup k bezpečnostním službám IETF standard Poskytuje 45 knihovních volání Podpora C, Java, C# Předpokládá architekturu klient/server
28
Bezpečnost LDAP Bezpečnost založená na modelu připojování (BIND)
LDAPv1 - heslo LDAPv1,2,3 – Kerberos LDAPv3 - SASL Navrhováno TLS (Transport Layer Security) Založeno na SSL v3 (Netscape)
29
Bezpečnost LDAP Bez ověřování Základní ověřování SASL (RFC 4422)
DN a heslo Otevřený text nebo kódování BASE64 SASL (RFC 4422) Parametry: DN, mechanism, credentials Zajišťuje vzájemné ověřování Případné dohadování o šifrování dat ldap_sasl_bind() (ver3 call) Ldap://<ldap_server>/?supportedsaslmechanisms
30
Bezpečnost LDAP LDAP a SASL s SSL/TLS
31
Bezpečnost LDAP Ověřování SSL/TLS
32
LDAP protokol (klient/server)
Klient aktivuje komunikaci se serverem Klient posílá serveru požadavek Server požadavek zpracuje Server vrací odpověď nebo chybu Server zpracovává požadavky asynchronně
33
Spolupráce klient/server
34
Mapování na transportní služby
LDAP používá spolehlivý přenos dat (TCP) TCP LDAPMessage PDU mapována na TCP stream LDAP naslouchá na portu 389 Connection Oriented Transport Service (COTS) LDAP PDU mapováno přímo na T-Data
35
Kódování protokolových prvků
Pro kódování zpráv se používá BER (Basic Encoding Rules) BER definováno v Abstract Syntax Notation One (ASN.1) BER má velkou režii Omezení na zvýšení efektivity Pevná délka kódovaných položek Bitové řetězce i řetězce oktetů jsou kódovány pouze v základní podobě.
36
Implementace LDAP C Library API Java JNDI
LDAPv2 - RFC 1823 ‘The LDAP API’ LDAPv3 – RFC Java JNDI LDAP v3 používá UTF-8 kódování Existuje brána LDAP HTTP Existuje brána LDAP X.500 (ldapd)
37
LDAP v2 RFC 1777: LDAP v1 RFC 1778: The String Representation of Standard Attribute Syntaxes RFC 1779: A String Representation of Distinguished Names RFC 1959: An LDAP URL Format RFC 1960: A String Representation of LDAP Search Filters
38
Verze 2 versus Verze 3 Referrals Bezpečnost Internacionalizace
Server který nemá k dispozici požadovaná data může odkázat klienta na jiný server. Bezpečnost Rozšířené ověřování s využitím Simple Authentication and Security Layer (SASL) Internacionalizace Podpora národních abeced – kódování UTF-8. Rozšiřitelnost Nové typy objektů a operací mohou být definovány dynamicky a schémata publikována standardním způsobem
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.