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.

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