920 likes | 1.14k Views
Ing. Ondřej Ševeček | GOPAS a.s. | MCM: Directory Services | MVP: Enterprise Security | ondrej@ sevecek.com | www.sevecek.com |. Client Interactions. Active Directory Client Interactions. Intro. Central Database. LDAP – Lightweight Directory Access Protocol
E N D
Ing. Ondřej Ševeček | GOPAS a.s. | MCM: Directory Services | MVP: Enterprise Security | ondrej@sevecek.com | www.sevecek.com | Client Interactions
Central Database • LDAP – Lightweight Directory Access Protocol • database query language, similar to SQL • TCP/UDP 389, SSL TCP 636 • Global Catalog (GC) – TCP/UDP 3268, SSL TCP 3269 • D/COM Dynamic TCP – Replication • Kerberos • UDP/TCP 88 • Windows NT 4.0 SAM • SMB/CIFS TCP 445 (or NetBIOS) • password resets, SAM queries • SMB/DCOM Dynamic TCP • NTLM pass-through • Kerberos PAC validation
Design Considerations • Distributed system • DCs disconnected for very long times • several months • Multimaster replication • with some FSMO roles
Design Considerations • Example: Caribean cruises, DC/IS/Exchange on board with tens of workstations and users, some staff hired during journey. No or bad satelite connectivity only. DCs synced after ship is berthed at main office. • Challenge: Must work independently for long time periods. Different independent cruise-liners/DCs can accomodate changes to user accounts, email addresses, Exchange settings. Cannot afford lost of any one.
Database • Microsoft JET engine • JET Blue • common with Microsoft Exchange • used by DHCP, WINS, COM+, WMI, CA, CS, RDS Broker • %WINDIR%\NTDS\NTDS.DIT • ESENTUTL • Opened by LSASS.EXE
Installed services LSASS TCP 445 SMB + Named Pipes Security Accounts Manager D/COM Dynamic TCP UDP, TCP 88Kerberos Kerberos Key Distribution Center UDP, TCP 389, ... LDAP Active Directory Domain Services NTDS.DIT
Network Interactions(DC Location) SRV: Any DC List Client 2000+ SRV: My Side DC DNS DNS LDAPUDP Get My Site Any DC2000+ My Site DC 2000+
Network Interactions(2008/Vista+ DC Location) SRV: Any DC List Client Vista+ SRV: My Site DC DNS SRV: Close Site DNS LDAPUDP Get My Site Next Closest Site Close Site DC 2000+ Any DC2008+ My Site DC 2000+
Network Interactions(Join Domain) Client 2000+ TGT: User Kerberos SMB TGT: CIFS SAM Interface DC2000+
Network Interactions(Local Logon) Client 2000+ TGT: User Kerberos LDAP SMB TGS: LDAP, CIFS GPO List GPO Download DC2000+
Network Interactions (Kerberos Network Logon) App Traffic Client 2000+ Server2000+ In-band TGS: Server Kerberos SMB D/COM Occasional PAC Validation TGT: User TGS: Server D/COM Dynamic TCP DC2000+ DC2000+
Network Interactions(NTLM Network Logon) App Traffic Client 2000+ Server2000+ In-band NTLM SMB D/COM Pass-through NTLM D/COM Dynamic TCP DC2000+ DC2000+
Network Interactions (Basic/RDP Logon) App Traffic Client 2000+ Server2000+ In-band clear text Kerberos TGT: User DC2000+ DC2000+
Active Directory Replication Attribute Notes
Attribute Types • string, integer, datetime, boolean, binary • DN reference • multivalue • up to 5000 items • linked multivalue • unlimited, requires 2003 Forest Level • backlink • memberOf • computed • primaryGroupToken, tokenGroups, lastLogonTimestamp • write/only attributes • unicodePwd
Group membership Sales member CN=Kamil,OU=London,DC=... member CN=Judith,OU=Paris,DC=... Link member CN=Victor,OU=London,DC=... member CN=Stan,OU=London,DC=... Judith Backlink memberOf CN=Sales,OU=Groups,DC=... memberOf CN=IS Access,OU=Groups,DC=...
(Not)replicated attributes • Not replicated • logonCount • badPasswordCount • badPasswordTime • lastLogon • lastLogoff • Replicated • pwdLastSet • lockoutTime • lastLogonTimestamp (since 2003)
Logon timestamps (2003 DFL) lastLogon 9:00 DC lastLogonTimestamp 11:00 lastLogon 11:38 DC Client lastLogonTimestamp 11:00 lastLogon - DC lastLogonTimestamp 11:00
lastLogonTimestamp • Requires 2003 domain level • Updated only once per 14-random(5) days • DC=idtt,DC=local • msDS-LogonTimeSyncInterval • 1+ – minimum without randomization • 5+ – randomization starts • 14 – the default • ...
Password changes Client Normal replication hash Password Change PDC Immediate Replication password hash DC Normal replication hash
Password changes pwdLastSet pwdLastSet DC PDC pwdLastSet DC Client pwdLastSet DC
Authentication failures pwd1 DC pwd1 PDC pwd1 Client DC
Authentication failures pwd1 DC pwd2 PDC pwd2 pwd2 DC Client
Authentication failures pwd1 pwd2 DC Client pwd2 PDC pwd2 DC
Authentication failures badPasswordCount 7 PDC badPasswordCount 2 DC lockoutTime badPasswordCount 3 DC Client badPasswordCount 2 DC
Active Directory Client Interactions DC Location
Client Applications • Kerberos and NTLM authentication • Secure Channel • password changes, NTLM pass-through, Kerberos PAC validation • Group Policy client • DFS client • Certificate Autoenrollment client
Client Applications • NPS (IAS), RRAS, TMG (ISA), RD Gateway (TS Gateway) • group membership, Dial-In tab • RD Host (Terminal Server) • Remote Control tab etc., Licensing servers • DHCP Server • authorization • IIS • account and group membership for SSL certificate authentication • WDS • computer MAC addresses or GUIDs
Connection Properties • Bandwidth (Mbps) • forget about this • Latency (ms) • round-trip-time (RTT) • SMB, D/COM, SQL • Packet Loss (per sec., per Mb) • packet loss rate (PLR) • VPN such as PPTP, SSTP, IP-HTTPS
Timeouts • DNS • primary DNS = 1 sec. • secondary DNSs = 2 sec. • ... 1 2 2 4 8 ... • ARP • ... 600 ms 1000 ms • LDAP UDP Site Location • 600 ms • TCP • SYN = 21 sec. (3x retransmission) • PSH/ACK = 93 sec. (5x retransmission) • ... 3 6 12 24 48 ...
Basic DC location • Know the DNS name of the domain • Query general DNS DC SRV records • _ldap._tcp.dc._msdcs.idtt.local • Ping DC • Windows 2003- • LDAP UDP (ping) DC • to get the client’s site/close site
DNS Domain Location • Makes use of DNS round robin • Site unaware lookup • NSLOOKUP • SET Q=SRV • _ldap._tcp.dc._msdcs.idtt.local • Site specific lookup • NSLOOKUP • SET Q=SRV • _ldap._tcp.Paris._sites.dc._msdcs.idtt.local
Site Example – Single Site London 10.10.x.x DC1 DC2 DC3 DC5 DC4 Client
Site Example – Multihomed DC (DNS Bitmask Ordering) Paris 10.20.x.x London 10.10.x.x DC1 DC2 DC3 DC5 DC4 Client
Site Awareness Paris10.20.x.x DC4 Roma10.30.x.x DC6 London10.10.x.x DC1 DC2 DC3 Anonymous LDAP UDP where I am? Berlin10.50.x.x DC5 Client
General Operation • Use DNS to find generic DC list • Ping selected DC • Windows 2003- • Anonymous LDAP (UDP) to determine site • DC defines site from the request source IP address (NAT?) • Use DNS to find close DC in site • Ping or LDAP UDP to determine availability
DC Locator • NetLogon Service • nltest /sc_query:idtt • no network access • nltest /sc_verify:idtt • tries to authenticate with the DC • nltest /sc_reset:idtt • always performs new DNS lookup • nltest /dsgetsite • anonymous query against selected DC
DFS Client (MUP) • Multiple UNC provider (MUP) driver • Determines its own DFS server referrals • obtains the list of DFS root servers from AD using the default DC from Netlogon • SYSVOL may be accessed from a different DC • DFSUTIL /PKTINFO • Windows Server 2003/Windows XP • DFSUTIL CACHE REFERRAL • Windows Server 2008/Windows Vista
Site Example – Empty Site Paris10.20.x.x London10.10.x.x DC4 DC5 DC1 DC2 DC3 Berlin10.50.x.x DC4 DC5 Roma10.30.x.x DC6 Client Cyprus10.40.x.x DC7
Automatic Site Coverage • Each DC registers itself for its neighboring empty sites • HKLM\System\CurrentControlSet\Services\Netlogon • AutoSiteCoverage = DWORD = 1/0 • GPO: Sites Covered by the DC Locator DNS SRV Records
Active Directory Troubleshooting Misplaced OR Confused Clients
Site Example – Out of Site Paris10.20.x.x London10.10.x.x DC4 DC5 DC1 DC2 DC3 Client Berlin10.50.x.x Roma10.30.x.x 10.100.0.7 DC6 Cyprus10.40.x.x DC7
Limiting generic DC list • Limit creation of generic DC DNS records • GPO: Computer Configuration – Administrative Templates – System – Netlogon – DC Locator DNS Records • DC Locator DNS Records not Registered • Ldap, Kdc
DC Stickiness • When one close selected, client sticks to it • even when moved into a different site • must reset secure channel • Force rediscovery interval GPO • Vista+ • hotfix for Windows XP • also registry value ForceRediscoveryInterval
Site Example – Moving Client Paris10.20.x.x London10.10.x.x DC4 DC5 DC1 DC2 DC3 Berlin10.50.x.x DC4 DC5 Roma10.30.x.x DC6 Cyprus10.40.x.x Client DC7 previously in Paris
Active Directory Troubleshooting Client Failover
Site Example – Failed DC Paris10.20.x.x DC4 Roma10.30.x.x DC6 London10.10.x.x DC1 DC2 DC3 Cyprus10.40.x.x Berlin10.50.x.x DC7 DC5 Client