lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

Heimdal einrichten

Im Großen und Ganzen folgend wir folgenden How-To: http://www.freebsd.org/doc/handbook/kerberos5.html

Die Installation geht z.B. erfolgt über das Portssystem

[root@itoko /var/heimdal]# cd /usr/ports/security/heimdal
[root@itoko /usr/ports/security/heimdal]# make
[root@itoko /usr/ports/security/heimdal]# make install
[root@itoko /usr/ports/security/heimdal]# make clean

Sollte Heimdal nach dem nächsten Bootup automatich gestartet werden genügt folgender Eintrag in die /etc/rc.conf

kerberos5_server_enable="YES"
kadmind5_server_enable="YES"

Danach die Konfiguration. Genauso wie MIT Kerberos benötigen wir eine /etc/krb5.conf. Hier werden REALM, und die dazugehörigen Server definiert.

Hier gibt es unsere Beispieldatei: Heimdal /etc/krb5.conf

Zuerst müssen wir mal die Datenbak initialisieren:

[root@itoko /usr/ports/security/heimdal]#  kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx

Jetzt starten wir also root direkt das Verwaltungstool kdamin und legen zuerst den REALM an:

[root@itoko /usr/ports/security/heimdal]# kadmin -l
kadmin> init CALMAR.NET
Realm max ticket life [unlimited]:

Und jetzt legen wir den ersten User an. Hier legen wir gleich den User ijin an der der Untergruppe admin angehört.

kadmin> add ijin/admin
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxx

Jetzt starten wir den Heimdal das erste Mail per Hand

[root@itoko /usr/ports/security/heimdal]# /etc/rc.d/kerberos start
[root@itoko /usr/ports/security/heimdal]# /etc/rc.d/kadmind start

Nun versuchen wir uns das erste Mal beim Kerberos anzumelden.

[root@itoko /var/heimdal]# kinit ijin/admin
ijin/admin@CALMAR.NET's Password:

Und Bingo - es hat geklappt. Das Kommando klist zeigt unser "Ticket".

[root@itoko /var/heimdal]# klist
Credentials cache: FILE:/tmp/krb5cc_0
        Principal: ijin/admin@CALMAR.NET

  Issued           Expires          Principal
Apr  3 23:56:26  Apr  4 09:56:26  krbtgt/CALMAR.NET@CALMAR.NET

Und das Ticker wieder "zerstören" mit dem Kommando kdestroy

[root@itoko /var/heimdal]# kdestroy

Nun wollen wir eine keytab Datei erzeugen.In dieser werden die Schlüsseĺ der Serverdienste gespeichert, die mit Kerberos arbeiten sollen. z.B. der OpenLDAP Server oder Cyrus IMAP etc. Dabei werden im Programm kadmin Zufallsschlüssel durch einen Schlüsselgenerator geschickt:

Allerdings haben wir im Moment noch nicht die Berechtigung dazu. Die Rechte, wer was darf sind in der /var/heimdal/kadmind.acl gespeichert. Dabei handelt es sich um eine einfache Textdatei. Nachfolgend unsere Beispieldatei mit genau einer Zeile.

ijin/admin@CALMAR.NET all

Achtung bei Heimdal heißt die Freigabe für die Dienste "all" und nicht "*"

Nun sind wir also berechtigt alle Operationen durchzuführen. Zuerst also den Zufallsschlüssel erstellen:

kadmin> add --random-key ldap/itoko.calmar.net

Die Syntax ist immer Dienst/Server. Nach der Schlüsselgenerierung muss das Ganze noch in die Datei /etc/krb5.keytab geschrieben werden mit. Und das geht so.

kadmin> ext ldap/itoko.calmar.net

Jetzt ist der Schlüssel für diesen Dienst in der Datei /etc/krb5.keytab gespeichert. Der muss nun auch vom entsprechenden Dienst aus lesbar sein. Ldap zum Beispiel ist nicht Mitglied in der Gruppe wheel (FreeBSD) und kann deshalb die krb5.keytab gar nicht auslesen.

Hier muss man z.B. die Rechte anpassen

[root@itoko /usr/home/ijin]# chmod 640 /etc/krb5.keytab
[root@itoko /usr/home/ijin]# chgrp ldap  /etc/krb5.keytab

Fertig. Der LDAP kann jetzt ohne weitere Konfiguration beim Kerberos anmelden. Die Test ob die Kombination OpenLDAP/Heimdal läuft können wir lokal austesten indem wir folgendes Kommando absetzen.

bic@haruka:/home$ ldapsearch -h itoko -b uid=ijin,ou=people,dc=calmar,dc=net -Y gssapi  -U ijin
SASL/GSSAPI authentication started
SASL username: ijin@CALMAR.NET
SASL SSF: 56
SASL data security layer installed.
..........

(V1.04)