Jak zainstalować serwer Kerberos KDC i klient na Ubuntu 18.04

Jak zainstalować serwer Kerberos KDC i klient na Ubuntu 18.04

Ten samouczek obejmuje stopniowy przewodnik konfiguracji klienta Kerberos Server (KDC) i Kerberos, a następnie testując konfigurację, uzyskując bilet Kerberos z serwera KDC.

W tym samouczku nauczysz się:

  • Co to jest Kerberos i jak to działa
  • Skonfiguruj serwer Kerberos (KDC)
  • Skonfiguruj klienta
  • Przetestuj uwierzytelnianie Kerberos
  • Keytab Creation

Przegląd Kerberosa.

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Ubuntu 18.04
Oprogramowanie Serwer Kerberos i pakiety administracyjne
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Co to jest Kerberos i jak to działa



Kerberos to protokół uwierzytelniania sieci. Został zaprojektowany tak, aby zapewnić silne uwierzytelnianie aplikacji klienta/serwera za pomocą kryptografii tajnej klawiszu.

Klient uwierzytelnia się w serwerze uwierzytelniania (AS), który przekazuje nazwę użytkownika do centrum dystrybucji kluczowej (KDC). KDC wydaje bilet na bilet (TGT), który jest stemplowany w czasie i szyfruje go za pomocą tajnego klucza usługi drenowania biletów (TGS) i zwraca zaszyfrowany wynik na stacja robocza użytkownika. Odbywa się to rzadko, zazwyczaj na logowaniu użytkownika; TGT wygasa w pewnym momencie, chociaż może być przejrzysty przez menedżera sesji użytkownika.

Kiedy klient musi komunikować się z innym węzłem („główny” w kerberosie) do niektórych usług w tym węźle, klient wysyła TGT do TGS, który zwykle ma ten sam host, co KDC. Usługa musi być zarejestrowana w TGT z nazwą główną usługą (SPN). Klient używa SPN, aby poprosić o dostęp do tej usługi. Po sprawdzeniu, że TGT jest prawidłowy i że użytkownik może uzyskać dostęp do żądanej usługi, TGS wydaje bilet i klucze sesji dla klienta. Klient następnie wysyła bilet na serwer usług (SS) wraz z żądaniem serwisowym.

Skonfiguruj serwer Kerberos (KDC)

Synchronizacja czasu i DNS odgrywa ważną rolę w prawidłowym działaniu KDC. Jeśli różnica czasu wynosi ponad 5 minut uwierzytelnianie. FQDN powinien idealnie rozwiązać właściwe środowisko, tutaj radzimy sobie z modyfikacją /etc/hosts ale stosowanie DNS jest zalecane.

Wykonaj poniższe polecenie, aby zainstalować serwer administratora Kerberos i KDE (Centrum dystrybucji Key):



# apt Zainstaluj KRB5-KDC KRB5-ADMIN-SERVER KRB5-CONFIG

Zapyta trzy następujące rzeczy jeden po drugim

  1. Kerberos królestwo. (Tutaj użyłem Ubuntubox.Com)
  2. Nazwa hosta serwera Kerberos - KDC.Ubuntubox.com
  3. Nazwa hosta serwera administracyjnego (zmieniająca hasło) dla Kerberos Realm Ubuntubox.Com - KDC.Ubuntubox.com
Zapewnienie królestwa Kerberos. Zapewnienie serwera Kerberos FQDN.

Zapewnienie serwera administratora fqdn. Konfigurowanie serwera administratora KRB5.

Teraz wykonaj poniższe polecenie, aby skonfigurować dziedzinę.

# KRB5_Newrealm

Poprosi o wprowadzenie hasła do tworzenia bazy danych, a następnie uruchomi Kerberos KDC KRB5KDC i Kerberos Administration Servers Kadmind Proceses.



