Einrichten von Kerberos Server und Client unter Ubuntu 18.04 LTS

Kerberos ist ein Netzwerkauthentifizierungsprotokoll, das symmetrische Schlüsselkryptographie verwendet und die Autorisierung durch einen vertrauenswürdigen Dritten erfordert, um Client-Server-Anwendungen zu authentifizieren. Es wurde ursprünglich vom Massachusetts Institute of Technology (MIT) entwickelt, um die vom Athena-Projekt bereitgestellten Netzwerkdienste zu schützen.

In der modernen Welt wird Kerberos häufig als Authentifizierungsdienst eines Drittanbieters verwendet. Dies bedeutet, dass alle Clients dem Urteil von Kerberos über die Identität eines anderen Clients vertrauen.

In diesem Tutorial zeigen wir Ihnen, wie Sie die Kerberos-Authentifizierung zwischen zwei Ubuntu 18.04-Servern einrichten. Wir installieren und konfigurieren den Kerberos-Server auf dem Ubuntu-Server und installieren dann den Kerberos-Client auf dem anderen. Abschließend testen wir die Authentifizierung des SSH-Dienstes mit dem Kerberos-Server.

Voraussetzungen

  • Ubuntu Server 18.04
    • 10.10.10.15 krb5.ahmad.io krb5
    • 10.10.10.16 client1.ahmad.io client1
  • Root-Rechte

Was wir tun werden:

  1. FQDN-Datei einrichten
  2. KDC Kerberos Server installieren
  3. KDC Kerberos Server konfigurieren
  4. Kerberos-Client installieren und konfigurieren
  5. Testen

Schritt 1 – FQDN einrichten

Zunächst müssen wir den FQDN auf dem Kerberos-Server konfigurieren und dann die Datei ‚/ etc / hosts‘ des Servers bearbeiten.

Ändern Sie den FQDN des Kerberos-Servers mit dem folgenden Befehl.

hostnamectl set-hostname krb5.ahmad.io

Bearbeiten Sie danach die Datei ‚/ etc/hosts‘ mit dem vim-Editor.

vim /etc/hosts

Ändern Sie die IP-Adresse und den FQDN mit Ihrer eigenen und fügen Sie sie ein.

10.10.10.15 krb5.ahmad.io krb5

Speichern und schließen.

Testen Sie nun mit dem folgenden Befehl ‚ping‘ und stellen Sie sicher, dass der FQDN auf die richtige IP-Adresse aufgelöst ist.

ping -c 3 $(hostname -f)

Schritt 2 – Installieren Sie den KDC Kerberos Server

Jetzt installieren wir den Kerberos Server auf dem ‚krb5‘ Server mit der IP-Adresse ‚10.10.10.15‘ und der FQDN lautet ‚krb5.ahmad.io ‚.

Installieren Sie Kerberos Server mit dem folgenden apt-Befehl.

sudo apt install krb5-kdc krb5-admin-server krb5-config -y

Während der Installation werden Sie nach dem Kerberos-Realm, dem Kerberos-Server des Realms und dem Admin-Server gefragt.

Standardmäßig verwendet Kerberos den Domänennamen des Kerberos-Servers als REALM, ‚AHMAD.IO‘.

Der Kerberos-Server ist ‚krb5.ahmad.io‘.

Und der Admin-Server wie der Kerberos-Server ‚krb5.ahmad.io‘.

Sobald die Installation abgeschlossen ist, wird angezeigt, dass der Kerberos-Dienst nicht ausgeführt werden konnte. Es ist in Ordnung, weil wir auf der nächsten Stufe konfigurieren.

Schritt 3 – KDC Kerberos Server konfigurieren

Generieren Sie nun mit dem folgenden Befehl ein neues sicheres Master-Kennwort für den Kerberos-REALM.

sudo krb5_newrealm

Geben Sie Ihr sicheres Passwort ein und das REALM-Passwort wird in der Datei ‚/etc/krb5kdc/stash‘ generiert.

Danach müssen wir den Administratorbenutzer (Administratorprinzipal) für den KDC-Kerberos-Server erstellen, den Kerberos-Server-Hostnamen zur Datenbank hinzufügen und dann die Schlüsseltabelle für den Kerberos-Server erstellen.

Führen Sie die ‚kadmin.local‘ Befehlszeilenschnittstelle für Kerberos-Verwaltungsbefehl unten.

sudo kadmin.local

Erstellen Sie einen neuen Administratorbenutzerprinzipal mit dem Namen ‚root‘.

addprinc root/admin

Geben Sie das sichere Kennwort für den Administratorprinzipal ‚root‘ ein.

Fügen Sie den KDC-Kerberos-Server zur Datenbank hinzu und erstellen Sie die Keytab-Datei für den KDC-Host.

addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io

Dann schließen Sie die ‚kadmin.lokale‘ Dienstprogramm.

quit

