e2848036302eb53d49aa9cf0fdd3f0ac.ppt
- Количество слайдов: 54
Windows User Group. CZ Troubleshooting Active Directory #1 (C) Ondřej Ševeček ondra @ sevecek. com
Obsah přednášky § § § § Autentizační metody NTLM autentizace ve Windows Kerberos v 5 autentizace ve Windows Synchronizace času Active Directory a DNS Logon process Nástroje pro řešení problémů Active Directory a Kerberos § Inteoperabilita
Autentizační metody § NT Lan Manager (NTLM) § Challenge – response autentizace § Používaná staršími OS Windows 9 x, NT, MS-DOS, OS/2 § Kompatibilita s Windows 2000, XP, 2003, … § Několik verzí LM, NTLMv 2 § Kerberos v 5 § Vztahy důvěry podobně jako PKI § Jen Windows 2000, XP, 2003, … § Interoprabilita (MIT Kerberos server)
Authentication Provider § Security Support Provider (SSP) §. DLL instalovatelný modul § HKLM System Current. Control. Set Control LSA Authentication. Packages § § MSV 1_0 – NTLM Kerberos SChannel – SSL, TLS WDigest – digest authentication § Musí být vyzkoušeny a podepsány MS
NT Lan Manager (NTLM) § Challenge – response autentizace § Prokazování identity klienta na základě znalosti sdíleného tajného hesla § Heslo necestuje sítí v otevřené podobě § Autentizuje se pouze klient serveru, nikoliv server klientovi – není to mutual autentizace § Neposkytuje delegování identity (identity delegation) § Různé délky hesla v různých verzích protokolu § Náchylné na reply attack § Všechny systémy Windows obsahují NTLM Security Support Provider (NTLMSSP) § Passthrough autentizace vyžaduje konektivitu serveru a DC
Průběh autentizace NTLM Jméno počítače Klient Type 2 Chci se autentizovat Doména LM vs. NTLMv 2 … Tohle mi zašifruj naším heslem Challenge (64 bit) Type 3 LM / LMv 2 Jméno uživatele Posílám odpověď NTLM / NTLMv 2 Doména Jméno stanice Server Type 1
NT Lan Manager (NTLM) § LM Response (< 3*7 byte DES) § „ 7“ znaků heslo velkými písmeny, DES 56(Challenge) § NTLM Response (< 3*7 byte DES) § MD 4 hash (128 bit) hesla, DES 56(Challenge) § NTLMv 2 a LMv 2 Response (2*16 byte MD 5) § § § Stejné heslo pro různé servery vypadá jinak Obsahuje časové razítko (timestamp) Obsahuje client challenge pro mutual authentication Používá MD 4 a HMAC-MD 5 hash (128 bit) LMv 2 pouze kvůli pass-through kompatibilitě Autorizační data jsou digitálně podepsána
LM Metoda N Heslo uživatele 14 HESLOUZIVATELE 7 HESLOUZ 8 DES 16 KGS!@#$% Útok 8 24 IVATELE 8 DES LM 21 7 7 Heslo <= 7 HASH Registry LM Hash #1 DES Challenge LM Response #1 0 xaad 3 b 435 b 5 1404 ee KGS!@#$% 7 8 00000 Hash #2 DES Challenge LM Response #2 7 8 Hash #3 00000 DES Challenge LM Response #3
NTLM Metoda N Heslo uživatele MD 4 (RFC 1320) Registry 16 NTLM Hash 21 LM Hash Útok 7 Hash #1 8 DES Challenge 24 NTLM Response #1 7 8 00000 Hash #2 DES Challenge NTLM Response #2 7 8 Hash #3 00000 DES Challenge NTLM Response #3
NTLMv 2 Metoda N Heslo uživatele MD 4 (RFC 1320) N USER NAME TARGET SERVER NAME 16 NTLM Hash HMAC-MD 5 (RFC 2104) Registry 16 NTLMv 2 Hash Útok N HMAC-MD 5 (RFC 2104) 16 Hashed value of blob N Blob Timestamp Blob Client Challenge Target Info N NTLMv 2 Response Challenge
LMv 2 Metoda N Heslo uživatele MD 4 (RFC 1320) N USER NAME TARGET SERVER NAME 16 NTLM Hash HMAC-MD 5 (RFC 2104) Registry 16 NTLMv 2 Hash Client Challenge 8 Útok 8 Challenge HMAC-MD 5 (RFC 2104) 16 24 Hashed value of challenges 8 Client Challenge LMv 2 Response
NTLM Passthrough autentizace 1 Klient 2 3 Server 1 DC 2 3
NTLM autentizace ve Windows § Registrové nastavení ve Windows § HKLM System Current. Control. Set Control LSA LMCompatibility. Level = REG_DWORD
NTLM autentizace ve Windows § Group Policy § Windows 2000 § Windows XP/2003
NTLM kompatibilita ve Windows § Windows 2000, XP, 2003, … § NTLMv 2, LMv 2 a starší § Windows 95, 98, NT 4. 0 § NTLM, LM § Po instalaci “Directory Services Client” (DS Client) NTLMv 2, LMv 2 § DS Client § Nepodporuje Kerberos, pouze DNS vyhledávání § NT 4. 0 SP 4 – k dispozici na CD Windows 2000, … § 9 x – www. microsoft. com
Kerberos (RFC 1510) § Trojhlavý pes hlídající vstup do podsvětí § Authentication, Access Control, Auditing § Symetrická kryptografie § Vztahy důvěry podobně jako asymetrická § Vzájemná (mutual) autentizace § Klient si je jist, že hovoří se serverem, který zná jeho heslo § Transitive trust § Není potřeba passthrough autentizace § Rychlejší než NTLM § RC 4 -HMAC (128 -bit) § „Use DES encryption types for this account“ – uživatelský učet § Delegation § Využívá Active Directory k ukládání účtů
(Non)transitive Trusts § Windows NT 4. 0 § Windows 2000
Kerberos – základ autentizace Tajné heslo Jméno uživatele Časové razítko Server Tajné heslo Mutual Authenticator Klient
Key Distribution Center Server Master Key Server Důvěra 3 Databáze (Master keys) uživatelská hesla serverů User Master Key 1 Klient 2 KDC Authentication Service Ticket Granting Service
Key Distribution Center Server Master Key Server Důvěra Ticket Databáze (Master keys) uživatelská hesla serverů User Master Key Autentizace Klient KDC Ticket Authentication Service Ticket Granting Service
TGT a TGS Ticket-Granting Ticket Granting Service Server Master Key Server TGS Autentizace User Master Key Důvěra Databáze (Master keys) uživatelská hesla serverů TGT Klient TGT TGT TGS TGS KDC Authentication Service Ticket Granting Service
Kerberos Ticket § Bezpečný přenos session key § § § § Session key používán k šifrování komunikace klient-server, klient-KDC Bezpečnější než šifrování přihlašovacím heslem (master key) Session key náhodně generován KDC přihlašování Použitelný jen omezenou dobu Časové razítko (timestamp) zajišťuje ochranu proti replay attack Klient ukládá tikety do cache (non-paged) – State-less na straně serveru – Pouze po dobu logon session Session key je možno použít také k podepisování a šifrování další komunikace – SMB Signing
Kerberos autentizace – TGT Chci se přihlásit Klient KDC AS Moje jméno je Ondra Master Key (heslo) Ondra Authenticator 15: 25: 03 TGT Klient KDC AS Uživatel: Ondra TTL, Flags Master Key (heslo) KDC Session Key KDC Master Key KDC Session Key
Kerberos autentizace – TGS Chci se připojit k Serveru Klient KDC TGS TGT KDC Session Key Ondra Authenticator 15: 27: 18 TGS Klient KDC TGS Jméno serveru: Server Jméno klienta: Ondra TTL, Flags KDC Session Key Server Master Key Server Session Key
Kerberos autentizace – Server Chci se k tobě připojit Klient Server TGS Server Session Key Ondra Authenticator 15: 39: 25 OK. Taky se autentizuji Klient Server TGS Server Session Key Server 15: 39: 48 Authenticator
Kerberos autentizace – Celek User MK KDC SK Klient Authenticator KDC SK Authenticator KDC MK KDC SK Server MK Server SK Authenticator KDC AS KDC TGS Server MK Server SK Data …
Použití vs. trvanlivost klíčů § § Nebezpečí off-line brute force útoku Četnost použití klíče User Master Key Server Master Key KDC Session Key Server Session Key § Trvanlivost klíče User Master Key (40 dní default) Server Master Key (30 dní default) KDC Master Key (8 dní default) KDC Session Key (TGT lifetime 10 hours) Server Session Key (TGS lifetime)
Časová synchronizace 1. Klient požaduje službu po serveru 2. Authenticator je poslán na server § Obsahuje timestamp klienta (GMT) 3. Vejde se timestamp do limitu (5 min. )? § § Pokud ano, pokračuje se následujícím krokem Pokud ne, server pošle klientovi svůj lokální čas a klient vytvoří nový authenticator a předá ho serveru 4. Server prohlédne svou lokální cache § Pokud v ní již takový tiket existuje, požadavek je zamítnut (replay attack)
Časová synchronizace PDC root domain PDC child domain root domain Member Server Workstation
Vyhledávání DC – DNS § § § § Vyhledávání DC Už ne Net. BIOS SRV záznamy Vliv topologie „sites“ § DS Client § Vyhledávání pomocí DNS i pro starší klienty
Spolupráce DC – DNS § Služba Net. Logon § Při startu PC provádí dynamickou registraci SRV a A záznamů daného DC do DNS SRV – _msdcs. <domainname> SRV – gc. _msdcs. <forestrootdomainname> § Přeregistrace každých 60 min. § Secure Dynamic Update § Vypnutí automatické registrace (restart služby) HKLM System Current. Control. Set Services Net. Logon Parameters Use. Dynamic. DNS = REG_DWORD = 0 / 1 Register. DNSARecords = REG_DWORD = 0 / 1 § Manuální registrace DNS záznamů § %systemroot% System 32 Config Net. Logon. DNS § Deregistrace při odinstalaci (DCPROMO) § Vyžaduje korektní shutdown kvůli likvidaci RR.
Přihlášení do domény § Ondra … PC 01 1 TGT Request 2 TGT Počítač: PC 01 3 TGS Request pro PC 01 4 TGS pro PC 01 Uživatel: Ondra czech. world. local
Přihlášení do trusted domény 1 § Uživatel se přihlašuje na počítač v jiné doméně § Ondra … PC 01 world. local (root) GC Global Catalog Počítač: PC 01 france. world. local Uživatel: Ondra czech. world. local
Přihlášení do trusted domény 2 world. local (root) GC Global Catalog 1 TGT Request 2 Počítač: PC 01 france. world. local 3 TGT TGS Request pro PC 01 4 TGS pro worl. local REFERAL ticket Uživatel: Ondra czech. world. local
Přihlášení do trusted domény 3 world. local (root) 5 TGS Request pro PC 01 6 TGS pro france. local REFERAL ticket Počítač: PC 01 france. world. local 3 TGS Request pro PC 01 4 TGS pro worl. local REFERAL ticket Uživatel: Ondra czech. world. local
Short-cut trusts Počítač: PC 01 Uživatel: Ondra
Účty pro autentizaci § Účet počítače - host 01$ § Heslo uloženo v registrech § MD 4 hash hesla uložena v Active Directory § HKLM System Current. Control. Set Services Netlogon Parameters Maximum. Password. Age = REG_DWORD § Účet uživatele – user 5 § Heslo uloženo v mozku (čipové kartě) § MD 4 hash uložena v Active Directory § Domain Group Policy – Account Policies § Domain trust – subdomain$$ § Heslo i hash uloženy v příslušné Active Directory § Musí existovat 2 účty pro vzájemnou důvěru § „Když někomu věřím, mám u něho účet“ § Krbtgt § Účet Kerberos KDC s master heslem pro šifrování session key v TGT
Service Principal Name – SPN § Identifikace služby § Připojeno k účtu služby uživatelskému účtu pod kterým služba běží účtu počítače pod kterým služba běží § Unikátní v celém forestu § Formát SPN Service. Class / Host: [Port] / [Service-Name] § www / srv 01: 80 / Prvni. WWWServer § TGS se generuje pro příslušné SPN § Nikoliv pro účet počítače, ale pro účet pod kterým běží služba § Master key se získá z daného účtu
Privilege Attribute Certificate TGT – Ticket-Granting Ticket Uživatel: Ondra TTL, Flags Master Key KDC Session Key KRBTGT Master Key KDC Session Key Privilege Attribute Certificate Global Groups DC Domain Local Groups DC Universal Groups GC User Rights DC Master Key PAC Hash KRBTGT Key PAC Hash
Privilege Attribute Certificate § Informace pro autorizaci § Nemění se po celou dobu logon session § Alespoň jeden GC (Global Catalog) musí být přítomen, aby bylo možno uživatele nalogovat § Výjimkou je skupina „Administrators“ musí být přihlásitelná i bez GC § HKLM System Current. Control. Set Control LSA Ignore. GCFailures § KDC ho přidává do všech TGS § Cílový server podle PAC přihlásí uživatele § Digitálně podepsáno § Nelze změnit MITM (na rozdíl od NTLM)
Doménové skupiny § Domain Local Group § Použitelné pouze na prostředcích v dané doméně § Tyto skupiny ani jejich členství se neukládá v GC § Členem může být kdokoliv § Global Group § Použitelná na prostředcích ve všech doménách § Tyto skupiny se ukládají v GC, jejich uživatelé nikoliv § Členem nesmí být Domain Local Group § Universal Group § Použitelná kdekoliv § Členství i samotné skupiny jsou uloženy v GC § Členem nesmí být Domain Local Group
Doménové skupiny
Startování počítače § DHCP konfigurace interface § DNS dotaz na zjištění adresářové služby § _ldap. _tcp. <site-name>. _sites. dc. _msdcs. <machinedomainname> § Vytvoří se secure channel na DC § Služba Netlogon, šifrovaný kanál § DNS dotaz na zjištění KDC § § § _kerberos. _tcp. <site-name>. _sites. dc. _msdcs. <machinedomainname> Autentizace počítače – Kerberos Autentizace všech služeb co neběží pod Local System LDAP dotaz na zjištění DN objektu počítače LDAP dotaz na zjištění Group Policy Objektů § GPO je stažena pomocí sdílení souborů a DFS § \domainsysvolpolicies<GPO_GUID> § Synchronizace času § DNS dynamic update klienta § Ukončení všech spojení s DC
Nástroje pro Kerberos § NLTEST § Support Tools, Install CD – SUPPORT / TOOLS § NETDOM § Support Tools § SETSPN § Resource Kit, www. microsoft. com § KERBTRAY, KLIST § Resource Kit § WHOAMI § Support Tools § NET TIME § PORTQRY § www. microsoft. com
NLTEST § /DCLIST: <domainname> § Vypíše seznam DC pro příslušnou doménu § /WHOWILL: <domainname><username> § Zjistí, zda je možno daného uživatele přihlásit § /FINDUSER: <username> § Zjistí jméno důvěryhodné (trusted) domény, která je schopna přihlásit daného uživatele § /SC_QUERY: <domainname> § zjistí stav secure channelu s danou doménou § /SC_RESET: <domainname> § Vyresetuje secure channel s danou doménou § /DSGETDC: <domainname> /PDC /GC § Vypíše jména PDC a Global Catalog serverů v dané doméně
NETDOM § ADD computer /DOMAIN: <domain> /OU: <ou> § Vytvoří doménový účet pro počítač § JOIN computer /DOMAIN: <domain> /OU: <ou> § Vzdáleně připojí počítač do domény a restartuje § REMOVE computer /DOMAIN: <domain> § Vzdáleně odpojí počítač z domény § TIME computer /DOMAIN: <domain> § Synchronizuje čas mezi stanicí a doménovým kontrolerem § RESETPWD computer /DOMAIN: <domain> § Vzdáleně resetuje heslo počítače na stanici i na doméně § QUERY /DOMAIN: <domain> DC PDC FSMO § Vypíše seznam DC, PDC a single master operation rolí
WHOAMI a NET TIME § WHOAMI /ALL § Vypíše informace pro aktuálního uživatele: – Jméno účtu a SID – Skupiny a SID – Práva uživatele § NET TIME \computer /SETNTP: server § NET TIME \computer /SET § Nastaví nový NTP (Network Time Protocol) server pro službu „Windows Time“ § Nastaví příslušný čas podle NTP serveru § HKLM System Current. Control. Set Services w 32 time Parameters NTPServer = REG_SZ = jméno/IP
KLIST, KERBTRAY a SETSPN § KERBTRAY, KLIST TICKETS § Seznam a informace o tiketech aktuálně v cache § KLIST TGT § TGT daného uživatele § KLIST PURGE § Smazání všech tiketů z cache § SETSPN –L computer § Vypíše seznam všech SPN registrovaných pro příslušný stroj § SETSPN –D SPN computer § Vymaže příslušnou registraci SPN
KERBTRAY a SETSPN § Prohlídka Kerberos tiketů a SPN
Porty a protokoly § Kerberos UDP Port 88 § Standart podle RFC 1510 § Kerberos TCP Port 88 § Microsoft implementace (revised RFC 1510) může použít TCP, pokud velikost paketu přesáhne UDP MTU = 2 k. B § § § § HKLM System Current. Control. Set Control LSA Kerberos Parameters Max. Packet. Size = REG_DWORD = 1 -2000 HKLM System Current. Control. Set Services Netlogon Parameters KDCServer. Port = REG_DWORD LDAP TCP a UDP Port 389 LDAP SSL TCP a UDP Port 636 DNS UDP Port 53 SMB TCP Port 445 RPC dynamické porty
Group Policy a Kerberos § Domain Security Policy § Pouze na doméně! § Jinde nemá cenu nastavovat (podobně všechny „Account Policies”)
Kerberos Interoperabilita § Windows KDC § Účty definovány pro Windows i Unix stroje a uživatele § Unix KDC § Účty definovány pro Windows i Unix § Windows stanice nejsou v doméně § Důvěra mezi Unix a Windows doménou § Nejjednodušší řešení se všemi výhodami § KSETUP – Resource Kit
Single Sign On § SSO – jedno přihlašovací jméno a heslo do různých služeb různých výrobců § Implementace založené na Kerberosu § Různé webové implementace § Poskytované jako služba za poplatek § Microsoft. NET Passport (160 mil. členů) www. passport. net § AOL § Liberty Alliance Project www. projectliberty. org
Konec: Troubleshooting Active Directory #1 Děkuji za pozornost (C) Ondřej Ševeček ondra @ sevecek. com
e2848036302eb53d49aa9cf0fdd3f0ac.ppt