Ich lese mich gerade in Kerberos ein und das Needham–Schroeder Protokoll ein. Ich will das (oder etwas darauf basierendes) auf meinen Linux Systemen und in meinen eigenen Anwendungen zur Authentifizierung und für SSO verwenden. Nun habe ich einige Fragen dazu. 1) Im Needham–Schroeder Protokoll gibt es am schluss 2 Schritte, wo Bob Alice eine Nonce sendet, und Alice sendet sie um 1 erhöht zurück. Das schliesst Replay Attacken aus. Bei Kerberos sehe ich den Schritt nicht, wie wird das dort verhindert? 2) Angenommen ich konfiguriere meine Linux Systeme so, dass libpam-krb5, oder sssd, fürs Login am System (grafisch und TTY), genutzt werden. Gibt es da einen Service Account dazu? Ich konnte da nichts dazu finden. Bei SSH gibt es den "host" Service für den PC in der Keytab. Wenn der TGS mir ein gültiges Ticket für den Service gibt, muss der TGS den Key gehabt haben, also alles gut. Würde man aber schon nachdem man sein TGT bekommen hat, denken, alles OK, login Erfolgreich, dann könnte ich doch einfach ein MITM beim KDC/TGS machen und mir einen beliebigen Benutzer und Passwort ausdenken, mit dem ich mich einloggen könnte. Ok, wenn es auch lokal oder im LDAP einen Account geben muss, und man sich auch dort authentifiziert, was in der Regel beim Login mit PAM ja durchaus üblich ist, dann wäre es kein Problem mehr. Aber das kann ja wohl nicht die Idee sein, oder? 3) Müsste ich für jeden Service, den ich per Kerberos SSO nutzen können will, eine keytab anlegen, und zwar auf jedem PC, auf dem der Server existiert? Das würde ja recht umständlich werden, und würde ich gerne vermeiden. Damit kommen wir zu 4. 4) Würde es da eventuell sinn machen, jeweils Lokal einen per Kerberos authentifizierten Service zu haben, um lokale Services zu authentifizieren, statt das Zentral zu verwalten? 5) Ich würde 4 gerne mit User-to-User statt User-to-Service Tickets kombinieren. Das ist eine MS Extension. Kann man das unter Linux mit bestehenden Libraries nutzen? Und den KDC will ich auch unter Linux laufen lassen. (Mein use-case ist folgender. Auf jedem PC ist ein Display Server. Jeder User auf jedem PC soll ohne Passwörter usw. aber trotzdem Sicher Fenster und Bildschirme mit bereits angemeldeten Benutzern Sharen können. Der andere Benutzer muss dann nur noch auf OK klicken.). 6) Welche Libraries / APIs, würdet ihr für kerberos verwenden? (Links zu API Dokumentation und/oder Beispiele wären gut. Ich nutze C in meinen Programmen).
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.