Kerberos är ett nätverksautentiseringsprotokoll som använder symmetrisk nyckelkryptografi och kräver tillstånd från en betrodd tredje part för att autentisera klient-serverapplikationer. Det utvecklades ursprungligen av Massachusetts Institute of Technology (MIT) för att skydda nätverkstjänsterna som tillhandahålls av Athena-projektet.
i den moderna världen används Kerberos ofta som en autentiseringstjänst från tredje part. Detta innebär att alla kunder litar på Kerberos bedömning om en annan kunds identitet.
i denna handledning visar vi dig hur du ställer in Kerberos-autentisering mellan två Ubuntu 18.04-servrar. Vi installerar och konfigurerar Kerberos-servern på Ubuntu-servern och installerar sedan Kerberos-klienten på den andra. Slutligen kommer vi att testa autentiseringen av SSH-tjänsten med Kerberos-servern.
förutsättningar
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10. 10. 10. 16 client1.ahmad.io client1
- Root privilegier
vad vi ska göra:
- Setup FQDN fil
- installera KDC Kerberos Server
- konfigurera KDC Kerberos Server
- installera och konfigurera Kerberos klient
- testa
Steg 1 – Setup FQDN
först och främst måste vi konfigurera FQDN på Kerberos-servern och sedan Redigera filen ’/etc/hosts’ på servern.
ändra FQDN för Kerberos-servern med följande kommando.
hostnamectl set-hostname krb5.ahmad.io
redigera sedan filen ’/etc/hosts’ med vim editor.
vim /etc/hosts
ändra IP-adressen och FQDN med din egen och klistra in den.
10.10.10.15 krb5.ahmad.io krb5
spara och stäng.
testa nu med kommandot ’ping’ nedan och se till att FQDN är löst till rätt IP-adress.
ping -c 3 $(hostname -f)
steg 2-Installera KDC Kerberos Server
nu ska vi installera Kerberos-servern på ’krb5’ – servern med IP-adress ’10.10.10.15’ och FQDN är ’krb5.ahmad.io’.
installera Kerberos server med följande apt-kommando.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
under installationen kommer du att bli frågad om Kerberos Realm, Kerberos server of the Realm och Admin server.
som standard kommer Kerberos att använda domännamnet Kerberos server som ett rike, ’AHMAD.IO’.
Kerberos-servern är ’krb5.ahmad.io’.
och Admin server samma som Kerberos server ’krb5.ahmad.io’.
när installationen är klar visas att Kerberos-tjänsten inte kunde köras. Det är bra eftersom vi kommer att konfigurera på nästa steg.
steg 3-Konfigurera KDC Kerberos Server
skapa nu ett nytt starkt huvudlösenord för Kerberos-riket med följande kommando.
sudo krb5_newrealm
Skriv ditt starka lösenord och REALM-lösenordet kommer att genereras i filen ’/etc/krb5kdc/stash’.
Därefter måste vi skapa administratörsanvändaren (admin principal) för KDC Kerberos-servern, lägga till Kerberos-serverns värdnamn i databasen och sedan skapa nyckelfliken för Kerberos-servern.
kör ’kadmin.lokal ’ kommandoradsgränssnitt för Kerberos administration kommandot nedan.
sudo kadmin.local
skapa en ny administratörsanvändarhuvud som heter ’root’.
addprinc root/admin
skriv det starka lösenordet för administratörsprincipen ’root’.
Lägg till KDC Kerberos-servern i databasen och skapa keytab-filen för KDC-värden.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
stäng sedan ’kadmin.lokala verktyg.
quit
Därefter måste vi lägga till ’root’ – administratörsprincipen i åtkomstkontrolllistan genom att redigera ’/etc/krb5kdc/kadm5.acl-filen.
vim /etc/krb5kdc/kadm5.acl
Lägg till följande konfiguration.
root/admin *
spara och stäng konfigurationen och starta sedan om Kerberos-tjänsten.
sudo systemctl restart krb5-admin-server.service
och konfigurationen av KDC Kerberos server har slutförts.
steg 4-Installera och konfigurera Kerberos-klienten
i det här steget kommer vi att installera Kerberos-klienten på Ubuntu-servern med IP-adressen ’10.10.10.16’ och värdnamnet ’client1’.
– konfigurera FQDN
konfigurera FQDN på klientmaskinen med följande kommando.
hostnamectl set-hostname client1.ahmad.io
redigera sedan filen ’/etc/hosts’ med vim editor.
vim /etc/hosts
klistra in både KDC Kerberos server och klienten enligt nedan.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
spara och stäng.
– installera Kerberos klient
installera Kerberos klientpaket genom att köra följande apt-kommando.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
under installationen kommer du att bli frågad om Kerberos Realm, Kerberos server of the Realm och Admin server.
som standard använder Kerberos domännamnet Kerberos server som ett rike,’ AHMAD.IO’.
Kerberos-servern är ’krb5.ahmad.io’.
och Admin server samma som Kerberos server ’krb5.ahmad.io’.
och installationen för Kerberos klient är klar.
– konfigurera Kerberos-klienten
från klientdatorn ansluter du till KDC Kerberos-servern med kommandot ’kadmin’.
kadmin
och du kommer att bli ombedd att ange lösenordet för ’root/admin’ – principen. Skriv in lösenordet och du kommer att vara inloggad på KDC Kerberos administrationssystem.
lägg nu till klienten FQDN ’client1.ahmad.io’ till Kerberos-databasen och Lägg till keytab-filen för klienten.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
stäng sedan kadmin Kerberos administrationsgränssnitt.
quit
och konfigurationen av Kerberos-klienten är klar.
Steg 5-testning
för detta teständamål kommer vi att konfigurera SSH-autentisering med Kerberos. Client machine ’client1.ahmad.io’ kommer att ansluta till servern ’krb5.ahmad.io’ genom SSH med Kerberos autentisering.
– inställning ’krb5.ahmad.io’ Server
skapa en ny systemanvändare som heter ’ammar’.
useradd -m -s /bin/bash ammar
logga in på KDC Kerberos administration och Lägg till en ny huvudanvändare som heter ’ammar’.
kadmin.local
addprinc ammar
Stäng Kerberos administrationsgränssnitt och redigera SSH-konfigurationen ’/etc/ssh/sshd_config’.
vim /etc/ssh/sshd_config
Avkommentera ’GSSAPIAuthentication’ och aktivera det genom att ändra värdet till ”.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
spara och stäng konfigurationen och starta sedan om SSH-tjänsten.
systemctl restart sshd
– Setup ’client1.ahmad.io’ maskin
Lägg till ny systemanvändare ’ammar’ på klientmaskinen och logga in på den.
useradd -m -s /bin/bash ammar
su - ammar
initiera sedan Kerberos-användarprincipen ’ammar’.
kinit ammar
skriv användarens lösenord och kontrollera sedan den tillgängliga biljetten med följande kommando.
klist
och du kommer att visas följande resultat.
nu kan du ansluta krb5.ahmad.io ’ server med SSH Kerberos autentisering.
ssh krb5.ahmad.io
och du kommer att vara ansluten till ’krb5.ahmad.io’ server genom SSH med Kerberos autentisering.
nedan är SSH-loggen efter loggad till servern.
Slutligen har installationen och konfigurationen av Kerberos server och klient på Ubuntu 18.04 slutförts.