Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
kerberos_mit [2014/12/07 20:41] – admin | kerberos_mit [2017/04/01 17:26] (aktuell) – gelöscht admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | {{datei: | ||
- | |||
- | |||
- | ====== Konfiguration des Servers unter Gentoo ====== | ||
- | |||
- | |||
- | Installation des Servers mit den richtigen Useflags: | ||
- | | ||
- | emerge -va app-crypt/ | ||
- | |||
- | In LDAP die Schematas nicht vergessen zu aktivieren. Es gibt zwei Konfigurationsverzeichnise: | ||
- | | ||
- | /etc/krb5.* | ||
- | / | ||
- | |||
- | |||
- | |||
- | ===== Konfigdateien ===== | ||
- | |||
- | |||
- | |||
- | ==== krb5.conf ==== | ||
- | |||
- | | ||
- | nano / | ||
- | |||
- | | ||
- | [libdefaults] | ||
- | default_realm = OSIT.CC | ||
- | | ||
- | [realms] | ||
- | # use "kdc = ..." if realm admins haven' | ||
- | OSIT.CC = { | ||
- | kdc = itmgmt.osit.cc | ||
- | admin_server = itmgmt.osit.cc | ||
- | } | ||
- | | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | | ||
- | [logging] | ||
- | # kdc = CONSOLE | ||
- | |||
- | |||
- | |||
- | ==== kdc.conf ==== | ||
- | |||
- | |||
- | < | ||
- | nano / | ||
- | </ | ||
- | | ||
- | [kdcdefaults] | ||
- | kdc_ports = 750,88 | ||
- | | ||
- | [realms] | ||
- | OSIT.CC = { | ||
- | database_name = / | ||
- | admin_keytab = FILE:/ | ||
- | dict_file = / | ||
- | acl_file = / | ||
- | # | ||
- | # | ||
- | kdc_ports = 750,88 | ||
- | max_life = 10h 0m 0s | ||
- | max_renewable_life = 7d 0h 0m 0s | ||
- | } | ||
- | | ||
- | [logging] | ||
- | kdc = FILE:/ | ||
- | admin_server = FILE:/ | ||
- | | ||
- | [appdefaults] | ||
- | pam = { | ||
- | ticket_lifetime = 1d | ||
- | renew_lifetime = 1d | ||
- | forwardable = true | ||
- | proxiable = false | ||
- | retain_after_close = false | ||
- | minimum_uid = 0 | ||
- | try_first_pass = true | ||
- | } | ||
- | |||
- | |||
- | |||
- | ==== kadm5.acl ==== | ||
- | |||
- | | ||
- | */ | ||
- | *@OSIT.CC cil | ||
- | */*@OSIT.CC i | ||
- | |||
- | Um exklusivere ACLs zu gestalten kann man sich die Datei **kadm5.acl.example** zu Gemüte führen. Die Reihenfolge der Einträge ist wichtig. Genau wie bein den LDAP-ACLS wird die Suche nach dem ersten passenden Eintrag abgebrochen. Die erste Spalte gibt das Muster vor; die Berechtigungen ergeben sich aus den in der zweiten Spalte angegebenen Parametern; ***** bedeutet Vollzugriff, | ||
- | |||
- | |||
- | ===== Anlegen der Datenbank ===== | ||
- | |||
- | | ||
- | kdb5_util create -r OSIT.CC -s | ||
- | |||
- | Das ganze dauert gut 5-8 Minuten, danach wird das Passwort festgelegt. Um das ganze nicht zu sehr zu verkomplizieren sollten wir hier das Passwort des LDAPadmins verwenden. Im Verzeichnis **/ | ||
- | | ||
- | -rw------- | ||
- | -rw-r--r-- | ||
- | -rw-r--r-- | ||
- | -rw-r--r-- | ||
- | -rw-r--r-- | ||
- | -rw-r--r-- | ||
- | -rw------- | ||
- | -rw------- | ||
- | -rw------- | ||
- | |||
- | |||
- | |||
- | ===== Kerberos-Tools ===== | ||
- | |||
- | |||
- | Nun geht es zu erstellen der Principals. DAzu verwenden wir zunächst das Admin-Tool **kadmin.local**. Die Tools **kadmin** und **kadmin.local** sind von der Funktionalität identisch; allerdings greift kadmin.local direkt auf die KDC-Datenbank zu und benötigt selbst keine Kerberos-Authentifizierung (die zu diesem Zeitpunkt ja auch noch gar nicht in Funktion ist). Zur späteren, netzwerkweiten Verwaltung sollte **kadmin** verwendet werden. | ||
- | |||
- | < | ||
- | kadmin.local | ||
- | Authenticating as principal root/ | ||
- | kadmin.local: | ||
- | kadmin.local: | ||
- | kadmin.local: | ||
- | </ | ||
- | Hier haben wir nun den admin Principal angelegt, zur Verwaltung unserer Kerberos-Datenbank. Mit **getprincs** sieht man alle bestehenden. Da Kerberos alleine ja keinen Sinn macht, gehen wir gleich zur Verbindung mit LDAP weiter. | ||
- | |||
- | |||
- | ===== Kerberos und LDAP ===== | ||
- | |||
- | Um unseren LDAP in Verbindung mit SASLMech GSSAPI nutzen zu können, müssen wir Principals für die Hosts und die Services anlegen: | ||
- | | ||
- | kadmin.local: | ||
- | |||
- | Hier erfolgt keine Passwortabfrage, | ||
- | | ||
- | kadmin.local: | ||
- | |||
- | In der gleichen Weise gehen wir vor für **ldap/ | ||
- | | ||
- | kadmin.local: | ||
- | kadmin.local: | ||
- | kadmin.local: | ||
- | kadmin.local: | ||
- | |||
- | Nun müssen wir noch für unsere 3 LDAP-Hosts eine Keytab unter **/etc/** anlegen. | ||
- | | ||
- | kadmin.local: | ||
- | |||
- | Der Inhalt der neuralgischen Keytab-Datei unter **/ | ||
- | | ||
- | ktutil rkt / | ||
- | |||
- | einlesen und auflisten. Per **delprinc** lassen sich Principals innerhalb des Kadmin-Interface löschen. | ||
- | |||
- | Warum die krb5.keytab so wichtig ist: in ihr befinden sich die lokalen Kopien der Schlüssel, den die Hosts/ | ||
- | | ||
- | systemctl enable krb5-kdc.service | ||
- | systemctl start krb5-kdc.service | ||
- | systemctl enable krb5-kadmind.service | ||
- | systemctl start krb5-kadmind.service | ||
- | systemctl enable mit-krb5kpropd.service | ||
- | systemctl start mit-krb5kpropd.service | ||
- | |||
- | |||
- | |||
- | ===== Das erste Ticket ===== | ||
- | |||
- | Hierzu diesen Befehl eingeben: | ||
- | | ||
- | kinit root/admin | ||
- | |||
- | Nach der Eingabe des Kennworts für seinen Principal erhält der User sein erstes Ticket (TGT). dessen Vorhandensein wir uns mit **klist** schnell bestätigen lassen können: | ||
- | | ||
- | Ticket cache: FILE:/ | ||
- | Default principal: root/ | ||
- | | ||
- | Valid starting | ||
- | 07.12.2014 21: | ||
- | renew until 08.12.2014 21:28:24 | ||