Diese Seite beschreibt das Kerberos-Setup in Zeuthen. Das grundsätzliche Kerboros-Prinzip ist hier beschrieben: [[https://de.wikipedia.org/wiki/Kerberos_(Informatik)]] == Software == Wir nutzen die Kerberos-5 Implementation '''Heimdal''' in der Version 7.4 aktuell. RPM-Pakete werden von uns direkt aus den Quellen gebaut. Es gibt mittlerweile brauchbare Pakete in Fedora-EPEL, die aber teilweise andere Pfade nutzen und somit bei einer Migration Aufwand zu tätigen ist. == Client == Clients werden über das '''kerberos''' Feature konfiguriert. Das Feature erzeugt 2x die Konfiguration: || /etc/krb5.conf || Konfiguration für '''MIT''' Implementation || || /etc/heimdal/krb5.conf || Konfiguration für '''Heimdal''' Implementation || Dies ist nötig, da manche Optionen in unterschiedliche benannt sind in den beiden Implementationen. Zusätzlich zur standardmäßigen, im System enthaltenen '''MIT'''-Kerberos Implementation installieren wir auf allen (Client-)Systemen auch Heimdal. Primär deshalb, weil in den Heimdal-Clients eine sehr gute AFS-Unterstützung eingebaut ist. So generiert/aktualisiert ein Heimdal-Client beim '''kinit''' Aufruf automatisch das AFS-Token. Die MIT-Implementation macht das nicht, sodaß Wrapper o.ä. nötig wären in diesem Fall. Alle im System enthaltene kerberisierte Software nutzt jedoch die MIT-Bibliotheken. Dieser Mischbetrieb läuft bislang problemlos. == Server == Wir betreiben 3 "Key Distribution Centre" (KDC) als VM auf den Hosts fred, wilma, barney. Alias-Namen: '''kdc{1..3}''', wobei fred-vm1 (aka kdc1) die Master-Datenbank vorhält. Auf diesem läuft der '''kadmind''', der für Änderungen der DB zuständig ist. Mittels des '''iprop'''-Service (inkrementelle Propagierung) wird die Kerberos-Datenbank auf die Slave-Server (kdc2, kdc3) synchronisiert. Die Datenbank und weitere Konfigurationsdateien liegen auf den KDC Hosts unter '''/var/heimdal'''. Unsere Realm heißt immer noch '''IFH.DE'''. Es ist geplant, "irgendwann" diese Realm abzulösen durch '''ZEUTHEN.DESY.DE'''. Die existiert schon, Nutzerpaßwörter werden seit langem auch in diese Realm synchronisiert. === Neustart der KDCs === * lange Authentisierungszeiten deuten auf ein Problem mit den KDCs hin * auf kdc1 laufen: * heimdal-ipropd-master.service * heimdal-kadmind.service * heimdal-kdc.service * auf den anderen beiden: * heimdal-ipropd-slave.service * heimdal-kdc.service * anscheindend kann man die Dienste auf der Maschine in beliebiger Reihenfolge restarten, aber den kdc1 mit seinen Diensten sollte man zuerst bearbeiten == Kerberisierte Dienste in Zeuthen == || Dienst || Principal || evtl. Maschine(n) || || SSH || host/ || alle || || Apache || HTTP/ || z.B. Vamos, Subversion, WWW || || NFSv4 || nfs/ || z.B. alle Poolknoten und Chimera des ACS dCache || || ARCX || arc/ || z.B. acron, afs_admin-Server || || IMAP || imap/ || imap-admin.zeuthen.desy.de || == Automatisierte Verteilung von Kerberos Keytabs == Standardmäßig wird beim Aufruf von '''prepare-ai''' der '''host/@IFH.DE''' Principal angelegt ( /!\ oder mit neuen Keys versehen!). Sollen weitere Principals für einen Host mit angelegt werden, sollte dies über das Setzen der Vamos-Variable '''AI_KRB5_KEYS''' geschehen. Bsp: {{{ [wgs03] ~ % vamos -qx host tac-vm7 vars.AI_KRB5_KEYS imap }}} Die Keytab wird vom Postinstall Skript der Linuxinstallation nach /etc/krb5.keytab kopiert - sie ist nur von root lesbar. Für manche Dienste, die nicht unter der uid '''root''' laufen, ist eine separate Keytab-Datei die beste Lösung. Zum Extrahieren der Keys eines Dienstes in eine andere Keytab existiert im Sue/CfEngine Archiv das Skript '''~TUTILS/extract-keytab-keys'''. Das '''dcache'''-Feature kann als Vorlage herangezogen werden.