root@kdc: ~# Krb5_Newrealm Ten skrypt powinien być uruchomiony na serwerze głównym KDC/Administrator, aby zainicjować królestwo Kerberos. Poprosi Cię o wpisanie hasła do klucza głównego. To hasło zostanie użyte do wygenerowania klucza przechowywanego w/etc/KRB5KDC/STASH. Powinieneś spróbować zapamiętać to hasło, ale o wiele ważniejsze jest, aby było to silne hasło niż zapamiętanie. Jeśli jednak stracisz hasło i/etc/KRB5KDC/Stash, nie możesz odszyfrować swojej bazy danych Kerberos. Ładowanie losowych danych inicjalizację bazy danych „/var/lib/krb5kdc/główne” dla realm 'ubuntubox.Com ', główna nazwa klucza' k/[email protected] 'zostaniesz poproszony o hasło do bazy danych. Ważne jest, aby nie zapomnieć o tym hasłach. Wprowadź klucz główny KDC Bazy danych: Wprowadź Klucz główny bazy danych KDC, aby sprawdzić: Teraz, gdy twój dziedzinę jest skonfigurowany.Program lokalny. Następnie ten zasadnik można dodać do/etc/krb5kdc/kadm5.ACL, abyś mógł użyć programu Kadmin na innych komputerach. Kerberos Administratorzy zwykle należą do jednego użytkownika i kończą /administrator. Na przykład, jeśli Jruser jest administratorem Kerberos, to oprócz normalnego Jrusera, należy utworzyć Jruser/Administrator. Nie zapomnij skonfigurować informacji DNS, aby Twoi klienci mogli znaleźć swoje serwery KDC i administratora. To jest udokumentowane w przewodniku administracyjnym. root@kdc: ~# 

otwarty /etc/krb5kdc/kadm5.ACL plik z dowolnym edytorem tekstu i odbicie ostatniego wiersza, aby wyglądał plik.

vim/etc/krb5kdc/kadm5.ACL
# Ten plik jest listą kontroli dostępu dla administracji KRB5. # Gdy ten plik jest edytowany Uruchom usługę KRB5-Admin-Server restart, aby aktywować # jeden wspólny sposób skonfigurowania administracji Kerberos jest umożliwienie dowolnego głównego # zakończenia /administratora otrzymania pełnych praw administracyjnych. # Aby to włączyć, pocukaj następujący wiersz: */admin * 
Kopiuj

Teraz proces konfiguracji serwera Kerberos zakończony pomyślnie.

Skonfiguruj klienta

Wykonaj poniższe polecenie, aby zainstalować i skonfigurować klienta Kerberos.

# apt Zainstaluj KRB5-User

Ponownie zapyta 3 rzeczy jeden po drugim, jak konfiguracja serwera KDC.

  1. Kerberos Realm - Ubuntubox.Com
  2. Nazwa hosta dla serwera KDC - KDC.Ubuntubox.com
  3. Nazwa hosta serwera administratora - KDC.Ubuntubox.com

Przetestuj uwierzytelnianie Kerberos



Dyrektor KEBS to unikalna tożsamość, do której Kerberos może przypisać bilety, dlatego utworzymy główny na serwerze KDC, jak poniżej.

AddPrinc „nazwa_zadnicy”
root@kdc: ~# kadmin.Lokalne uwierzytelnianie jako główny root/[email protected] z hasłem. Kadmin.Lokalne: Addprinc Sandipb Ostrzeżenie: Brak zasady określonej dla [email protected]; domyślnie bez zasady Wprowadź hasło dla głównego „[email protected] ": Ponownie wprowadź hasło dla głównego" [email protected] ": główny" [email protected] "stworzył. Kadmin.lokalny: 

Aby usunąć zasadę z KDC, uruchom następujące polecenie.

DelPrinc „nazwa_zadnicy”
root@kdc: ~# kadmin.Lokalne: uwierzytelnianie jako główny root/[email protected] z hasłem. Kadmin.Lokalny: DelPrinc Sandipb.Com "? (tak/nie): Tak, główny „[email protected] "usunięto. Upewnij się, że usunąłeś tę zasadę ze wszystkich ACL przed ponownym wykorzystaniem. Kadmin.lokalny: 

Teraz, aby uwierzytelnić się w Kerberos i uzyskać bilet z serwera KDC Uruchom następujące polecenie w węźle klienta.

Notatka: Bilety zostaną zniszczone po ponownym uruchomieniu komputera, po uruchomieniu polecenia
kDestroy lub kiedy wygasają. Będziesz musiał ponownie uruchomić kinit po tym, jak którykolwiek z nich.
# Kinit Sandipb