Als nächstes müssen wir das ‚root‘-Administratorprinzip zur Zugriffssteuerungsliste hinzufügen, indem wir das ‚/etc/krb5kdc/kadm5 .acl-Datei.

vim /etc/krb5kdc/kadm5.acl

Fügen Sie die folgende Konfiguration hinzu.

root/admin * 

Speichern und schließen Sie die Konfiguration und starten Sie den Kerberos-Dienst neu.

sudo systemctl restart krb5-admin-server.service

Und die Konfiguration des KDC Kerberos Servers wurde abgeschlossen.

Schritt 4 – Installieren und konfigurieren Sie den Kerberos-Client

In diesem Schritt installieren wir den Kerberos-Client auf dem Ubuntu-Server mit der IP-Adresse ‚10.10.10.16‘ und dem Hostnamen ‚client1‘.

– FQDN konfigurieren

Konfigurieren Sie den FQDN auf dem Clientcomputer mit dem folgenden Befehl.

hostnamectl set-hostname client1.ahmad.io

Bearbeiten Sie danach die Datei ‚/ etc/hosts‘ mit dem vim-Editor.

vim /etc/hosts

Fügen Sie den KDC Kerberos-Server und den Client wie folgt ein.

10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1

Speichern und schließen.

– Install Kerberos Client

Installieren Sie Kerberos-Client-Pakete, indem Sie den folgenden apt-Befehl ausführen.

sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config

Während der Installation werden Sie nach dem Kerberos-Realm, dem Kerberos-Server des Realms und dem Admin-Server gefragt.

Standardmäßig verwendet Kerberos den Domänennamen des Kerberos-Servers als REALM, ‚AHMAD.IO‘.

Der Kerberos-Server ist ‚krb5.ahmad.io‘.

Und der Admin-Server wie der Kerberos-Server ‚krb5.ahmad.io‘.

Die Installation für den Kerberos-Client ist abgeschlossen.

– Kerberos-Client konfigurieren

Stellen Sie auf dem Clientcomputer mit dem Befehl ‚kadmin‘ eine Verbindung zum KDC Kerberos-Server her.

kadmin

Und Sie werden nach dem Passwort von ‚root/admin‘ gefragt. Geben Sie das Kennwort ein und Sie werden beim KDC Kerberos-Verwaltungssystem angemeldet.

Fügen Sie nun den Client-FQDN hinzu ‚client1.ahmad.io ‚ zur Kerberos-Datenbank und fügen Sie die Keytab-Datei für den Client hinzu.

addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io

Schließen Sie dann die kadmin Kerberos-Administrationsoberfläche.

quit

Und die Konfiguration des Kerberos-Clients ist abgeschlossen.

Schritt 5 – Testen

Für diesen Testzweck konfigurieren wir die SSH-Authentifizierung mit Kerberos. Die Client-Maschine ‚client1.ahmad.io ‚ wird mit dem Server verbinden ‚krb5.ahmad.io ‚ durch SSH mit der Kerberos-Authentifizierung.

– Einrichtung ‚krb5.ahmad.io ‚ Server

Erstellen Sie einen neuen Systembenutzer namens ‚ammar‘.

useradd -m -s /bin/bash ammar

Melden Sie sich bei der KDC-Kerberos-Administration an und fügen Sie einen neuen Hauptbenutzer namens ‚ammar‘ hinzu.

kadmin.local
addprinc ammar

Schließen Sie die Kerberos-Administrationsoberfläche und bearbeiten Sie die SSH-Konfiguration ‚/etc/ssh/sshd_config‘.

vim /etc/ssh/sshd_config

Kommentieren Sie die ‚GSSAPIAuthentication‘ aus und aktivieren Sie sie, indem Sie den Wert in “ ändern.

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

Speichern und schließen Sie die Konfiguration und starten Sie den SSH-Dienst neu.

systemctl restart sshd

– Setup ‚client1.ahmad.io ‚ Maschine

Fügen Sie den neuen Systembenutzer ‚ammar‘ auf dem Client-Computer hinzu und melden Sie sich an.

useradd -m -s /bin/bash ammar
su - ammar

Initialisieren Sie danach den Kerberos-Benutzerprinzipal ‚ammar‘.

kinit ammar

Geben Sie das Passwort des Benutzers ein und überprüfen Sie anschließend das verfügbare Ticket mit dem folgenden Befehl.

klist

Und Sie werden das folgende Ergebnis angezeigt.

Jetzt können Sie die ‚krb5.ahmad.io ‚ Server mit der SSH Kerberos-Authentifizierung.

ssh krb5.ahmad.io

Und Sie werden mit dem ‚krb5.ahmad.io ‚ Server über SSH mit Kerberos-Authentifizierung.

Unten sehen Sie das SSH-Protokoll, nachdem Sie sich beim Server angemeldet haben.

Schließlich wurde die Installation und Konfiguration von Kerberos Server und Client unter Ubuntu 18.04 erfolgreich abgeschlossen.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.