( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
LDAP - základ Windows domény - Active Directory ~ LDAP
Kerberos - základ Windows domény - autentizace počítačů a uživatelů
SAML2 - propojení intranetu s internetem
Lightweight Directory Protocol - adresářová služba
široce podporováno v informačních systémech
uložení informací popisujících organizaci ve standardním datovém modelu
standardní protokol pro přístup k datům ve standardním datovém modelu
organizační struktura
uživatelé
skupiny
další zdroje (počítače, tiskárny, místnosti, …)
LDAP: Roadmap RFC4510
LDAP: The Protocol RFC4511
LDAP: Directory Information Models RFC4512
LDAP: Authentication Methods and Security Mechanisms RFC4513
LDAP: String Representation of Distinguished Names RFC4514
LDAP: String Representation of Search Filters RFC4515
LDAP: Uniform Resource Locator RFC4516
LDAP: Syntaxes and Matching Rules RFC4517
LDAP: Internationalized String Preparation RFC4518
LDAP: Schema for User Applications RFC4519
stromová struktura - Directory Information Tree (DIT)
uzel stromu - entry
entry - obsahuje atributy
atribut je dvojice
popis (cn, o, l, name, o, ou, givenName, firstName, member)
jedna nebo více hodnot
hodnota
data, jejichž význam je definován schematem a syntaxí
schema - využívá se OID
definuje typy atributů
porovnávací pravidla
syntaxe atributu
definuje typy atributů
základní schéma v RFC4519
hierarchické (subtype/supertype)
( 2.5.4.41 NAME 'name' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
( 2.5.4.7 NAME 'l' SUP name )
objektový model typů entry s děděním
definuje možné hodnoty atributů
základní syntaxe v RFC4517
jednoduché - DirectoryString, Numeric
strukturované - ASN.1 struktury pro různé účely
distinguished name (DN)
cesta ve stromové struktuře
analogie absolutní cesty na souborovém systému
uspořádaný seznam RDN
relative distinguished name (RDN)
rozlišení na jedné úrovni stromu
jeden nebo více atributů s hodnotou
bind - přihlášení
search - vyhledávání
update - zápis
podporuje různé metody pomocí SASL
simple bind
využívá atributy typu password, který má speciální vlastnosti
ověří shodu hesla
sada atributů, které mají být získány
kontext - DN - odkud začíná hledání
hloubka - aktuální entry, jedna úroveň, celý podstrom
filtr
hodnoty atributů hledané entry
(&(objectClass=*)(mail=xxx@zzzz.cz))
SQL ekvivalenty
SELECT
FROM
WHERE
umožňuje zapsat dotaz do LDAP jako URL
ldap://host:port/dn?attributes?scope?filter
ldap://ldap1.example.net:6666/o=University of Michigan, c=US?mail?sub?(cn=Somebody)
modify
add
delete
modify DN
speciální formát LDIF - textový formát pro zápis operací
Windows Active Directory
konfigurace přihlášení v Apache HTTPD
Domain Controller - LDAP server
> nslookup > set type=SRV > _ldap._tcp.domena.com
na serveru nástroj ADSI Edit
my budeme k ukázkám používat Apache Directory Studio
pracuje s basic autentizací - uživatelské jméno a heslo je přenesené v hlavičce HTTP požadavku
fáze autentizace
vyhledání uživatele podle zadaného username
provedení simple bind pomocí vyhledaného záznamu a hesla z HTTP požadavku
fáze autorizace - podle konfigurace je prověřováno
příslušnost ke skupině
existence atributu s konkrétní hodnotou
pozitivní výsledek konkrétního filtru
protokol pro autentizaci v lokální síti
single sign on - SSO - jedno přihlášení se přenáší mezi službami
vyžaduje synchronizovaný čas na všech počítačích
založen na tzv.ticketech
základní Ticket Granting Ticket
reprezentuje session a zpřístupňuje další služby
oboustranná autentizace
možnost delegace oprávnění apod.
ticket - struktura umožňující autentizovat
principal - entita, kterou je možné autentizovat
user principal name - identifikátor uživatele
service principal name - provázání služby na konkrétní účet
<service class>/<host>:<port>/<service name>
LDAP/SE-DCxxx.xxxxx.com/groupinfra.com
host/cz410000vm2.xxxxx.com
všudypřítomný
přihlášení uživatele na počítač
přístup ke sdíleným diskům, tiskárnám apod.
každá aplikace může použít Kerberos pro autentizaci
SPNEGO - použití ve Web aplikacích
příkaz
klist
klist purge
"outsourcing" autentizace
účastníci
spoléhající strana
relying party - RP
service provider - SP
poskytovatel identity
identity provider - IdP
protokoly
Kerberos (částečně pomocí trustu)
SAML2
OpenID Connect
za jednotným protokolem může být libovolný způsob autentizace
Federalizační protokol
založený na XML
IdP na žádost RP generuje tzv. assertions
identita
členství ve skupině
… cokoli …
postupem času mnoho rozšíření, vlastností
existují různé scénáře - my se soustředíme na ten nejobvyklejší
metadata SP definují
požadavky na odpověď
povolené návratové (a jiné) URL
certifikáty a klíče
metadata IdP
vlastnosti požadavku
URL pro zahájení autentizace
URL pro získání assertions
podporované scénáře
certifikáty a klíče