GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

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

Kerberos ist ein Netzwerkauthentifizierungsprotokoll, das Kryptografie mit symmetrischen Schlüsseln verwendet und eine Autorisierung von einem vertrauenswürdigen Drittanbieter 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. Das bedeutet, dass alle Clients dem Urteil von Kerberos über die Identität anderer 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 Ihren eigenen und fügen Sie sie ein.

10.10.10.15     krb5.ahmad.io   krb5

Speichern und schließen.

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

ping -c 3 $(hostname -f)

Schritt 2 – KDC-Kerberos-Server installieren

Jetzt installieren wir den Kerberos-Server auf dem „krb5“-Server mit der IP-Adresse „10.10.10.15“ und dem 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 Kerberos den Domänennamen des Kerberos-Servers als REALM, „AHMAD.IO '.

Der Kerberos-Server ist 'krb5.ahmad.io '.

Und der Admin-Server ist derselbe wie der Kerberos-Server 'krb5.ahmad.io '.

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

Schritt 3 – KDC-Kerberos-Server konfigurieren

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

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

Führen Sie die 'kadmin.local'-Befehlszeilenschnittstelle für den Kerberos-Administrationsbefehl unten aus.

sudo kadmin.local

Erstellen Sie einen neuen Admin-Benutzerprinzipal mit dem Namen „root“.

addprinc root/admin

Geben Sie das starke Passwort für den Admin-Principal „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

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

quit

Als nächstes müssen wir das „root“-Admin-Prinzip 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.

Schritt 4 – Kerberos-Client installieren und konfigurieren

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

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 ist derselbe wie der Kerberos-Server 'krb5.ahmad.io '.

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

- Kerberos-Client konfigurieren

Stellen Sie vom Client-Rechner aus eine Verbindung zum KDC-Kerberos-Server her, indem Sie den Befehl „kadmin“ verwenden.

kadmin

Und Sie werden nach dem Passwort des 'root/admin'-Prinzips gefragt. Geben Sie das Passwort ein und Sie werden beim 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.

Schritt 5 – Testen

Zu diesem Testzweck konfigurieren wir die SSH-Authentifizierung mit Kerberos. Der Client-Rechner „client1.ahmad.io“ verbindet sich über SSH mit der Kerberos-Authentifizierung mit dem Server „krb5.ahmad.io“.

- Richten Sie den „krb5.ahmad.io“-Server ein

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/sshd_config“.

vim /etc/ssh/sshd_config

Entkommentieren Sie die „GSSAPIAuthentication“ und aktivieren Sie sie, indem Sie den Wert in „.

ändern
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

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

systemctl restart sshd

- Einrichten des Computers „client1.ahmad.io“

Fügen Sie den neuen Systembenutzer „ammar“ auf dem Client-Rechner 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 danach das verfügbare Ticket mit dem folgenden Befehl.

klist

Und Ihnen wird das folgende Ergebnis angezeigt.

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

ssh krb5.ahmad.io

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

Unten ist das SSH-Protokoll nach der Anmeldung beim Server.

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


Ubuntu
  1. So richten Sie einen FTP-Server in Ubuntu Linux ein und verwenden ihn

  2. So installieren und sichern Sie Redis unter Ubuntu 18.04 LTS

  3. So installieren Sie NTP-Server und -Client unter Ubuntu 18.04 LTS

  4. So richten Sie den Rsyslog-Server unter Ubuntu 18.04 LTS ein

  5. So richten Sie NFS-Server und -Client unter Ubuntu 20.04 ein

So richten Sie das neueste MySQL unter Ubuntu 20.04 LTS ein

So konfigurieren Sie einen NTP-Server und -Client unter Ubuntu 20.04 LTS

So installieren Sie UrBackup Server und Client auf Ubuntu 20.04

So installieren Sie Telnet-Server und -Client unter Ubuntu

So installieren Sie NTP-Server und Client(s) unter Ubuntu 20.04 LTS

So richten Sie NTP-Server und -Client unter Ubuntu 20.04 LTS ein