Inhaltsverzeichnis
Kerberos
Hauptanwendung ist sicheres NFS.
Voraussetzung ist ein funktionierendes DNS. Alle beteiligten Systeme müssen
auflösbar sein. Sowohl mit A- als auch PTR-Record.
Installation
Server
Der Server stellt sowohl den KDC als auch den Admin-Server zur Verfügung.
apt-get install krb5-kdc krb5-admin-server
Konfiguration
krb5_newrealm- Master-Kennwort erforderlich
kadmin.locallist_principalszum überprüfen was gerade eingetragen istaddprinc root/admin- Administrationskennwort erforderlich.
- Über diesen Principal werden die Administrativen Tätigkeiten durchgeführt
addprinc -randkey host/server.example.comktadd host/server.example.com- erzeugt eine Keytab-Datei auf dem aktuellen Server in
/etc - enthalten ist der im vorigen Befehl erzeugte Principal für den Server
quit
/etc/krb5kdc/kadm5.aclbearbeitenroot/admin *, Berechtigung für den zuvor erzeugten Admin-Principal
/etc/default/nfs-kernel-serverNEED_SVCGSSD=„yes“
- Daemonen neu starten, damit die erzeugte Konfiguration aktiv wird
krb5-kdckadmind
Client
apt-get install krb5-user
Konfiguration
kadmin- spricht mit dem
kadmindauf dem Server addprinc -randkey host/client.example.comktadd host/client.example.com- Legt auf dem aktuellen Rechner (Client) eine Keytab-Datei an
- enthalten ist der im vorigen Befehl erzeugte Principal für den Client
quit
/etc/default/nfs-commonNEED_IDMAPD=yesNEED_GSSD=yes
- Daemonen neu starten
nfs-common
Hinweis: mit ktutil kann man sich den Inhalt einer Keytab-Datei anzeigen lassen, zur Überprüfung, ob alles so funktioniert hat wie gewünscht.
Kinit automatisieren
Manuell anlegen einer Keytab welche einen Namen enthält und ein zugeordnetes Kennwort.
Dieses kann dann für den kinit-befehl verwendet werden, so daß dieser keine
Eingabeaufforderung für ein Kennwort mehr benötigt:
ktutil ktutil: addent -password -p username@EXAMPLE.COM -k 1 -e rc4-hmac ktutil: wkt /home/username/example.keytab ktutil: exit
Überprüfen:
klist -e -k -t example.keytab
kinit automatisieren:
kinit username@EXAMPLE.COM -k -t /home/username/example.keytab
Nutzung
Bereitstellen von NFS-Verzeichnissen durch den Server
TODO noch unklar ob das die „optimalen“ Einstellungen sind oder es ggf. bessere / elegantere Möglichkeiten gint
- /etc/exports
/export gss/krb5p(rw,fsid=0,insecure,no_subtree_check,async,anonuid=65534,anongid=65534) /export/volume1 gss/krb5p(rw,nohide,insecure,no_subtree_check,async,anonuid=65534,anongid=65534)
Anbinden von NFS-Freigaben an den Client
mount -t nfsv4 -osec=krb5p server:/volume1 /mnt
