Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Deep Dive : Kerberos, Protocol Transition und Constrained Delegation

Ähnliche Präsentationen


Präsentation zum Thema: "Deep Dive : Kerberos, Protocol Transition und Constrained Delegation"—  Präsentation transkript:

1 Deep Dive : Kerberos, Protocol Transition und Constrained Delegation
3/28/2017 4:37 PM Deep Dive : Kerberos, Protocol Transition und Constrained Delegation Kai Wilke Consultant IT-Security MVP ISA Server und Security (a.D.) ITaCS GmbH © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Was ist überhaupt Kerberos?
„Cerberus“ war ein dreiköpfiger Wachhund vor den Toren Hades 1. Kopf = Client Principal 2. Kopf = Service Principal 3. Kopf = Kerberos Dienste In der Netzwerkwelt ist es ein de facto Standard Entwickelt vom MIT und in RFC 1510 niedergeschrieben Bietet leistungsfähige, sichere und hetrogene Authentifizierung Kerberos V5 ermöglicht eine Federation und Delegation Im AD ist Kerberos das primäre Anmeldeprotokoll LM und NTLM (v1/v2) sind nur noch legacy Protokolle Es ist einfach da und muss wenig beachtet werden...

3 Wenn Entwickler mir Emails zusenden …
3/28/2017 4:37 PM Wenn Entwickler mir s zusenden … …, dann hinterfrage ich viele Details! © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Agenda 1x1 der Authentifizierung und Authorisierung
Trusted Subsystem vs. Impersonation Model Prozesskonten und Zugriffe auf Ressourcen Deep Dive in das Kerberos Protokoll Authentifizierung und Zugriffe auf Ressourcen Kerberos Service Principal Names (SPNs) Kerberos Delegation und W2K3 Extensions Kerberos Constrained Delegation (A2D2) Kerberos Protocol Transition (T2A4D) Zusammenfassung und Ressourcen

5 Authentifizierung und Authorisierung
Wer bin ich? Was darf ich tun? Im Falle des „Trusted Subsystems“ Die Anwendung steuert die Authorisierung der Benutzer. Auf Ressourcen wird hierbei mit der Prozess-Identität der Anwendung zugegriffen. Im Falle des „Impersonation Models“ Die Anwendung impersoniert den Benutzer und die Ressource steuert eigenständig die Authorisierung. Lokale Zugriffe (Impersonation) und Remote-Zugriffe (Delegation).

6 Trusted Subsystem vs. Impersonation Model
Anwendung verwendet eine feste Identität Anwendung kann die Authentifizierung steuern Anwendung muss die Authorisierung und das Auditing steuern Hohe Performance durch Connection Pooling zu Backend-Servern Verteilte Umgebungen benötigen keine AD-Mitgliedschaft Impersonation Model (Identification / Impersonation / Delegation) Anwendung verwendet für Aktionen die Benutzeridentität Native Authorisierung und Auditing an der Ziel-Ressource Skalierung wird durch eine Vielzahl von Identitäten und Connections zu der Ressource beeinträchtigt Delegierung der Authentifzierungsdaten zu den Backend-Servern Kerberos als Authentifizierungs-Protokoll hierbei erforderlich

7 Prozesskonten und Zugriffe auf Ressourcen Trusted Subsystem
Anmeldung als Kai WP Mini’me Anwendungsidentität Lokaler Zugriff Remote Zugriff Network Service Network Service APP1$ Local Service Local Service ANONYMOUS Local System SYSTEM APP1$ Dom Account: WEB1 WEB1 WEB1 Unbedingt den Domänennamen mit angeben (CONTOSO\WEB1) Pre2008: Das Domänenkonto sollte zur lokalen IIS Worker Process-Gruppe hinzugefügt werden (IIS_WPG) Win2008: Automatische Zuordnung über IIS_IUSR Gruppe

8 Prozesskonten und Zugriffe auf Ressourcen Impersonation (ohne Delegation)
Anmeldung als Kai WP Mini’me Anwendungsidentität Lokaler Zugriff Remote Zugriff Network Service Kai ANONYMOUS Local Service Kai ANONYMOUS Local System Kai ANONYMOUS Dom Account: WEB1 Kai ANONYMOUS Lokal: Anwendungsidentität braucht „SeImpersonationPrivilege“ Konfigurierbares Systemrecht ab Windows 2000 SP4 Remote: Kerberos Delegation wird benötigt, bevor Remote-Zugriffe ebenfalls Kais Identität verwenden können...

9 Demo Environment Client PC .NET 2.0 Web Anwendung (Dateizugriffs Demo)
Webserver Fileserver Active Directory „contoso.de” Client PC Lokaler Dateizugriff Remote Dateizugriff AppPoolID „Network Service“ .NET 2.0 Web Anwendung (Dateizugriffs Demo)

10 Demo { .Net Impersonation } Kai Wilke Consultant IT-Security
3/28/2017 4:37 PM { .Net Impersonation } Demo Kai Wilke Consultant IT-Security MVP ISA Server und Security (a.D.) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 Agenda 1x1 der Authentifizierung und Authorisierung
Trusted Subsystem vs. Impersonation Model Prozesskonten und Zugriffe auf Ressourcen Deep Dive in das Kerberos Protokoll Authentifizierung und Zugriffe auf Ressourcen Kerberos Service Principal Names (SPNs) Kerberos Delegation und W2K3 Extensions Kerberos Constrained Delegation (A2D2) Kerberos Protocol Transition (T2A4D) Zusammenfassung und Ressourcen

12 Funktionsweise von Kerberos Die drei Köpfe im Active Directory
Authentifizierung über symmetrische Verschlüsselung USER kbrtgt KDC (Key Distribution Center) Benutzerschlüssel wird aus dem Passwort generiert KDC-Schlüssel wird aus dem kbrtgt-Konto generiert Computerschlüssel wird aus dem Computerkonto generiert SERVER Alle Köpfe sind Security Principals in der Kerberos Realm Um symmetrische Verschlüsselung nutzen zu können, müssen gemeinsame Geheimnisse vorhanden sein

13 Funktionsweise von Kerberos Authentifizierung im Überblick
 Kai möchte authentifiziert werden KDC (Key Distribution Center) Wenn Kai ‘OK’ ist, wird ein Ticket-Granting-Ticket ausgestellt, das ihm erlaubt, Service-Tickets zu beantragen. TGT Mini’me Kai beantragt ein Service-Ticket für DienstX auf Server1 Er übermittelt das TGT, das ihn identifiziert. TGT SR ST Dienst-Anfrage ST  Ein Service-Ticket für DienstX wird ausgestellt. DienstX SERVER1

14 Funktionsweise von Kerberos Kerberos Tickets
TGT Identifiziert den Benutzer gegenüber den KDCs bei späteren Service-Ticket-Anfragen Macht spätere Re-Authentifizierungen unnötig Nur gültig zwischen einem Benutzer und Dienst Bietet gegenseitige Authentifizierung zwischen den beiden Security Principals Beschleunigt den Sitzungsaufbau, da der Dienst nicht den Benutzer erneut authentifizieren muss Verschlüsselung stellt sicher, dass nur befugte Security Principals die Tickets lesen können Ab Windows 2008 / Vista wird Suite-B verwendet! ST

15 Funktionsweise von Kerberos Kerberos Pre-Authentifizierung
KDC (Key Distribution Center) Benutzerschlüssel (Passwort-basiert) client principal name timestamp krbtgt principal name requested lifetime AS_REQ timestamp kbrtgt Der KDC kann eine Pre-Authentifizierung verlangen, um Brute-Force und Dictionary-Angriffe zu erschweren Timestamp wird mit dem Benutzerschlüssel ver/entschlüsselt Timestamps müssen innerhalb der Toleranzgrenze (5 Min) liegen Pre-Authentifizierung ab W2000 Security Principals aktiviert

16 Funktionsweise von Kerberos Authentication Server Reply (AS_REP)
KDC (Key Distribution Center) Benutzer-Schlüssel (User-TGS-basiert) Benutzer-Schlüssel (Passwort-basiert) AS_REP user-TGS key user-TGS key krbtgt principal name krbtgt principal name ticket lifetime ticket lifetime kbrtgt TGT user-TGS key client token ticket lifetime KDC timestamp flags TGT user-TGS key user-TGS key client token client token ticket lifetime ticket lifetime TGT wird im Ticketcache gespeichert und für weitere Transaktionen verwendet KDC timestamp KDC timestamp Random Key Generation (User-TGS Session Key) flags flags Das TGT hat eine Haltbarkeit von 10 Stunden (default) Ein Renewal ist innerhalb von 7 Tagen möglich (default)

17 Funktionsweise von Kerberos Service Ticket Request (TGS_REQ)
KDC (Key Distribution Center) Benutzer-Schlüssel (User-TGS-basiert) TGS_REQ service principal requestes lifetime TGT kbrtgt user-TGS key user-TGS key client token client token ticket lifetime ticket lifetime KDC timestamp KDC timestamp flags flags Authenticator client timestamp client timestamp KDC extrahiert den User-TGS Key aus dem TGT Uhrzeit im Authenticator dient zur Re-Authentifizierung

18 Funktionsweise von Kerberos Service Ticket Request (TGS_REP)
KDC (Key Distribution Center) Benutzer-Schlüssel (User-TGS-basiert) TGS_REP user-Service key user-Service key service principal service principal ticket lifetime ticket lifetime kbrtgt Service Ticket Service Ticket user-Service key client token ticket lifetime KDC timestamp flags user-Service key user-Service key User-TGS Key (extrahiert aus TGS_REQ) client token client token ticket lifetime ticket lifetime ST und Key wird im Ticketcache gespeichert und für den Service-Request verwendet KDC timestamp KDC timestamp Random Key Generation (User-Service Session Key) flags flags Das ST hat eine Haltbarkeit von 600 Minuten (default)

19 Funktionsweise von Kerberos Zugriff auf den Service
Benutzer-Schlüssel (User-Service Session Key) Service Request SERVER1 Service Ticket DienstX user-Service key user-Service key client token client token ticket lifetime ticket lifetime KDC timestamp KDC timestamp Computer-Schlüssel (Service Key) flags flags Authenticator client timestamp client timestamp Uhrzeit im Authenticator dient erneut der Authentifizierung User-Service Sessions Keys bieten Secure-Channels z.B. IPSec und SSL-Verbindungen ohne Zertifikate

20 Agenda 1x1 der Authentifizierung und Authorisierung
Trusted Subsystem vs. Impersonation Model Prozesskonten und Zugriffe auf Ressourcen Deep Dive in das Kerberos Protokoll Authentifizierung und Zugriffe auf Ressourcen Kerberos Service Principal Names (SPNs) Kerberos Delegation und W2K3 Extensions Kerberos Constrained Delegation (A2D2) Kerberos Protocol Transition (T2A4D) Zusammenfassung und Ressourcen

21 Service Principal Names (SPNs) Allgemeines
Bei der Service-Ticket-Anfrage wird der Service Principal Name (SPN) übergeben Die Client Anwendung legt den verwendeten SPN fest Der SPN wird vom KDC zur Lokalisierung des Active Directory-Kontos benötigt Die SPNs werden im servicePrincipalName Attribut gespeichert SPNs müssen in der Kerberos Realm eindeutig sein Jedes Computerkonto hat bereits mehrere SPNs HOST/computername.domain.de Zusätzlich haben sie über 50 vordefinierte SPNs, die nicht im „servicePrincipalName“ Attribut aufgeführt sind http/computername.domain.de cifs/computername.domain.de ...

22 Service Principal Names (SPNs) Eigene SPNs registrieren
Um sich an einem Dienst zu authentifizieren, muss der verwendete SPN dem Security Principal zugeordnet sein, der den Dienst ausführt. Bei Network Service, Local Service oder Local System SPNs werden dem jeweiligen Computerkonto zugeordnet Werden Active Directory-Benutzerkonten verwendet SPNs werden dem jeweiligen Benutzerkonto zugeordnet „SETSPN.EXE“ ist im Windows Server 2008 nun enthalten und unterstützt neue CMD Switches. -R = Resetet den HOST SPN Q = Nach SPNs suchen. -X = Duplicate Check für SPNs -S = Add mit Duplicate Check

23 Service Principal Names (SPNs) Bekannte Stolperfallen!
Internet Explorer fordet nicht eindeutige SPNs an Verwendete URL in der Adressbar: Angefordert wird „http/srv“ anstelle von „http/srv:8000“ Wenn Benutzerkonten verwenden werden, sollte nicht der Rechnername als SPN genutzt werden Built-In SPNs existieren bereits und können kollidieren Ports werden von den Anwendungen oft ignoriert DNS-Aliase und HTTP Hostheader sind die Lösung! IIS7 Feature: Kernel-Mode Authentication HTTP.SYS übernimmt die Kerberos Authentifizierung SPNs werden hierbei dem Computer Konto zugewiesen Bei Bedarf über die IIS MMC oder CMD deaktivierbar

24 { Kerberos Konfiguration }
3/28/2017 4:37 PM { Kerberos Konfiguration } Demo Kai Wilke Consultant IT-Security MVP ISA Server und Security (a.D.) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 Agenda 1x1 der Authentifizierung und Authorisierung
Trusted Subsystem vs. Impersonation Model Prozesskonten und Zugriffe auf Ressourcen Deep Dive in das Kerberos Protokoll Authentifizierung und Zugriffe auf Ressourcen Kerberos Service Principal Names (SPNs) Kerberos Delegation und W2K3 Extensions Kerberos Constrained Delegation (A2D2) Kerberos Protocol Transition (T2A4D) Zusammenfassung und Empfehlungen

26 Kerberos Delagation und Extensions Nutzen von Kerberos Delegation
Delegation ermöglicht einer Anwendung, Kerberos-Tickets an Back-End-Dienste weiterzuleiten. Active Directory steuert, welche Security Principals Kerberos im welchem Umfang delegieren können. Zugriff als Kai Anmeldung als Kai WP Mini’me Anwendungsidentität Lokaler Zugriff Remote Zugriff Network Service Kai Kai Local Service Kai Kai Local System Kai Kai Dom Account: WEB1 Kai Kai

27 Kerberos Delagation und Extensions Kerberos Delegation flags
Active Directory Attribute steuern Kerberos Flags Benutzer-Konto: Darf der Benutzer delegiert werden? Service-Konto: Darf der Service Kerberos delegieren? Beide Bedingungen müssen erfüllt sein Benutzer TGT ist „Forwardable” Service Account ist „OK as delegate”

28 Funktionsweise von Kerberos Zugriff auf den Service
Service Request Benutzer-Schlüssel (User-Service Session Key) SERVER1 Service Ticket DienstX user-Service key user-Service key client token client token ticket lifetime ticket lifetime KDC timestamp KDC timestamp flags flags Computer-Schlüssel (Service Key) TGT user-TGS key client token ticket lifetime KDC timestamp TGT user-TGS key client token ticket lifetime TGT wird von der Anwendung zum Beantragen von weiteren ST verwendet. KDC timestamp Authenticator client timestamp client timestamp

29 Funktionsweise von Kerberos Constrained Delegation
Kerberos Delegation SERVER21 SERVER1 Anmeldung über Kerberos SERVER13 WP Mini’me SERVER37 Nachdem die Kerberos Delegation aktiviert wurde, kann das Service-Konto unter Verwendung von Kai‘s Identität auf das gesamte Netzwerk zugreifen. Windows 2003 ermöglicht die Einschränkung der Kerberos Delegation (constraining), in dem vom KDC gefiltert wird, zu welchen Zielen die Delegierung geschehen kann.

30 Funktionsweise von Kerberos Constrained Delegation (A2D2 Extension)
Constrained Delegation wird nur im Windows 2003/8-Modus unterstützt „Use Kerberos only“ Unterstützt nur Kerberos-Anmeldungen „Use any authentication protocol“ Ermöglicht „Protocol Transition“ Die SPNs legen fest, welche Tickets vom Konto angefragt werden können msDS-AllowedToDelegateTo Attribut

31 Funktionsweise von Kerberos Protocol Transition (T2A4D Extension)
Kerberos kommt fast nur im Intranet zum Einsatz Internet und Extranets haben kein Zugriff auf die KDCs Nicht jede Anwendung unterstützt Kerberos Basic (Sonderfall: IIS reauthentifiziert via Kerberos) WDigest NTLM Forms Zertifikate One Time Password (OTP) T2A4D Extension erlaubt es einem Dienstkonto, Kerberos Tickets vom KDC ohne Benutzerinteraktion anzufragen Anwendung steuert, wie/wann/ob ein Benutzer authentifiziert wird Active Directory Credentials werden hierbei nicht benötigt Anwendung sollte demnach sehr vertrauenswürdig sein! Restriktionen über „Sensitiv“-Flag und „A2D2”-Einstellungen

32 Funktionsweise von Kerberos Konfiguration der Protocol Transition
Zugriff über .NET/WindowsIdentity oder W32/LsaLogonUser Lokale Zugriffe: Services For User to Self (S4U2S) Ermöglicht einem Dienst ein Benutzer Token zu erzeugen Anwendung braucht „Act as Part of the Operating System“ Ohne „SeTCBPrivilege“: Service erhält „Identification Token“ Mit „SeTCBPrivilege“: Service erhält „Impersonation Token“ Ein Impersonation Token ermöglichen eine lokale Impersonation Systemrecht „SeImpersonationPrivilege“ wird hierfür benötigt Kerberos Konfigurationen ist hierfür nicht notwendig Remote Zugriffe: Services for User To Proxy (S4UTP) Ermöglicht den Dienst eine Kerberos Delegation zu nutzen Aktivieren der Contrained Delegation am Quell-Dienst Die Option “Any Protocol” muss hierbei ausgewählt werden SPNs auswählen die vom Dienst angefragt werden können Je nach Anwendung ist eine lokale Impersonation notwendig

33 { Kerberos Delegation }
3/28/2017 4:37 PM { Kerberos Delegation } Demo Kai Wilke Consultant IT-Security MVP ISA Server und Security (a.D.) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

34 Agenda 1x1 der Authentifizierung und Authorisierung
Trusted Subsystem vs. Impersonation Model Prozesskonten und Zugriffe auf Ressourcen Deep Dive in das Kerberos Protokoll Authentifizierung und Zugriffe auf Ressourcen Kerberos Service Principal Names (SPNs) Kerberos Delegation und W2K3 Extensions Kerberos Constrained Delegation (A2D2) Kerberos Protocol Transition (T2A4D) Zusammenfassung und Ressourcen

35 Zusammenfassung Sichere Kerberos Constrained Delegation und Protocol Transition benötigt etwas Know-How Reden Sie mit den Entwicklern/Administratoren und bewerten sie den Nutzen und etwaige Sicherheitsrisiken Wenn eine Kerberos Delegation benötigt wird, verwenden Sie unbedingt Constrained Delegation Nutzen Sie die „T2A4D“ Erweiterung mit Vorsicht! Markieren Sie ihre priviligierte Konten als „sensitiv“! Verwenden Sie am besten dedizierte Dienstkonten Computerkonten werden von vielen Diensten verwendet SPNs werden werden nur bei der ST-Anfrage validiert Konfigurieren Sie die verwendeten SPNs gründlich

36 Windows Server 2008 weitere Ressourcen
3/28/2017 4:37 PM Windows Server 2008 weitere Ressourcen Windows Server 2008 Tech Center Windows Server 2008 Webcasts: Windows Server 2008 Produktseite: Microsoft Virtualization: © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

37 Ask the Experts Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.

38 3/28/2017 4:37 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "Deep Dive : Kerberos, Protocol Transition und Constrained Delegation"

Ähnliche Präsentationen


Google-Anzeigen