Authentifizierungsarten am Beispiel ssh Kerberos SSO

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Verbindungsaufbau
  • Der Client baut eine verschlüsselte SSH-Verbindung zum Server auf und startet die Authentifizierung.
Legitimation des Servers
  • Verfahren hier unrelevant.
Übertragung des Benutzernamens
  • Der Client übermittelt den Benutzernamen, unter dem er sich anmelden möchte.
Kerberos-Ticket-Anfrage
  • Der Client muss bereits ein **Ticket Granting Ticket (TGT)** besitzen, das beim **Kerberos Key Distribution Center (KDC)** ausgestellt wurde.
  • Falls der Client noch kein TGT besitzt, muss er sich zuerst beim KDC anmelden, um das TGT zu erhalten (z. B. durch Eingabe des Passworts).
  • Mit dem vorhandenen TGT fordert der Client ein **Service-Ticket** vom KDC für den SSH-Server an.
Prüfung der Authentifizierungsquelle in /etc/nsswitch.conf
  • Der Server überprüft anhand der Datei /etc/nsswitch.conf, wo er die Benutzerdaten suchen soll (z. B. `files` oder `ldap`).
  • Kerberos wird für die Authentifizierung genutzt, aber die Benutzerinformationen können lokal oder über LDAP abgefragt werden.
Kerberos-Authentifizierung
  • Der Client sendet das vom KDC ausgestellte **Service-Ticket** an den SSH-Server.
  • Der SSH-Server validiert das Service-Ticket, indem er es beim **Kerberos-Server** überprüft.
  • Wenn das Ticket gültig ist, wird die Authentifizierung als erfolgreich betrachtet.
Prüfung durch PAM
  • Nach erfolgreicher Kerberos-Authentifizierung kann PAM für weitere Prüfungen wie Zugriffsrechte und zusätzliche Sicherheitskontrollen verwendet werden.
  • PAM-Module (Pluggable Authentication Modules) können sicherstellen, dass der Benutzer zusätzliche Richtlinien erfüllt, bevor die Session gestartet wird.
Entscheidung
  • Erfolgreiche Authentifizierung:
    • Wenn das Service-Ticket gültig ist und die PAM-Prüfungen bestanden werden, wird der Zugriff gewährt und eine SSH-Sitzung eingerichtet.
  • Fehlgeschlagene Authentifizierung:
    • Wenn das Ticket ungültig ist oder die PAM-Prüfungen fehlschlagen, wird der Zugriff verweigert.
Session-Erstellung
  • Nach erfolgreicher Authentifizierung und bestandenen PAM-Prüfungen wird eine SSH-Session eröffnet, und der Benutzer kann auf den Server zugreifen.
Protokollierung
  • Der gesamte Authentifizierungsvorgang wird über journal protokolliert und kann über journalctl eingesehen werden.