Einrichten des NFS -Servers mit Kerberos -basierter Authentifizierung für Linux -Clients - Teil 7

Einrichten des NFS -Servers mit Kerberos -basierter Authentifizierung für Linux -Clients - Teil 7

Im letzten Artikel dieser Serie haben wir überprüft. Wenn Sie nun eine Dateifreigabe für eine Gruppe von UNIX-ähnlichen Kunden einrichten müssen, denken Sie automatisch an die Netzwerkdateisystem, oder NFS kurz.

RHCE -Serie: Einrichten des NFS -Servers mit Kerberos -Authentifizierung - Teil 7

In diesem Artikel führen wir Sie durch den Verwendungsvorgang Kerberos basierend Authentifizierung für NFS Anteile. Es wird angenommen, dass Sie bereits einen NFS -Server und einen Client eingerichtet haben. Wenn nicht, lesen Sie bitte den NFS -Server installieren und konfigurieren. Dadurch werden die erforderlichen Pakete aufgeführt, die installiert werden müssen, und erläutern Sie, wie erste Konfigurationen auf dem Server durchgeführt werden, bevor Sie weiter fortfahren.

Außerdem möchten Sie sowohl Selinux als auch Firewall konfigurieren, um die Dateifreigabe über NFS zu ermöglichen.

Das folgende Beispiel geht davon aus, dass Ihre NFS Die Aktie befindet sich in /NFS In Box2:

# semanage fcontext -a -t public_content_rw_t "/nfs (/.*)?" # restorecon -r /nfs # setsebool -p nfs_export_all_rw auf # setsebool -p nfs_export_all_ro on 

(bei dem die -P Die Flagge zeigt die Persistenz zwischen Neustarts an).

Vergessen Sie schließlich nicht:

Erstellen Sie die NFS -Gruppe und konfigurieren Sie das NFS Share -Verzeichnis

1. Erstellen Sie eine Gruppe namens NFS und fügen Sie die hinzu NFSNobody Benutzer dazu und ändern Sie dann die Berechtigungen der /NFS Verzeichnis an 0770 und sein Gruppenbesitzer zu NFS. Daher, NFSNobody (Dies wird den Kundenanfragen zugeordnet) hat Schreibberechtigungen für die Aktie) und Sie müssen nicht verwenden NO_ROOT_SQUASH im /etc/Exporte Datei.

# GroupAdd NFS # Usermod -a -g NFS NFSNOBODY # CHMOD 0770 /NFS # CHGRP NFS /NFS 

2. Ändern Sie die Exportdatei (/etc/Exporte) wie folgt, um nur Zugriff von zu ermöglichen Box1 Verwendung Kerberos Sicherheit (Sec = Krb5).

Notiz: dass der Wert von Anongid wurde auf die gesetzt Gid des NFS Gruppe, die wir zuvor erstellt haben:

Exporte - NFS -Aktien hinzufügen
/NFS Box1 (RW, Sec = Krb5, Anongid = 1004) 

3. Wiederexport (-R) alle (-A) Die NFS -Aktien. Hinzufügen von Ausgangsausgabe zum Ausgang (-V) ist eine gute Idee, da es hilfreiche Informationen zur Fehlerbehebung des Servers liefert, wenn etwas schief geht:

# Exportfs -arv 

4. Starten Sie den NFS -Server und die zugehörigen Dienste neu und aktivieren Sie sie. Beachten Sie, dass Sie nicht aktivieren müssen NFS-Lock Und NFS-IDMAPD Weil sie automatisch von den anderen Diensten auf dem Boot gestartet werden:

# SystemCTL Neustart RPCBind NFS-Server NFS-Lock NFS-IDMAP # SystemCTL Aktivieren Sie RPCBind NFS-Server 

Testumgebung und andere Voraussetzungen

In diesem Leitfaden verwenden wir die folgende Testumgebung:

  1. Client -Maschine [Box1: 192.168.0.18]
  2. NFS / Kerberos -Server [Box2: 192.168.0.20] (auch bekannt als Schlüsselverteilungszentrum, oder KDC kurz)).

Notiz: Das Kerberos Der Service ist entscheidend für das Authentifizierungsschema.

Wie Sie sehen können, die NFS Server und der KDC werden einfach im selben Computer gehostet, obwohl Sie sie in separaten Maschinen einrichten können, wenn Sie mehr verfügbar haben. Beide Maschinen sind Mitglieder der Mydomain.com Domain.

Zu guter Letzt, Kerberos Erfordert mindestens ein grundlegendes Schema der Namensauflösung und der Netzwerkzeitprotokolldienst sowohl im Client als auch im Server, da die Sicherheit der Kerberos -Authentifizierung teilweise auf den Zeitstempeln von Tickets basiert.

Um die Namensauflösung einzurichten, werden wir die verwenden /etc/hosts Datei sowohl im Client als auch im Server:

