Authentifizierungsarten am Beispiel ssh gegen LDAP mit Public Key

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.
Prüfung der Authentifizierungsquelle in /etc/nsswitch.conf
  • Der Server überprüft anhand der Datei /etc/nsswitch.conf, ob die Benutzerdaten über **LDAP** oder lokale Quellen (z. B. `files`) bezogen werden sollen.
  • Typischerweise wird der Benutzer in **LDAP** gesucht.
Benutzerprüfung über LDAP
  • Der Server fragt den **LDAP-Server** nach den Benutzerdaten (z. B. Vorhandensein des Benutzers, Gruppenmitgliedschaft).
  • Wenn der Benutzer in LDAP vorhanden ist, wird die Authentifizierung fortgesetzt.
Public-Key-Authentifizierung
  • Der Server überprüft, ob der öffentliche Schlüssel des Benutzers in der Datei `~/.ssh/authorized_keys` vorhanden ist (dieser Schlüssel wird **lokal** auf dem Server gespeichert).
  • Wenn der Public Key vorhanden ist, erstellt der Server eine **Challenge** (Herausforderung) und verschlüsselt sie mit dem **öffentlichen Schlüssel** des Clients.
  • Der Client entschlüsselt die Challenge mit seinem **privaten Schlüssel** und sendet die entschlüsselte Antwort an den Server zurück.
  • Wenn die Antwort korrekt ist und mit der Challenge übereinstimmt, ist die Authentifizierung abgeschlossen.
Prüfung durch PAM
  • Nach erfolgreicher Public-Key-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 die Antwort des Clients korrekt ist und die PAM-Prüfungen bestanden werden, wird der Zugriff gewährt und eine SSH-Sitzung eingerichtet.
  • Fehlgeschlagene Authentifizierung:
    • Wenn die Verifizierung der Antwort fehlschlägt 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.