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

  1. krb5_newrealm
    • Master-Kennwort erforderlich
  2. kadmin.local
    • list_principals zum überprüfen was gerade eingetragen ist
    • addprinc root/admin
      • Administrationskennwort erforderlich.
      • Über diesen Principal werden die Administrativen Tätigkeiten durchgeführt
    • addprinc -randkey host/server.example.com
    • ktadd 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
  3. /etc/krb5kdc/kadm5.acl bearbeiten
    • root/admin *, Berechtigung für den zuvor erzeugten Admin-Principal
  4. /etc/default/nfs-kernel-server
    • NEED_SVCGSSD=„yes“
  5. Daemonen neu starten, damit die erzeugte Konfiguration aktiv wird
    • krb5-kdc
    • kadmind

Client

apt-get install krb5-user

Konfiguration

  1. kadmin
    • spricht mit dem kadmind auf dem Server
    • addprinc -randkey host/client.example.com
    • ktadd 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
  2. /etc/default/nfs-common
    • NEED_IDMAPD=yes
    • NEED_GSSD=yes
  3. 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