www.SAMURAJ-cz.com 

26.04.2024 Oto Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Autentizace v LDAPu (AD)

Neděle, 28.10.2007 14:32 | Samuraj - Petr Bouška |
Tento článek navazuje na předchozí díl, který se věnoval Adresářovým službám a LDAPu. Zde se stručně pojednává o bezpečnostním modelu LDAPu a autentizačních možnostech adresářových služeb a zaměřuje se na speciality Active Directory. Jinak řečeno, jsou zde popsány způsoby, jakými se ověřuje uživatel vůči doméně.

Autentizace

Autentizace je mechanismus, který ověřuje identitu uživatele (a nejen uživatele, ale i třeba počítače nebo služby). Měl by tedy potvrdit, že jsme osoba, za kterou se vydáváme. Většinou se používá znalost jména a hesla, v lepším případě se používá certifikát či biometrie. Jako jednofaktorová se označuje autentizace, kdy potřebujeme pouze něco vědět, tedy zadáváme heslo. Dvoufaktorová (případně vícefaktorová) je pak autentizace za pomoci čipové karty (certifikátu) a PINu, musíme něco mít a něco znát.

Bezpečnostní model LDAPu

V LDAP v3 (RFC 2251) je specifikováno, že pro bezpečnostní služby je možno použít SASL mechanismus. SASL znamená Simple Authentication and Security Layer a byl původně definován v RFC 2222 a nově v RFC 4422. V LDAP stromě v kořenovém záznamu rootDSE jsou v atributu supportedSASLMechanisms vyjmenovány podporované SASL bezpečnostní metody daného adresáře.

SASL

SASL je metoda pro přidání podpory pro autentizaci do protokolů na bázi připojení. SASL odděluje autentizační mechanismus od aplikačních protokolů, takže teoreticky aplikace, která podporuje SASL může použít libovolný autentizační mechanismus. SASL vyjednává o tom, který mechanismus je nejlepší použít (a který je možno použít). Jednotlivé mechanismy jsou pojmenovány řetězcem s max. 20 znaky a používají velká písmena, čísla a pomlčku s podtržítkem. SASL se často používá v kombinaci s TLS (Transport Layer Security).

Pozn.: Jednotlivé mechanismy jsou definovány v různých RFC.

SASL mechanismy, které podporuje Active Directory:

  • PLAIN - autentizace s jednoduchým heslem v čistém textu
  • ANONYMOUS - neautentizovaný přístup, nezasílají se žádné autentizační informace
  • NTLM - NT LAN Manager, používá se na samostatných systémech nebo pro zpětnou kompatibilitu. Používá šifrované heslo spolu s doménou a jménem. Jedná se o Microsoftí protokol, částečně zpětně kompatibilní s LANMAN a objevil se spolu s SMB protokolem. Dnes je NTLMv2 a upřednostňován je Kerberos, ale NTLM se stále používá v některých případech.
  • DIGEST-MD5 - tento mechanizmus umožňuje autentizaci pomocí hesla, ale po síti se posílá pouze hash hesla. Je podobný jako CRAM-MD5, ale navíc zajišťuje integritu a důvěrnost spojení.
  • GSSAPI - Generic Security Services Application Program Interface, RFC 2078, poskytuje možnost autentizovat se pomocí Kerberos v5 session, také poskytuje mechanizmy pro zaručení integrity a důvěrnosti spojení. Nejedná se o autentizační metodu, ale o mechanismus, který vybere nejvhodnější metodu a předává autentizační informace této metodě (službě). Poskytuje všeobecné bezpečnostní služby, které mohou být podporovány řadou podřazených mechanismů a služeb. Podporuje využití SSO (single sign on), pak se nevyplní credentials.

Pozn.: Anonymní přístup, tedy bez zadání hesla, je v AD defaultně zakázaný.

Další SASL mechanismy jsou třeba OTP (one-time password), SKEY, EXTERNAL, CRAM-MD5, SRP, GSS-SPNEGO, SECURID.

Active Directory používá ještě několik proprietálních mechanizmů pro autentizaci:

  • SSPI - Security Support Provider Interface - kvůli zpětné kompatibilitě, dnes se nedoporučuje používat, jednalo se o obdobu GSS-API.
  • DPA - Distributed Password Authentication - používá se v Microsoft Commercial Internet Systém, zašifrované heslo.

Pozn.: Bezpečnostní model LDAPu neobsahuje mechanismus pro řízení přístupu, ale AD používá ACL (access control lists) na adresářové objekty.

Kerberos V5 (Kerberos Network Authentication Service (V5)) je popsán v RFC 1510. Jedná se o nejpoužívanější metodu pro Active Directory. Definuje autentizační proces, který poskytuje metody pro ověření identity, například pro pracovní stanici či uživatele. Pro autentizaci klienti používají Kerberos tickets (lístky), které reprezentují síťové credentials (pověření) pro klienta. Klient získá ticket od KDC (Kerberos Key Distribution Center) a ukazuje tento lístek, když se vytváří síťové spojení. Kerberos představuje identitu klienta pomocí jména domény, uživatelského jména a hesla.

