Kerberos Systemausbildung Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten 14.07.2021 - Florian Klemenz - RRZE
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] Kerberos Systemausbildung − Grundlagen und Aspekte von Betriebssystemen und System-nahen Diensten 14.07.2021 – Florian Klemenz
Definition Bezeugen der Echtheit einer Entität 88/tcp,88/udp (Benutzer/Dienste/Rechner/...) Kerberos ist ein Netzwerkprotokoll zur sicheren Authentifizierung von Teilnehmern in einem ungesicherten Netzwerk auf sicheren Rechnern. Benutzer oder Dienste Verschlüsselte Kommunikation im Netzwerk in Internet, WLAN und LAN Feindliche Übernahme des Rechners ist zu vermeiden ;) 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 2
Inhalt ● Geschichte ● Grundlagen – Symmetrisches Needham-Schroeder-Protokoll – Umsetzung in der Praxis ● Kerberos – Ablauf des Verbindungsaufbaus zu Diensten – Erweiterung auf SingleSignOn (SSO) ● Umsetzung am “RRZE” ● Schwachstellen, Vorteile und Grenzen 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 3
Geschichte – Teil 1 ● Teil des Projekts “Athena” (1983-1991) am MIT Aufbau einer Campus-weiten → Kerberos als Sicherheitssystem verteilten ● Ab ca. 1988 als Version 4 außerhalb des MIT Rechnerumgebung ● 1993 als Version 5 erstmals spezifiziert im RFC 1510 ● 2005 abgelöst durch RFC 4120 für Kerberos V5 “to clarify aspects of the protocol and its intended use that require more detailed or clearer explanation” 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 4
Geschichte – Teil 2 ● Öffentliche Spezifikation in den RFCs ermöglicht weitere Implementierungen ● Standardprotokoll für die Authentifizierung ab Windows-2000 ● weitere Implementierung ist “Heimdal” ● “MIT-Kerberos” im Linux-Umfeld am häufigsten im Einsatz 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 5
Symmetrisches Needham-Schroeder-Protokoll Alice AS Bob KA KA KB KB ● Protokoll für sicheren Datenaustausch: NA Authentifizierung der Teilnehmer + A,B,NA NA verschlüsselte Übertragung NA,B,SK SK,A ● Zentrales Element: AuthenticationService (AS) KA KB SK Kommunikationsteilnehmer verfügen über SK,A gemeinsame Schlüssel (pre-shared secrets) mit KB SK NB der TrustedThirdParty (→ AS) NB ● Authentifizierung und Austausch eines NB SK SessionKey (SK) durch Nachweis, dass NB-1 A→KA und B→KB besitzt SK Von Michael F. Schönitzer - Eigenes Werk, CC-BY 4.0, https://commons.wikimedia.org/w/index.php?curid=55390446 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 6
AS → Key Distribution Center ● MIT-Kerberos Implementierung hat als zentrales Element das Key Distribution Center (KDC) Key Distribution Center (KDC) ● Der KDC hält die Schlüssel aller Teilnehmer in einer Datenbank (hier ein LDAP) AS ● Der Authentication Service (AS) ist Teil des KDC und hat damit auch Zugriff auf alle Schlüssel linuxkdc 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 7
Teilnehmer → Principals ● sind eine authentifizierbare Entitäten und können sich auf einzelne Benutzer, Computer, Dienste, Prozesse oder Threads beziehen Users/Clients ● müssen identifiziert und authentifiziert werden, bevor ihnen Rechte und Privilegien zugewiesen werden können. ● sind durch eine zugehörige Kennung (Security Identifier) identifiziert Server/Services Quelle: https://de.wikipedia.org/wiki/Prinzipal_(Computersicherheit) Teilnehmer/Kommunikationspartner 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 8
Pre-Shared Secrets Keytab – Enthält einen Export linuxkdc ausgewählter kryptographischer Schlüssel aus dem KDC passw0rd User/Client Server/Services 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 9
Keytabs ● Container für verschiedene kryptografische Schlüssel ● verschiedene Hash-Algorithmen vorgeneriert ● KVNO → Key Version Number Wird inkrementiert, wenn ein neuer Schlüssel ausgestellt wird (z.B. bei einer Passwortänderung) 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 10
Verbindungsaufbau zu einem Dienst User AliceA AS AS Service Bob B KA KA KB „A für B“ AS NA KB A,B,NA NA TicketCache linuxkdc NA,B,SK SK,A passw0rd KA KB Keytab SK SK,A KB SK NB NB SK NB NB-1 [A] User [B] Service SK = SessionKey = Pre-Shared Secret Von Michael F. Schönitzer - Eigenes Werk, CC-BY 4.0, https://commons.wikimedia.org/w/index.php?curid=55390446 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 11
Erweiterung auf SingleSignOn (SSO) – Teil 1 User AliceA AS AS TGS Bob B KA KA KB „A für B“ AS NA KB A,B,NA TGS NA linuxkdc NA,B,SK SK,A passw0rd KA KB SK SK,A TGT KB SK NB NB SK NB NB-1 [A] User SK = SessionKey/TGT = Pre-Shared Secret Von Michael F. Schönitzer - Eigenes Werk, CC-BY 4.0, https://commons.wikimedia.org/w/index.php?curid=55390446 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 12
Erweiterung auf SingleSignOn (SSO) – Teil 2 User AliceA TGS AS Service Bob B KA KA KB AS NA KB A,B,NA „A für B“ TGS NA linuxkdc NA,B,SK SK,A passw0rd KA KB SK SK,A KB SK NB NB SK NB NB-1 [A] User [B] Service SK = TGT (SK) = Service (SK) = Pre-Shared Secret Von Michael F. Schönitzer - Eigenes Werk, CC-BY 4.0, https://commons.wikimedia.org/w/index.php?curid=55390446 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 13
TicketCache / ServiceTickets / TGT für Clients unverschlüsselter SessionKey TicketCache ServiceTicket verschlüsselter SessionKey (mit Schlüssel des Zieles) TGT 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 14
Schwachstellen ● Keytabs mit Pre-Shared Secrets: Dienste können “übernommen” werden → z.B. Man-in-the-middle Attacke ● Gegenmaßnahmen: Zugriffsschutz auf den Systemen ● TicketCaches mit TGTs/ServiceTickets: Anmeldung mit Identität des Benutzers ● Gegenmaßnahmen: Zugriffsschutz auf den Systemen + Begrenzung der Gültigkeit 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 15
Aufbau am RRZE ● IdMS „Benutzerverwaltung“ Identity Management System ● GLAT Grand Linux Administration Toolkit „Rechnerverwaltung“ ● linuxkdc Key Distribution Center (KDC) und Authentication Service (AS) für „Kerberos-Server“ den Realm “LINUX.FAU.DE” 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 16
Anlage/Provisionierung von Principals ^ User-Principals (IdM) generiert Schlüssel-Hashes linuxkdc Authentication Service (AS) IdM GLAT Service-Principals (GLAT) Zentrale Quellsysteme Principal geheimer Schlüssel [IdM-Kennung]@LINUX.FAU.DE Passwort (IdM) host/dialog.rrze.uni-erlangen.de@LINUX.FAU.DE Passwort (Zufall) 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 17
Daten eines Principals auf dem KDC Name/Identifier Ticketlaufzeit Schlüssel-Hashes (generiert aus dem Passwort) 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 18
Realms und Cross-Realm Trusts ● Windows/Mac am RRZE nutzen Windows Active-Directory (AD) Infrastruktur → Realm: FAUAD.FAU.DE ● Bidirektionaler Trust mit LINUX.FAU.DE Realm fauad linuxkdc FAUAD.FAU.DE LINUX.FAU.DE 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 19
Vorteile ● Ermöglicht echtes “Single Sign On” Ticket Granting Tickets (TGT) (nicht nur Web) ● Ermöglicht verschlüsselte Kommunikation Session Keys (z.B. genutzt von NFSv4) (SK) ● Funktioniert auch über OS und Cross-Realm Domain-Grenzen hinweg Trusts 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 20
Grenzen: Authentication vs. Authorization ● Kerberos liefert nur Authentifizierung (und kann LDAP in diesem Punkt ersetzen) ● Authorisierung muss anders gelöst werden! ● Viele Systeme nutzen gruppenbasierte Authorisierung eines bestehenden Verzeichnisdienstes ● Deshalb zusätzliche LDAP-Anbindung meistens sinnvoll Mehr Infos → https://www.anleitungen.rrze.fau.de 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 21
RRZE-Veranstaltungskalender und Mailinglisten Kalender abonnieren oder bookmarken www.rrze.fau.de/veranstaltungen/veranstaltungskalender/ Mailingliste abonnieren Wöchentliche Terminhinweise werden zusätzlich an die Mailingliste RRZE-Aktuelles gesendet. Auch diese Liste kann man abonnieren: https://lists.fau.de/mailman/listinfo/rrze-aktuelles 14.07.2021 | Systemausbildung – Kerberos | Florian Klemenz 22
REGIONALES RECHENZENTRUM ERLANGEN [ RRZE ] Vielen Dank für Ihre Aufmerksamkeit! Regionales Rechenzentrum Erlangen [RRZE] Martensstraße 1, 91058 Erlangen www.rrze.fau.de
Sie können auch lesen