Konfigurowanie serwera NFS z uwierzytelnianiem opartym na Kerberos dla klientów Linux - część 7

Konfigurowanie serwera NFS z uwierzytelnianiem opartym na Kerberos dla klientów Linux - część 7

W ostatnim artykule z tej serii sprawdziliśmy, jak skonfigurować udział samba w sieci, która może składać się z wielu rodzajów systemów operacyjnych. Teraz, jeśli chcesz skonfigurować udostępnianie plików dla grupy klientów podobnych do UNIX, automatycznie pomyślisz o System plików sieciowych, Lub NFS w skrócie.

Seria RHCE: Konfigurowanie serwera NFS z uwierzytelnianiem Kerberos - Część 7

W tym artykule przeprowadzimy Cię przez proces używania Kerberos uwierzytelnianie dla NFS Akcje. Zakłada się, że skonfigurowałeś już serwer NFS i klient. Jeśli nie, zapoznaj się z instalacją i skonfigurowaniem serwera NFS - który wymienia niezbędne pakiety, które należy zainstalować i wyjaśnić, jak wykonać wstępne konfiguracje na serwerze.

Ponadto będziesz chciał skonfigurować zarówno Selinux, jak i Firewalld, aby umożliwić udostępnianie plików za pośrednictwem NFS.

Poniższy przykład zakłada, że ​​twój NFS Udział znajduje się w /NFS W Box2:

# semanage fcontext -a -t public_content_rw_t "/nfs (/.*)?" # RESTORECON -R /NFS # SETSEBOOL -P NFS_EXPORT_ALL_RW ON # SETSEBOOL -p NFS_EXPORT_ALL_RO ON 

(gdzie -P Flaga wskazuje trwałość w ramach ponownego uruchamiania).

Wreszcie, nie zapomnij:

Utwórz grupę NFS i skonfiguruj katalog Share NFS

1. Utwórz grupę o nazwie NFS i dodaj NFSNOBODY użytkownik do niego, a następnie zmień uprawnienia /NFS katalog do 0770 i jego właściciel grupy NFS. Zatem, NFSNOBODY (który jest mapowany na żądania klienta) będzie miał uprawnienia do zapisu na akcji) i nie będziesz musiał używać no_root_squash w /itp./Eksport plik.

# grupaadd nfs # Usermod -a -g nfs nfsnobody # chmod 0770 /nfs # chgrp nfs /nfs 

2. Zmodyfikuj plik eksportu (/itp./Eksport) w następujący sposób, aby umożliwić tylko dostęp z Box1 za pomocą Kerberos bezpieczeństwo (Sec = KRB5).

Notatka: że wartość anondyd został ustawiony na KOŁOWACIZNA z NFS grupa, którą stworzyliśmy wcześniej:

Eksport - Dodaj udział NFS
/NFS Box1 (RW, Sec = KRB5, Anongid = 1004) 

3. Ponownie eksport (-R) Wszystko (-A) akcje NFS. Dodając gadatość do wyjścia (-V) To dobry pomysł, ponieważ dostarczy przydatnych informacji w rozwiązywaniu problemu, jeśli coś pójdzie nie tak:

# Exportfs -arv 

4. Uruchom ponownie i włącz serwer NFS i powiązane usługi. Zauważ, że nie musisz włączać NFS-Lock I NFS-IDMAPD Ponieważ zostaną one automatycznie uruchomione przez inne usługi w BOOT:

# Systemctl restart rpcbind nfs-server nfs-lock nfs-idmap # Systemctl Włącz RPCBind NFS-SERVER 

Środowisko testowe i inne warunki wstępne

W tym przewodniku użyjemy następującego środowiska testowego:

  1. Maszyna klienta [Box1: 192.168.0.18]
  2. Serwer NFS / Kerberos [Box2: 192.168.0.20] (znany również jako Kluczowe centrum dystrybucji, Lub KDC w skrócie).

Notatka: To Kerberos Obsługa ma kluczowe znaczenie dla schematu uwierzytelniania.

Jak widać, NFS serwer i KDC są hostowane w tym samym komputerze dla uproszczenia, chociaż możesz je skonfigurować w osobnych maszynach, jeśli masz więcej dostępnych. Obie maszyny są członkami mydomain.com domena.

Nie mniej ważny, Kerberos Wymaga przynajmniej podstawowego schematu rozdzielczości nazw i usługi protokołu czasu sieciowego, aby być obecna zarówno w kliencie, jak i serwerze, ponieważ bezpieczeństwo uwierzytelniania Kerberos jest częściowo oparte na znacznikach czasu biletów.

