Kerberos je síťový autentizační protokol, který používá kryptografii symetrického klíče a vyžaduje autorizaci od důvěryhodné třetí strany k ověření aplikací klient-server. Původně byl vyvinut Massachusetts Institute of Technology (MIT)k ochraně síťových služeb poskytovaných projektem Athena.
v moderním světě se Kerberos často používá jako ověřovací služba třetí strany. To znamená, že všichni klienti důvěřují úsudku společnosti Kerberos o identitě jiných klientů.
v tomto tutoriálu vám ukážeme, jak nastavit ověřování Kerberos mezi dvěma servery Ubuntu 18.04. Nainstalujeme a nakonfigurujeme server Kerberos na serveru Ubuntu a poté nainstalujeme klienta Kerberos na druhého. Nakonec otestujeme autentizaci služby SSH se serverem Kerberos.
předpoklady
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16 client1.ahmad.io client1
- oprávnění uživatele root
co budeme dělat:
- nastavení souboru FQDN
- instalace serveru KDC Kerberos
- konfigurace serveru KDC Kerberos
- instalace a konfigurace klienta Kerberos
- testování
Krok 1 – Nastavení FQDN
nejprve musíme nakonfigurovat soubor FQDN na serveru Kerberos a poté upravit soubor “ /etc/hosts server.
změňte FQDN serveru Kerberos pomocí následujícího příkazu.
hostnamectl set-hostname krb5.ahmad.io
poté upravte soubor ‚/ etc / hosts ‚ pomocí editoru vim.
vim /etc/hosts
změňte IP adresu a FQDN vlastní a vložte do ní.
10.10.10.15 krb5.ahmad.io krb5
Uložit a zavřít.
nyní Otestujte pomocí příkazu „ping“ níže a ujistěte se, že FQDN je vyřešen na správnou adresu IP.
ping -c 3 $(hostname -f)
Krok 2-nainstalujte server KDC Kerberos
nyní nainstalujeme server Kerberos na server „krb5“ s IP adresou „10.10.10.15“ a FQDN je „krb5.ahmad.io‘.
nainstalujte server Kerberos pomocí následujícího příkazu apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
během instalace budete dotázáni na oblast Kerberos, server Kerberos v oblasti a Admin server.
ve výchozím nastavení bude Kerberos používat název domény serveru Kerberos jako oblast, ‚AHMAD.IO‘.
Server Kerberos je ‚krb5.ahmad.io‘.
a Admin server stejný jako server Kerberos ‚krb5.ahmad.io‘.
po dokončení instalace se zobrazí, že se služba Kerberos nepodařilo spustit. Je to v pořádku, protože budeme konfigurovat v další fázi.
Krok 3-Konfigurace serveru KDC Kerberos
nyní Vygenerujte nové silné hlavní heslo pro oblast Kerberos pomocí následujícího příkazu.
sudo krb5_newrealm
zadejte své silné heslo a heslo REALM bude vygenerováno v souboru‘ /etc/krb5kdc/stash‘.
poté musíme vytvořit administrátorského uživatele (admin principal) pro server KDC Kerberos, přidat název hostitele serveru Kerberos do databáze a poté vytvořit keytab pro server Kerberos.
spusťte ‚ kadmin.lokální ‚ rozhraní příkazového řádku pro příkaz Kerberos administration níže.
sudo kadmin.local
vytvořte nového správce uživatele s názvem ‚root‘.
addprinc root/admin
zadejte silné heslo pro „root“ hlavní správce.
přidejte server KDC Kerberos do databáze a vytvořte soubor keytab pro hostitele KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
pak zavřete ‚ kadmin.místní ‚ utility.
quit
dále musíme do seznamu řízení přístupu Přidat princip administrátora „root“ úpravou “ / etc/krb5kdc / kadm5.soubor acl.
vim /etc/krb5kdc/kadm5.acl
přidejte následující konfiguraci.
root/admin *
Uložte a zavřete konfiguraci a restartujte službu Kerberos.
sudo systemctl restart krb5-admin-server.service
a konfigurace serveru KDC Kerberos byla dokončena.
Krok 4-Nainstalujte a nakonfigurujte klienta Kerberos
v tomto kroku nainstalujeme klienta Kerberos na server Ubuntu s IP adresou ‚10.10.10.16‘ a hostname ‚client1‘.
– konfigurace FQDN
konfigurace FQDN na klientském počítači pomocí následujícího příkazu.
hostnamectl set-hostname client1.ahmad.io
poté upravte soubor ‚/ etc / hosts ‚ pomocí editoru vim.
vim /etc/hosts
vložte server KDC Kerberos i klienta, jak je uvedeno níže.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Uložit a zavřít.
– nainstalujte klient Kerberos
nainstalujte klientské balíčky Kerberos spuštěním následujícího příkazu apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
během instalace budete dotázáni na oblast Kerberos, server Kerberos v oblasti a Admin server.
ve výchozím nastavení bude Kerberos používat název domény serveru Kerberos jako oblast, ‚AHMAD.IO‘.
Server Kerberos je ‚krb5.ahmad.io‘.
a Admin server stejný jako server Kerberos ‚krb5.ahmad.io“.
a instalace pro klienta Kerberos je dokončena.
– nakonfigurujte klienta Kerberos
z klientského počítače, připojte se k serveru KDC Kerberos pomocí příkazu „kadmin“.
kadmin
a budete požádáni o heslo principu „root/admin“. Zadejte heslo a budete přihlášeni do administračního systému KDC Kerberos.
Nyní přidejte klienta FQDN ‚client1.ahmad.io‘ do databáze Kerberos a přidejte soubor keytab pro klienta.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
poté zavřete administrační rozhraní kadmin Kerberos.
quit
a konfigurace klienta Kerberos je dokončena.
Krok 5-testování
pro tento testovací účel nakonfigurujeme ověřování SSH pomocí Kerberos. Klientský stroj „client1.ahmad.io‘ se připojí k serveru ‚krb5.ahmad.io‘ přes SSH s ověřením Kerberos.
– nastavení ‚krb5.ahmad.io‘ Server
vytvořte nového uživatele systému s názvem ‚ammar‘.
useradd -m -s /bin/bash ammar
přihlaste se do správy KDC Kerberos a přidejte nového hlavního uživatele s názvem „ammar“.
kadmin.local
addprinc ammar
zavřete administrační rozhraní Kerberos a upravte konfiguraci ssh ‚/ etc/ssh / sshd_config‘.
vim /etc/ssh/sshd_config
odkomentujte ‚GSSAPIAuthentication‘ a povolte ji změnou hodnoty na „.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Uložte a zavřete konfiguraci a restartujte službu ssh.
systemctl restart sshd
– nastavení „client1.ahmad.io‘ stroj
přidejte nového uživatele systému ‚ammar‘ na klientském počítači a přihlaste se do něj.
useradd -m -s /bin/bash ammar
su - ammar
poté inicializujte hlavní uživatel Kerberos ‚ammar‘.
kinit ammar
zadejte heslo uživatele a poté zkontrolujte dostupný lístek pomocí následujícího příkazu.
klist
a zobrazí se následující výsledek.
nyní můžete připojit ‚krb5.ahmad.io‘ server pomocí ověřování SSH Kerberos.
ssh krb5.ahmad.io
a budete připojeni k ‚krb5.ahmad.io‘ server přes SSH s ověřením Kerberos.
níže je protokol SSH po přihlášení na server.
nakonec byla úspěšně dokončena instalace a konfigurace serveru a klienta Kerberos na Ubuntu 18.04.