Einrichten des NFS -Servers mit Kerberos -basierter Authentifizierung für Linux -Clients - Teil 7
- 4218
- 346
- Susanne Stoutjesdijk
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 7In 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:
- Client -Maschine [Box1: 192.168.0.18]
- 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ügen192.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 TrackingSynchronisieren 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 -SErstellen 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 hinzuAnschließend einen Kerberos-Ticket-Granting-Ticket für Root/Administrator erhalten und Cache erhalten:
# Kinit Root/Admin # KLILECache 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.txtMount 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.origMount 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.
- « CloudLayar - Ein kostenloser DNS -Schutz für Ihre Website
- So erstellen Sie eine Linux -Swap -Datei »