So ändern Sie die Kerberos-Standard-Ticketlebensdauer

8

Auf unseren KDC-Servern wird entweder Ubuntu Dapper (2.6.15-28) oder Hardy (2.6.24-19) ausgeführt. Die Kerberos-Software ist die MIT-Implementierung von Kerberos 5. Standardmäßig dauert ein Kerberos-Ticket 10 Stunden. Wir möchten es jedoch etwas erhöhen (z. B. 14 Stunden), um unseren Bedürfnissen besser zu entsprechen. Ich hatte Folgendes getan, aber die Ticketlebensdauer bleibt immer noch bei 10 Stunden:

  1. Stellen Sie auf allen KDC-Servern den folgenden Parameter unter "[Realms]" ein /etc/krb5kdc/kdc.confund starten Sie den KDC-Daemon neu:

    max_life = 14h 0m 0s
    
  2. Über "kadmin" wurde die "maxlife" für ein Testprinzip über "modprinc -maxlife 14hours" geändert.

    "getprinc" zeigt an, dass die maximale Ticketlebensdauer tatsächlich 14 Stunden beträgt: Maximale Ticketlebensdauer: 0 Tage 14:00:00

  3. Legen Sie auf einem Kerberos-Clientcomputer die folgenden Parameter unter [libdefaults], [realms], [domain_realm] und [login] in /etc/krb5.conf fest (im Grunde überall, da nichts, was ich versucht habe, funktioniert hat):

    ticket_lifetime = 13hrs
    default_lifetime = 13hrs
    

Mit den oben genannten Einstellungen würde die Ticketlebensdauer vermutlich auf 13 Stunden begrenzt. Wenn ich das tue k5start -l 14h -t <principal>, sehe ich, dass die Endzeit für die Zeile "Erneuern bis" jetzt 14 Stunden ab der Startzeit beträgt:

Valid starting     Expires            Service principal
04/13/10 16:42:05  04/14/10 02:42:05  krbtgt/<realm>@<realm>
 renew until 04/14/10 06:42:03

"-l 13h" würde die Endzeit in der Zeile "Erneuern bis" 13 Stunden nach der Startzeit festlegen.

Das Ticket läuft jedoch noch in 10 Stunden ab (04/13 16:42:05 - 014/14 02:42:05).

Ändere ich nicht die richtigen Konfigurationsdateien / Parameter, gebe nicht die richtige Option an, wenn ich ein Kerberos-Ticket erhalte, oder etwas anderes?

user40497
quelle

Antworten:

12

Es stellte sich heraus, dass ich auch den Parameter "maxlife" für den Dienstprinzipal ändern musste. Insbesondere musste ich "modprinc -maxlife 14hours krbtgt / [REALM_in_CAPS]" ausführen, um die Lebensdauer auf 14 Stunden zu erhöhen.

Zusammenfassend ist die Ticketlebensdauer das Minimum der folgenden Werte:

  • max_lifein kdc.confauf dem KDC - Server.

  • ticket_lifetimein krb5.confauf dem Client - Rechner.

  • maxlife für den Benutzerprinzipal.

  • maxlife für den Service Principal "krbtgt / [REALM_in_CAPS]" => Was ich verpasst hatte!

  • angeforderte Lebensdauer in der Ticketanfrage. Zum Beispiel:

    • k5start -l 14h
    • kinit -l 14h
  • maxlife für den AFS-Dienstprinzipal "afs / [Realm_in_lower_case]", wenn Sie die Lebensdauer Ihres AFS-Tokens verlängern möchten.

Geheimnis gelüftet!

user40497
quelle
Welche anderen Einstellungen für die Lebensdauer sind erforderlich, wenn sich der Benutzerprinzipal in einem anderen Bereich als der Dienstprinzipal befindet und eine Einwegvertrauensstellung vom Dienstbereich zum Benutzerbereich besteht?
Jayen
Können Sie Ihr vollständiges Beispiel @ user40497 angeben?
Christopher Clark