Hostdatei - DNS für Domain hinzufügen
192.168.0.18 Box1.Mydomain.com box1 192.168.0.20 Box2.Mydomain.Kombination x2 

In Rhel 7, Chronie ist die Standardsoftware, für die verwendet wird NTP Synchronisation:

# Yum Installieren Sie Chrony # systemctl start Chronyd # systemctl aktivieren Chronyd 

Sichergehen Chronie Synchronisiert tatsächlich die Zeit Ihres Systems mit Zeitservern. Möglicherweise möchten Sie den folgenden Befehl zwei- oder dreimal ausgeben und sicherstellen, dass der Versatz näher kommt: Null:

# Chronyc Tracking 
Synchronisieren Sie die Serverzeit mit Chrony

Installieren und Konfigurieren von Kerberos

Um die einzurichten KDC, Installieren Sie die folgenden Pakete auf beiden Server Und Klient (Lassen Sie das Serverpaket im Client weg):

# yum update && yum Installieren Sie KRB5-Server KRB5-Workstation PAM_KRB5 

Sobald es installiert ist, bearbeiten Sie die Konfigurationsdateien (/etc/krb5.Conf Und /var/kerberos/krb5kdc/kadm5.ACL) und alle Fälle von ersetzen Beispiel.com (Kleinbuchstaben und Großbuchstaben) mit Mydomain.com folgendermaßen.

Erstellen Sie nun die Kerberos Datenbank (Bitte beachten Sie, dass dies eine Weile dauern kann, da in Ihrem System ein gewisses Maß an Entropie erforderlich ist. Um die Dinge zu beschleunigen, öffnete ich ein weiteres Terminal und rannte ping -f localhost für 30-45 Sekunden):

# KDB5_UTIL CREATE -S -S 
Erstellen Sie die Kerberos -Datenbank

Als nächstes aktivieren Kerberos durch das Firewall und starten / aktivieren die damit verbundenen Dienste.

Wichtig: NFS-Sicherheit Muss auch im Client gestartet und aktiviert werden:

# Firewall-CMD --Permanent --add-Service = Kerberos # SystemCTL START KRB5KDC KADMIN NFS-SECURE # SYSTEMCTL ENABEN KRB5KDC KADMIN NFS-SECURE 

Als nächstes verwenden Sie die Kadmin.lokal Tool erstellen Sie einen Administrator -Prinzip für Root:

# Kadmin.Lokal # Addprinc Root/Administrator 

Und fügen Sie die hinzu Kerberos Server zur Datenbank:

# Addprinc -Randkey Host/Box2.Mydomain.com 

Gleiches gilt mit dem NFS Service für beide Kunden (Box1) und Server (Box2). Bitte beachten Sie, dass ich im folgenden Screenshot vergessen habe, es zu tun Box1 Vor dem Aufhören:

# Addprinc -Randkey NFS/Box2.Mydomain.com # Addprinc -Randkey NFS/Box1.Mydomain.com 

Und Ausfahrt durch Eingabe von aufhören und drückende Eingabetaste:

Fügen Sie Kerberos zum NFS -Server hinzu

Anschließend einen Kerberos-Ticket-Granting-Ticket für Root/Administrator erhalten und Cache erhalten:

# Kinit Root/Admin # KLILE 
Cache Kerberos

Der letzte Schritt vor dem tatsächlich verwendeten Kerberos speichert in a Keytab Datei (auf dem Server) Die Prinzipien, die zur Verwendung von Kerberos -Authentifizierung berechtigt sind:

# Kadmin.Lokal # KTADD HOST/BOX2.Mydomain.com # ktadd nfs/box2.Mydomain.com # ktadd nfs/box1.Mydomain.com 

Schließlich montieren Sie die Freigabe und führen Sie einen Schreibtest durch:

# Mount -t NFS4 -o sec = krb5 box2: /nfs /mnt # echo "Hallo aus Tecmint.com "> /mnt /Begrüßung.txt 
Mount NFS Share

Lass uns jetzt unmontal Die Aktie benennen Sie die um Keytab Datei im Client (um es nicht vorhanden zu simulieren) und versuchen Sie, die Freigabe erneut zu montieren:

# Umount /Mnt # mv /etc /krb5.KeyTab /etc /kRB5.Keytab.orig 
Mount UNMOUNT KERBEROS NFS SHARE

Jetzt können Sie die verwenden NFS Teilen mit Kerberos basierend Authentifizierung.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man eingerichtet ist NFS mit Kerberos Authentifizierung. Da das Thema viel mehr gibt, als wir in einem einzigen Leitfaden abdecken können, können Sie die Online -Dokumentation von Kerberos überprüfen. Wenn Sie auf ein Problem stoßen oder Hilfe bei Ihrer Tests oder Implementierung benötigen.