So richten Sie Kerberos Server und Client unter Ubuntu 18.04 LTS ein

Kerberos ist ein Netzwerk-Authentifizierungsprotokoll, das symmetrische Schlüsselkryptographie verwendet und die Autorisierung eines vertrauenswürdigen Drittanbieters zur Authentifizierung von Client-Server-Anwendungen erfordert. 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 eingesetzt. Das bedeutet, dass alle Kunden Kerberos‘ Urteil über die Identität eines anderen Kunden vertrauen.

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

Voraussetzungen

  • Ubuntu-Server 18.04
    • 10.10.10.10.15 krb5.ahmad.io io krb5
    • 10.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. Prüfung

Schritt 1 – Einrichten von FQDN

Zuerst 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 anschließend 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 diese ein.

10.10.10.15     krb5.ahmad.io   krb5

Speichern und schließen.

Testen Sie nun mit dem Befehl „ping“ unten und stellen Sie sicher, dass der FQDN in die richtige IP-Adresse aufgelöst wird.

ping -c 3 $(hostname -f)

Hostnamen-Konfiguration

Schritt 2 – KDC Kerberos Server installieren

Nun werden wir den Kerberos-Server auf dem’krb5′-Server mit der IP-Adresse’10.10.10.10.15′ installieren und der FQDN ist’krb5.ahmad.io‘.

Installieren Sie den 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 der Kerberos den Domänennamen des Kerberos-Servers als REALM,‘AHMAD.IO‚.

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

Servername setzen

Und der Admin-Server entspricht dem Kerberos-Server ‚krb5.ahmad.io‚.

Name des Admin-Servers

Nach Abschluss der Installation wird Ihnen angezeigt, dass der Kerberos-Dienst nicht ausgeführt werden kann. Es ist in Ordnung, denn wir werden die Konfiguration im nächsten Schritt vornehmen.

Schritt 3 – KDC Kerberos-Server konfigurieren

Erzeugen Sie nun mit dem folgenden Befehl ein neues starkes Master-Passwort 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.

KDC Kerberos-Server konfigurieren

Danach müssen wir den admin-Benutzer (admin principal) für den KDC-Kerberos-Server erstellen, den Kerberos-Server-Hostnamen zur Datenbank hinzufügen und dann die Keytab für den Kerberos-Server erstellen.

Führen Sie unten den Befehl „kadmin.local“ für die Kerberos-Administration aus.

sudo kadmin.local

Erstellen Sie ein neues Admin-Benutzerprinzip mit dem Namen „root“.

addprinc root/admin

Geben Sie das sichere Passwort für das „root“-Administrationsprinzip 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

Schließen Sie dann das Dienstprogramm „kadmin.local“.

quit

Kerberos-Server konfigurieren

Als nächstes müssen wir das Administrationsprinzip „root“ zur Zugriffskontrollliste hinzufügen, indem wir die Datei „/etc/krb5kdc/kadm5.acl“ bearbeiten.

vim /etc/krb5kdc/kadm5.acl

Fügen Sie die folgende Konfiguration hinzu.

root/admin *

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

sudo systemctl restart krb5-admin-server.service

Und die Konfiguration des KDC Kerberos-Servers ist abgeschlossen.

Restart Kerberos

Schritt 4 – Kerberos-Client installieren und konfigurieren

In diesem Schritt werden wir den Kerberos-Client auf dem Ubuntu-Server mit der IP-Adresse’10.10.10.10.16′ und dem Hostnamen’client1′ installieren.

– FQDN konfigurieren

Konfigurieren Sie den FQDN auf dem Client-Computer mit dem folgenden Befehl.

hostnamectl set-hostname client1.ahmad.io

Bearbeiten Sie anschließend die Datei ‚/etc/hosts‘ mit dem vim-Editor.

vim /etc/hosts

Fügen Sie sowohl den KDC-Kerberos-Server als auch den Client wie unten beschrieben ein.

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

Speichern und schließen.

Kerberos-Client installieren und konfigurieren

– Kerberos-Client installieren

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‚.

Serverdomäne festlegen

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

set kerberos server

Und der Admin-Server entspricht dem Kerberos-Server ‚krb5.ahmad.io‚.

Admin-Server einstellen

Und die Installation für den Kerberos-Client ist abgeschlossen.

– Kerberos-Client konfigurieren

Verbinden Sie sich von der Client-Maschine aus mit dem KDC-Kerberos-Server über den Befehl „kadmin“.

kadmin

Und Sie werden nach dem Passwort für das Prinzip „root/admin“ gefragt. Geben Sie das Passwort ein und Sie werden im KDC Kerberos-Administrationssystem angemeldet.

Fügen Sie nun den Client FQDN ‚client1.ahmad.io‘ zur Kerberos-Datenbank hinzu 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 Administrationsschnittstelle.

quit

Und die Konfiguration des Kerberos-Clients ist abgeschlossen.

Configure Kerberos Client

Schritt 5 – Prüfung

Für diesen Testzweck werden wir die SSH-Authentifizierung mit Kerberos konfigurieren. Der Client-Rechner ‚client1.ahmad.io‘ verbindet sich mit dem Server ‚krb5.ahmad.io‘ über SSH mit der Kerberos-Authentifizierung.

– Einrichtung des Servers’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-Administrationsschnittstelle und bearbeiten Sie die ssh-Konfiguration ‚/etc/ssh/ssh/sshd_config‘.

vim /etc/ssh/sshd_config

Entkommentieren Sie die’GSSAPIAuthentifizierung‘ und aktivieren Sie sie, indem Sie den Wert auf “ ändern.

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

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

systemctl restart sshd

Kerberos-Authentifizierung testen

– Einrichten der’client1.ahmad.io‘ Maschine

Fügen Sie auf dem Client-Computer einen neuen Systembenutzer „ammar“ hinzu und melden Sie sich dort an.

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

Danach initialisieren Sie das Kerberos-Benutzerprinzip „ammar“.

kinit ammar

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

klist

Und Sie erhalten das folgende Ergebnis.

Einrichten des Client-Computers

Jetzt können Sie den Server’krb5.ahmad.io‘ mit der SSH-Kerberos-Authentifizierung verbinden.

ssh krb5.ahmad.io

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

test ssh login

Nachfolgend finden Sie das SSH-Protokoll, nachdem Sie sich am Server angemeldet haben.

Test erfolgreich

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

Referenz

https://web.mit.edu/kerberos/

Das könnte dich auch interessieren …