root@kdccLient: ~# Kinit Sandipb Hasło dla [email protected]: root@kdcclient: ~# root@kdccLient: ~# Klist bilet Cache: plik:/tmp/krb5cc_0 Domyślne Księga: [email protected] Ważne początkowe wyginki Service Principal 2018-12-29T19: 38: 53 2018-12-30T05: 38: 53 KRBTGT/[email protected] Renew do 2018-12-30T9: 38: 38 root@kdcclient: ~# 

Aby sprawdzić szczegóły głównego, uruchom poniższe polecenie na serwerze KDC.

getPrinc „nazwa_zadnicy”
root@kdc: ~# kadmin.Lokalne uwierzytelnianie jako główny root/[email protected] z hasłem. Kadmin.Lokalny: GetPrinc Sandipb Principal: [email protected] Data ważności: [nigdy] Ostatnia Zmiana hasła: Sun 30 grudnia 19:30:59 +04 2018 Data wygaśnięcia hasła: [nigdy] Maksymalna żywotność biletu: 0 dni 10:00:00 Maksymalne życie odnawialne: 7 dni 00:00: 00 Ostatni zmodyfikowany: Sun 30 grudnia 19:30:59 +04 2018 (root/[email protected]) Ostatnie udane uwierzytelnianie: Sun 30 grudnia 19:38:53 +04 2018 Ostatnie nieudane uwierzytelnianie: [nigdy] nieudane hasło Próby: 0 Liczba kluczy: 2 Klucz: VNO 1, AES256-CTS-HMAC-SHA1-96 Klucz: VNO 1, AES128-CTS-HMAC-SHA1-96 MKEY: VNO 1 Atrybuty: Polityka wymaga_pre_auth: [Brak] Kadmin.lokalny: 

Keytab Creation



Keytab to plik zawierający pary dyrektorów Kerberos i szyfrowane klucze (które pochodzą z hasła Kerberos). Możesz użyć pliku KeyTab do uwierzytelnienia w różnych systemach zdalnych za pomocą Kerberos bez wprowadzania hasła. Jednak po zmianie hasła Kerberos musisz odtworzyć wszystkie swoje keytabs.

root@kdc: ~# ktutil ktutil: add_entry -password -p [email protected] -k 1 -e AES256-CTS-HMAC-SHA1-96 Hasło dla [email protected]: ktutil: add_entry -password -p [email protected] -k 1 -e AES128-CTS-HMAC-SHA1-96 Hasło dla [email protected]: ktutil: wkt sandipkt.Keytab ktutil: q root@kdc: ~# 
root@kdc: ~# klist -kte sandipkt.Keytab KeyTab Nazwa: Plik: Sandipkt.Keytab KVNO Mimaestamp Principal ---- ------------------- ----------------------- ------------------------------- 1 2018-12-30T00: 35: 07 [email protected] (AES256-CTS-HMAC-SHA1-96) 1 2018-12-30T00: 35: 07 [email protected] (AES128-CTS-HMAC-SHA1-96) root@kdc: ~# 
root@kdc: ~# kinit -k -t sandipkt.Keytab sandipb root@kdc: ~# Klist Cache bilet: plik:/tmp/Krb5cc_0 Domyślny Księga: [email protected] Ważne początkowe wyginki Główne usługi 2018-12-30T00: 36: 44 2018-12-30T10: 36: 44 KRBTGT/[email protected] Renew do 2018-12-31T00: 36: 34 root@kdc: ~# 

Wniosek

Uwierzytelnianie ma kluczowe znaczenie dla bezpieczeństwa systemów komputerowych, tradycyjne metody uwierzytelniania nie są odpowiednie do użytku w sieciach komputerowych.System uwierzytelniania Kerberos jest odpowiedni do uwierzytelniania użytkowników w takich środowiskach.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Mastering Bash Script Loops
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Ubuntu 20.04 Przewodnik
  • Lista najlepszych narzędzi Kali Linux do testowania penetracji i…
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
  • Rzeczy do zainstalowania na Ubuntu 22.04