Aby skonfigurować rozdzielczość nazwy, użyjemy /etc/hosts Plik zarówno w kliencie, jak i serwerze:

Plik hosta - Dodaj DN dla domeny
192.168.0.18 Box1.mydomain.Com Box1 192.168.0.20 Box2.mydomain.COM Box2 

W RHEL 7, Chory to domyślne oprogramowanie, które jest używane NTP synchronizacja:

# Yum Instaluj chrony # SystemCtl Start Chronyd # Systemctl Włącz chronyd 

Upewniać się Chory W rzeczywistości synchronizuje czas systemu z serwerami czasowymi

# Śledzenie chronic 
Synchronizować czas serwera z chronią

Instalowanie i konfigurowanie kerberos

Aby skonfigurować KDC, Zainstaluj następujące pakiety na obu serwer I klient (Pomiń pakiet serwera w kliencie):

# Yum Update && Yum Instaluj KRB5-SERVER KRB5-Workstation PAM_KRB5 

Po jego zainstalowaniu edytuj pliki konfiguracyjne (/itp./KRB5.conf I /var/kerberos/krb5kdc/kadm5.ACL) i zastąpić wszystkie instancje przykład.com (małe i wielkie) z mydomain.com następująco.

Teraz stwórz Kerberos baza danych (pamiętaj, że może to potrwać trochę czasu, ponieważ wymaga pewnego poziomu entropii w twoim systemie. Aby przyspieszyć, otworzyłem kolejny terminal i pobiegłem ping -f localhost przez 30-45 sekund):

# KDB5_UTIL Utwórz -s 
Utwórz bazę danych Kerberos

Następnie włącz Kerberos przez Zapora i uruchom / włącz powiązane usługi.

Ważny: NFS-Secure należy również uruchomić i włączyć również dla klienta:

# Firewall-CMD --Permanent --add-Service = kerberos # Systemctl start Krb5kdc Kadmin nfs-secure # Systemctl Włącz KRB5KDC Kadmin nfs-secure 

Następnie za pomocą Kadmin.lokalny narzędzie, utwórz główny administrator dla root:

# Kadmin.Lokalny # addprinc root/admin 

I dodaj Kerberos serwer do bazy danych:

# addprinc -randkey host/box2.mydomain.com 

To samo z NFS usługa dla obu klientów (Box1) i serwer (Box2). Należy pamiętać, że na poniższym zrzucie ekranu zapomniałem o tym zrobić Box1 Przed paleniem:

# addprinc -randkey nfs/box2.mydomain.com # addprinc -randkey nfs/box1.mydomain.com 

I Wyjście przez pisanie zrezygnować i naciśnięcie Enter:

Dodaj Kerberos do serwera NFS

Następnie zdobądź i buforuj bilet do biletu biletów Kerberos dla root/admin:

# Kinit root/admin # klist 
Pamięć podręczna kerberos

Ostatni krok przed faktycznym użyciem Kerberos przechowuje się w KeyTab Plik (na serwerze) Dyrektorzy, które są upoważnione do korzystania z uwierzytelniania Kerberos:

# Kadmin.Lokalny # KTADD Host/Box2.mydomain.com # ktadd nfs/box2.mydomain.com # ktadd nfs/box1.mydomain.com 

Na koniec zamontuj Udostępnij i wykonaj test zapisu:

# Mount -t nfs4 -o sec = Krb5 Box2: /nfs /mnt # echo "Hello z tecmint.com "> /mnt /powitanie.tekst 
Udostępnij Mount NFS

Teraz Unmount Udział, zmień nazwę KeyTab Plik w kliencie (aby symulować go nie jest obecny) i spróbuj ponownie zamontować udostępnienie:

# Umount /mnt # mv /etc /KRB5.keytab /etc /krb5.KeyTab.Orig 
Mount Unmount Kerberos NFS Share

Teraz możesz użyć NFS Udostępnij z Kerberos uwierzytelnianie.

Streszczenie

W tym artykule wyjaśniliśmy, jak skonfigurować NFS z Kerberos uwierzytelnianie. Ponieważ w tym temacie jest o wiele więcej niż możemy omówić w jednym przewodniku, sprawdź dokumentację online Kerberos, a ponieważ Kerberos jest nieco trudny do powiedzenia, nie wahaj się upuścić notatki za pomocą poniższego formularza Jeśli napotkasz jakikolwiek problem lub potrzebujesz pomocy w testowaniu lub wdrażaniu.