Forum: PC Hard- und Software Fragen zu Kerberos


von Daniel A. (daniel-a)


Lesenswert?

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
Noch kein Account? Hier anmelden.