LDAP bind

Pokud chceme pracovat s daty adresáře, tak se musíme nejprve ověřit (autentizovat vůči adresáři). Toto ověření se provádí LDAP operací bind. Pokud chceme pouze autentizovat klienta vůči adresáři (například Active Directory) pro účely další aplikace (a ne pro přístup do adresáře), tak se běžně využívá operace bind a po jejím použití se hned odpojíme (unbind). Jinou možností je použití RADIUS (Remote Authentication Dial In User Service) serveru.

Pozn.: Připomínám, že pokud se zadá pouze jméno a prázdné heslo, tak AD předpokládá, že se jedná o anonymní přístup a vrátí, že ověření proběhlo v pořádku.

Pro autentizaci operací bind máme dvě hlavní možnosti:

  • Simple bind - používá simple authentication, pro autentizaci se používá DN jméno uživatele a heslo v čistém textu.
  • SASL bind - SASL může použít řadu typů SASL mechanismů a k tomu patřičné credentials, například protokol Kerberos nebo klientský certifikát pomocí TLS.

Pokud použijeme Simple bind, tak může dojít k odchycení hesla, proto by se mělo používat vždy ve spolupráci se šifrovaným kanálem pomocí SSL nebo TLS.

Odkazy

zobrazeno: 87616krát | Komentáře [6]

Autor:

Související články:

Active Directory a protokol LDAP

Správa počítačové sítě ala Microsoft, to je Active Directory. Jedná se o velice rozsáhlou skupinu technologií a služeb. Základem jsou adresářové služby, adresáře a komunikační protokol LDAP.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Michal

    V práci se dost hádáme, jestli "autentizace" nebo "autentikace" a nakonec jsme se shodli že k "Authentication" je nejblíže autentikace .... nebo ne? ;-)

    Neděle, 28.10.2007 19:26 | odpovědět
  2. [2] Samuraj

    odpověď na [1]Michal: Tohle je zajímavé téma a kdysi jsem o něm také přemýšlel. Nakonec jsem se přiklonil k užívání slova autentizace, i když myslím, že ostatní mají stejný význam. Nejlepší by asi bylo používání českého slova ověřování, ale to se moc neujalo.

    Když jsem se podíval do slovníku, tak například slovo authenticity znamená autentičnost a odsud by mohlo být autentizace.

    Ještě jsem si vzpomněl, že jsem na toto téma kdysi četl zajímavý článek a podařilo se mi ho najít: interval.cz/clanky/hrichy-pro-sileneho-korektora-autentizace-autentikace-nebo-autentifikace/

    Neděle, 28.10.2007 19:57 | odpovědět
  3. [3] Karel

    Autentikace - proboha! Copak Vás to netahá za oči nebo za uši? Což takhle místo diskuse v práci zkusit pravidla čského pravopisu?

    Pondělí, 26.11.2007 21:57 | odpovědět
  4. [4] Mreik

    Ahoj, já tomu AD pořád nerozumím :-(. Přečetl jsem kde co, ale nikde jsem se nedočetl třeba na jakým portu běží ten AD server. Je to vůbec klient-server? LDAP jsem pochopil ale to ADčko teda ani omylem. Asi by to chtělo něco si zkusit rozjet, ale bohužel k tomu nemám prostředky.

    Úterý, 27.11.2007 13:36 | odpovědět
  5. [5] Samuraj

    odpověď na [4]Mreik: Není to úplně jednoduché, pokusím se to vysvětlit, ale doufám, že se nezamotám do terminologie. Jinak počítám, že jsi koukal na články, které jsou uvedeny jako související.

    Active Directory je distribuovaná adresářová služba od MS, je součástí Windows Server 2000/2003. Když AD nainstalujeme, tak se server stává doménovým řadičem. Potom se k tomu přidává řada termínů jako doména, strom a les.

    AD v sobě zahrnuje řadu služeb. Jeho primární role je poskytování centrálních služeb pro autentizaci a autorizaci (tedy správa uživatelů). Ale mohou se do něj integrovat informace pro poštovní služby, informace aplikací, správa politik a mnoho dalšího. Také je integrováno s DNS.

    Pro komunikaci s AD můžeme použít řadu protokolů. Jedním z nich je LDAP, takže pak se využívají (běžně) standardní porty 389 a 636. Jiný port (a protokol) se použije pro replikaci mezi řadiči (port 135). Potom se používá např. Kerberos (port 88). Také se využívá SMB over IP (port 445).

    Úterý, 27.11.2007 16:51 | odpovědět
  6. [6] katrine

    I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well

    www.freelanceweb-seo.com

    Pátek, 29.07.2016 20:02 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách