Durch die Kerberos-Delegierung kann ein Dienst im Namen eines Benutzers Ressourcen anfordern oder Aktionen ausführen, während die Sicherheitsprinzipien der Authentifizierung und Autorisierung gewahrt bleiben.
Delegation innerhalb Kerberos spielt eine entscheidende Rolle bei der Erleichterung sicherer, nahtloser Interaktionen zwischen Diensten im Namen der Benutzer.
Kerberos, ein Eckpfeiler moderner Netzwerksicherheitsarchitekturen, bietet ein robustes Framework zur Authentifizierung von Benutzern und Diensten über ein nicht sicheres Netzwerk. Dadurch entfällt die Notwendigkeit, Passwörter direkt zu übertragen, stattdessen werden kryptografische Tickets zum Nachweis der Identität verwendet. In komplexen IT-Umgebungen kommt es jedoch häufig vor, dass ein Dienst im Namen eines Benutzers agieren muss, um auf andere Dienste zuzugreifen. Diese Anforderung führte zur Entwicklung der Kerberos-Delegierung.
Diese Fähigkeit ist in Szenarien von entscheidender Bedeutung, in denen benutzerinitiierte Prozesse mehrere Ebenen von Diensten umfassen, von denen jede Beglaubigung. Das Konzept mag einfach erscheinen, doch seine Umsetzung und die damit verbundenen Sicherheitsüberlegungen sind komplex und differenziert. IT- und Cybersicherheitsexperten müssen die Mechanismen, Anwendungen und Risiken der Kerberos-Delegierung verstehen, um ihre Umgebungen effektiv zu sichern.
So funktioniert die Kerberos-Delegierung
Das Kerberos-Protokoll wurde ursprünglich für eine einfachere Netzwerkumgebung entwickelt, mit dem Ziel, Benutzer bei Diensten zu authentifizieren, auf die direkt zugegriffen werden konnte. Die Notwendigkeit, dass Dienste im Namen der Benutzer kommunizieren, wurde deutlich, als sich IT-Infrastrukturen zu mehrschichtigeren und integrierteren Architekturen entwickelten. Um dieser Änderung Rechnung zu tragen, entwickelte Kerberos die Delegation, die komplexere Interaktionen unter Beibehaltung der Sicherheitsgarantien ermöglicht.
Der Delegationsprozess in Kerberos umfasst mehrere wichtige Schritte:
- Der Benutzer authentifiziert sich beim Kerberos Key Distribution Center (KDC) und erhält ein Ticket-Granting Ticket (TGT).
- Wenn auf einen Dienst zugegriffen wird, der eine Delegierung erfordert, fordert der Dienst im Namen des Benutzers ein Dienstticket vom KDC an, das auf die Notwendigkeit hinweist, nachgelagert auf einen anderen Dienst zuzugreifen.
- Das KDC stellt ein Dienstticket aus, mit dem der ursprüngliche Dienst im Namen des Benutzers Zugriff auf den nachgelagerten Dienst anfordern kann.
Dieser Mechanismus stellt sicher, dass Benutzeranmeldeinformationen niemals für Dienste offengelegt werden und entspricht den Sicherheitsprinzipien von Kerberos.
Arten der Kerberos-Delegierung
Um den unterschiedlichen Sicherheitsanforderungen und Anwendungsarchitekturen gerecht zu werden, wurden drei verschiedene Typen der Kerberos-Delegierung entwickelt. Diese Typen – uneingeschränkte, eingeschränkte und ressourcenbasierte eingeschränkte Delegierung – bieten jeweils unterschiedliche Mechanismen, damit Dienste im Namen von Benutzern handeln können, mit spezifischen Kontrollen darüber, auf welche Dienste zugegriffen werden kann.
Uneingeschränkte Delegation
Dies ist die freizügigste Form der Delegation innerhalb von Kerberos, die es einem Dienst ermöglicht, im Namen des Benutzers Zugriff auf jeden anderen Dienst anzufordern. Mit uneingeschränkte DelegationSobald sich ein Benutzer bei einem Dienst authentifiziert, kann dieser Dienst Tickets für jeden anderen Dienst für den Benutzer erhalten.
Diese Form der Delegation ist leistungsstark, birgt jedoch erhebliche Sicherheitsrisiken, wenn sie nicht sorgfältig verwaltet wird, da sie dem Dienst im Wesentlichen weitreichende Befugnisse einräumt, im Namen des Benutzers zu handeln.
Beschränkte Delegierung
Die eingeschränkte Delegation wurde eingeführt, um die mit der uneingeschränkten Delegierung verbundenen Risiken zu mindern. Sie schränkt die Dienste ein, auf die ein Delegierter im Namen des Benutzers Zugriff anfordern kann. Es muss im Voraus festgelegt werden, welche Dienste delegiert werden dürfen, um eine kontrollierte und sichere Umgebung für die Delegierung bereitzustellen.
Dieses Setup basiert auf der Erweiterung „Service for User to Proxy“ (S4U2Proxy), die es einem Dienst ermöglicht, im Namen des Benutzers ein Ticket für einen bestimmten Dienst zu erhalten, jedoch nur, wenn dieser Dienst ausdrücklich zugelassen ist.
Ressourcenbasierte eingeschränkte Delegierung
Als Weiterentwicklung der eingeschränkten Delegation erhöht die ressourcenbasierte eingeschränkte Delegation die Sicherheit und Flexibilität weiter, indem sie es dem Administrator des Zieldienstes ermöglicht, zu steuern, welche Dienste an ihn delegiert werden können.
Seit seiner Einführung im Jahr Windows Server 2012, dieser Typ verschiebt die Delegationskonfiguration vom Domänencontroller zur Ressource selbst. Er nutzt die Erweiterungen „Service for User to Self“ (S4U2Self) und „S4U2Proxy“, um einem Dienst zu ermöglichen, im Namen des Benutzers Zugriff anzufordern, basierend auf Berechtigungen, die auf Ressourcenebene und nicht global in der Domäne definiert sind.
Jede Art von Delegation befasst sich mit spezifischen Sicherheitsbedenken und betrieblichen Anforderungen:
- Uneingeschränkte Delegation eignet sich für sehr vertrauenswürdige Umgebungen, in denen die Benutzerfreundlichkeit wichtiger ist als das Missbrauchspotenzial.
- Beschränkte Delegierung bietet einen ausgewogenen Ansatz, der Flexibilität bietet und gleichzeitig das Missbrauchspotenzial durch die Beschränkung der Delegation auf bestimmte Dienste deutlich einschränkt.
- Ressourcenbasierte eingeschränkte Delegierung bietet ein Höchstmaß an Kontrolle und Sicherheit und ermöglicht es Ressourceneigentümern, direkt zu verwalten, welche Dienste in ihrem Namen handeln können, wodurch das Risiko einer unbefugten Delegation minimiert wird.
Sicherheitsüberlegungen und Risiken
Sicherheitsüberlegungen und -risiken sind in der komplexen Welt der Kerberos-Delegierung von größter Bedeutung. Jede Art der Delegation – uneingeschränkt, eingeschränkt und ressourcenbasiert eingeschränkt – birgt spezifische Schwachstellen, die bei unsachgemäßer Verwaltung potenziell ausgenutzt werden könnten. Das Verständnis dieser Risiken und der Maßnahmen zu ihrer Minderung ist für die Aufrechterhaltung der Integrität und Sicherheit einer IT-Umgebung von entscheidender Bedeutung.
Unbeschränkte Delegationsrisiken
- Das größte Risiko bei uneingeschränkter Delegation ist die Möglichkeit einer Kompromittierung Dienstkonto wird verwendet, um im Namen von Benutzern auf andere Dienste im Netzwerk zuzugreifen. Dies könnte dazu führen Privilegeskalation und seitliche Bewegungen innerhalb des Netzwerks, wenn Angreifer die Kontrolle über ein solches Konto erlangen.
- Zu den Abhilfemaßnahmen gehören die Beschränkung der uneingeschränkten Delegation auf Dienste mit hohem Vertrauenswürdigkeitsgrad, der Einsatz sichererer Delegationsformen, wo möglich, und der Einsatz strenger Überwachung und Prüfung, um ungewöhnliche Aktivitäten zu erkennen.
Eingeschränkte Delegationsrisiken
- Während eine eingeschränkte Delegierung den Umfang der Dienste einschränkt, auf die ein delegiertes Konto zugreifen kann, können Fehlkonfigurationen oder übermäßig freizügige Einstellungen dennoch Chancen für Angreifer bieten. Wenn beispielsweise ein Dienstkonto an sensible Dienste delegieren darf und dieses Konto kompromittiert wird, können die Auswirkungen erheblich sein.
- Um diese Risiken zu mindern, müssen die im msDS-AllowedToDelegateTo-Attribut zulässigen Dienste regelmäßig überprüft und sichergestellt werden, dass nur erforderliche Dienste zulässig sind.
Ressourcenbasierte eingeschränkte Delegationsrisiken
- Die Dezentralisierung der Delegationsbefugnisse an Ressourceneigentümer erhöht die Flexibilität, birgt aber auch das Risiko inkonsistenter Sicherheitsrichtlinien oder -konfigurationen über verschiedene Ressourcen hinweg. Wenn ein Ressourceneigentümer versehentlich die Delegierung von einem unsicheren Dienst zulässt, könnte dies die Ressource gefährden.
- Um diese Risiken zu mindern, sollten Unternehmen klare Richtlinien für die Konfiguration der ressourcenbasierten eingeschränkten Delegation festlegen, Schulungen für Ressourceneigentümer anbieten und regelmäßige Audits durchführen, um die Einhaltung bewährter Sicherheitspraktiken sicherzustellen.
So erkennen Sie, ob Kerberos verwendet wird
Es gibt einige Methoden, mit denen Sie das Vorhandensein von Kerberos identifizieren können:
- Überprüfen Sie die Systemprotokolle:
- Auf Linux-Systemen werden die Kerberos-Authentifizierungsereignisse normalerweise in /var/log/messages oder /var/log/syslog protokolliert.
- Auf Windows-Systemen befinden sie sich normalerweise in der Ereignisanzeige unter der Kategorie „Sicherheit“.
- Suchen Sie nach Fehlern oder Warnungen im Zusammenhang mit Kerberos.
- Zu den häufigsten Fehlermeldungen gehören:
- „KDC_ERR_SERVER_NOT_FOUND“
- „KDC_ERR_CLIENT_NOT_TRUSTED“
- „KDC_ERR_INVALID_CREDENTIAL“
- „KRB5KDC_ERR_ETYPE_NOSUPP“
- „KRB5KDC_ERR_PREAUTH_FAILED“
- Suchen Sie nach Kerberos-Konfigurationsdateien:
- Auf Linux-Systemen befinden sich die Kerberos-Konfigurationsdateien normalerweise in /etc/krb5.conf.
- Auf Windows-Systemen befinden sie sich normalerweise in %WINDIR%\krb5.ini.
- Überprüfen Sie die Konfigurationsdateien auf Fehler oder Inkonsistenzen.
- Stellen Sie sicher, dass der Kerberos-Bereich korrekt ist und die KDC-Server korrekt aufgelistet sind.
- Überprüfen Sie die Registrierung:
- Auf Windows-Systemen wird die Kerberos-Konfiguration auch in der Registry gespeichert.
- Der relevante Registrierungsschlüssel ist HKLM\SYSTEM\CurrentControlSet\Services\Kdc.
- Überprüfen Sie den Registrierungsschlüssel auf Fehler oder Inkonsistenzen.
- Stellen Sie sicher, dass der Kerberos-Bereich korrekt ist und die KDC-Server korrekt aufgelistet sind.
- Verwenden Sie einen Netzwerk-Sniffer:
- Ein Netzwerk-Sniffer kann verwendet werden, um den Kerberos-Authentifizierungsverkehr zu erfassen.
- Dies kann zur Fehlerbehebung bei Kerberos-Problemen oder zur Überwachung der Kerberos-Aktivität nützlich sein.
- Suchen Sie nach Fehlern oder Anomalien im Kerberos-Verkehr.
- Verwenden Sie ein Kerberos-Testtool:
- Es stehen eine Reihe von Kerberos-Testtools zur Verfügung, mit denen die Kerberos-Konfiguration und der Authentifizierungsprozess getestet werden können.
- Einige dieser Tools umfassen:
- gut
- klist
- kdcdiag
- krb5-Test-Client
- krb5-Testserver
- Verwenden Sie die Kerberos-Testtools, um die Kerberos-Konfiguration und den Authentifizierungsprozess zu testen.
- Suchen Sie nach Fehlern oder Inkonsistenzen in den Testergebnissen.
Konfiguration und Verwaltung
Das Konfigurieren und Verwalten der Kerberos-Delegierung ist ein entscheidender Schritt, um sicherzustellen, dass sie ihren beabsichtigten Zweck erfüllt, ohne die Sicherheit zu beeinträchtigen. Jeder Delegierungstyp – uneingeschränkt, eingeschränkt und ressourcenbasiert eingeschränkt – erfordert spezifische Konfigurationsschritte, die beide umfassen Active Directory Umgebung und individuelle Serviceeinstellungen.
Uneingeschränkte Delegation:
- Aktivieren Sie die Funktion für ein Dienstkonto, indem Sie das Flag TRUSTED_FOR_DELEGATION im festlegen Active Directory Benutzerkonto Eigenschaften.
- Für die Dienste, für die der Delegierte im Namen des Benutzers Tickets anfordern kann, bestehen keine Einschränkungen. Daher ist eine sorgfältige Auswahl der Konten für diesen Delegationstyp von entscheidender Bedeutung, um Sicherheitsrisiken zu vermeiden.
Eingeschränkte Delegation (S4U2Proxy):
- Konfigurieren Sie, indem Sie die Dienste angeben, für die ein bestimmtes Dienstkonto delegierte Anmeldeinformationen bereitstellen kann. Dies erfolgt durch Ändern des msDS-AllowedToDelegateTo-Attributs im Dienstkonto Active Directory Objekt.
- Erfordert das Setzen des TRUSTED_TO_AUTH_FOR_DELEGATION-Flags auf dem Dienstkonto, wenn auch der Protokollübergang (S4U2Self) verwendet wird, sodass Dienste Tickets im Namen von Benutzern ohne eine anfängliche Kerberos-Authentifizierung anfordern können.
Ressourcenbasierte eingeschränkte Delegation:
- Konfigurieren Sie, indem Sie Berechtigungen für die Zieldienste festlegen Active Directory Objekt, insbesondere im msDS-AllowedToActOnBehalfOfOtherIdentity-Attribut. Dadurch kann der Ressourceneigentümer steuern, welche Dienste direkt an ihn delegiert werden können.
- Im Gegensatz zur herkömmlichen eingeschränkten Delegation sind für die ressourcenbasierte eingeschränkte Delegation keine Änderungen am Delegiertendienstkonto erforderlich, was die Verwaltung vereinfacht und die Flexibilität erhöht.
Schlussfolgerung
Die Kerberos-Delegierung bietet ein robustes Framework, mit dem Benutzer die komplexen Sicherheitsanforderungen moderner Netzwerkumgebungen bewältigen können. Durch die Delegierung hat sich Kerberos zu einer Lösung entwickelt, mit der Benutzer in unsicheren Netzwerken authentifiziert werden können. Obwohl diese Funktion leistungsstark ist, erfordert sie ein umfassendes Verständnis und eine sorgfältige Verwaltung, wenn sie effektiv genutzt und gleichzeitig die inhärenten Sicherheitsrisiken gemindert werden sollen.
Bei allen Formen der Kerberos-Delegation sind Sicherheitsaspekte von größter Bedeutung. Aufgrund des Missbrauchs- oder Fehlkonfigurationspotenzials sind ein sorgfältiges Management, regelmäßige Audits und das Prinzip der geringstes Privileg sind erforderlich. Durch das Verständnis der mit den einzelnen Delegationsarten verbundenen spezifischen Risiken und die Anwendung bewährter Methoden können Unternehmen ihre Schwachstellen deutlich reduzieren.
Silverfort: Ihre MFA-Lösung aus einer Hand für die Compliance von Cyber-Versicherungen
Bewerten Sie Ihren MFA-Schutz neu – eBook