Jak zainstalować serwer Kerberos KDC i klient na Ubuntu 18.04
- 3289
- 862
- Roland Sokół
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
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
- Kerberos królestwo. (Tutaj użyłem Ubuntubox.Com)
- Nazwa hosta serwera Kerberos - KDC.Ubuntubox.com
- Nazwa hosta serwera administracyjnego (zmieniająca hasło) dla Kerberos Realm Ubuntubox.Com - KDC.Ubuntubox.com
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.
- Kerberos Realm - Ubuntubox.Com
- Nazwa hosta dla serwera KDC - KDC.Ubuntubox.com
- 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 poleceniakDestroy 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