Kerberos er en netværksgodkendelsesprotokol, der bruger symmetrisk nøglekryptografi og kræver tilladelse fra en betroet tredjepart til at godkende klientserverapplikationer. Det blev oprindeligt udviklet af Massachusetts Institute of Technology (MIT) for at beskytte de netværkstjenester, der leveres af Athena-projektet.
i den moderne verden bruges Kerberos ofte som en tredjeparts autentificeringstjeneste. Det betyder, at alle kunder stoler på Kerberos’ vurdering af en anden klients identitet.
i denne vejledning viser vi dig, hvordan du konfigurerer Kerberos-godkendelse mellem to Ubuntu 18.04-servere. Vi installerer og konfigurerer Kerberos-serveren på Ubuntu-serveren og installerer derefter Kerberos-klienten på den anden. Endelig vil vi teste godkendelsen af SSH-tjenesten med Kerberos-serveren.
forudsætninger
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10. 10. 10. 16 client1.ahmad.io klient1
- Root privilegier
hvad vi vil gøre:
- opsætning af Kerberos – fil
- installer KDC Kerberos-Server
- Konfigurer KDC Kerberos-Server
- Installer og konfigurer Kerberos-klient
- test
Trin 1-Opsætning af Kerberos-Server
først og fremmest skal vi konfigurere fkdn på Kerberos-serveren og derefter redigere filen ‘/etc/hosts’ på serveren.
Skift Kerberos-serverens FKDN ved hjælp af følgende kommando.
hostnamectl set-hostname krb5.ahmad.io
rediger derefter filen ‘/etc/hosts’ ved hjælp af vim editor.
vim /etc/hosts
Skift IP-adressen og FKDN med din egen og indsæt i den.
10.10.10.15 krb5.ahmad.io krb5
Gem og luk.
test nu ved hjælp af kommandoen ‘ping’ nedenfor, og sørg for, at FKDN er løst til den rigtige IP-adresse.
ping -c 3 $(hostname -f)
Trin 2-Installer KDC Kerberos Server
nu skal vi installere Kerberos-serveren på ‘krb5’ – serveren med IP-adresse ‘10.10.10.15’ og krb5.ahmad.io’.
installer Kerberos server ved hjælp af følgende apt-kommando.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
under installationen bliver du spurgt om Kerberos Realm, Kerberos-serveren i Realm og Admin-serveren.
som standard vil Kerberos bruge Kerberos serverdomænenavn som et rige, ‘AHMAD.IO’.
Kerberos-serveren er ‘krb5.ahmad.io’.
og Admin server samme som Kerberos server ‘krb5.ahmad.io’.
når installationen er færdig, får du vist, at Kerberos-tjenesten ikke kører. Det er fint, fordi vi konfigurerer på næste trin.
Trin 3 – Konfigurer KDC Kerberos Server
generer nu en ny stærk hovedadgangskode til Kerberos REALM ved hjælp af følgende kommando.
sudo krb5_newrealm
Skriv din stærke adgangskode, og REALM-adgangskoden genereres i filen ‘/etc/krb5kdc/stash’.
derefter skal vi oprette admin-brugeren (admin principal) til KDC Kerberos-serveren, tilføje Kerberos-serverens værtsnavn til databasen og derefter oprette keytab for Kerberos-serveren.
Kør ‘kadmin.lokal ‘ kommandolinjegrænseflade til Kerberos administrationskommando nedenfor.
sudo kadmin.local
Opret en ny admin bruger principal kaldet ‘root’.
addprinc root/admin
skriv den stærke adgangskode til ‘root’ admin principal.
Føj KDC Kerberos-serveren til databasen, og opret keytab-filen til KDC-værten.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
luk derefter ‘kadmin.lokal ‘ utility.
quit
Dernæst skal vi tilføje ‘root’ admin-princippet til adgangskontrollisten ved at redigere ‘/etc/krb5kdc/kadm5.acl ‘ fil.
vim /etc/krb5kdc/kadm5.acl
tilføj følgende konfiguration.
root/admin *
Gem og luk konfigurationen, genstart derefter Kerberos-tjenesten.
sudo systemctl restart krb5-admin-server.service
og konfigurationen af KDC Kerberos server er afsluttet.
Trin 4-Installer og konfigurer Kerberos Client
i dette trin skal vi installere Kerberos client på Ubuntu server med IP-adresse ‘10.10.10.16’ og værtsnavnet ‘client1’.
– Konfigurer FCKDN
Konfigurer FCKDN på klientmaskinen ved hjælp af følgende kommando.
hostnamectl set-hostname client1.ahmad.io
rediger derefter filen ‘/etc/hosts’ ved hjælp af vim editor.
vim /etc/hosts
Indsæt både KDC Kerberos server og klienten som nedenfor.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Gem og luk.
– installer Kerberos Client
installer Kerberos-klientpakker ved at køre følgende apt-kommando.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
under installationen bliver du spurgt om Kerberos Realm, Kerberos-serveren i Realm og Admin-serveren.
som standard vil Kerberos bruge Kerberos server-domænenavnet som et rige, ‘AHMAD.IO’.
Kerberos-serveren er ‘krb5.ahmad.io’.
og Admin server samme som Kerberos server ‘krb5.ahmad.io’.
og installationen til Kerberos client er færdig.
– Konfigurer Kerberos Client
fra klientmaskinen skal du oprette forbindelse til KDC Kerberos-serveren ved hjælp af kommandoen ‘kadmin’.
kadmin
og du bliver bedt om adgangskoden til ‘root/admin’ – princippet. Indtast adgangskoden, så bliver du logget ind på KDC Kerberos administrationssystem.
Tilføj nu klienten client1.ahmad.io ‘ til Kerberos-databasen og tilføj keytab-filen til klienten.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
luk derefter kadmin Kerberos administrationsgrænseflade.
quit
og konfigurationen af Kerberos client er afsluttet.
Trin 5-Test
til dette testformål skal vi konfigurere SSH-godkendelsen ved hjælp af Kerberos. Client machine ‘client1.ahmad.io’ vil oprette forbindelse til serveren ‘krb5.ahmad.io’ gennem SSH med Kerberos-godkendelsen.
– opsætning ‘krb5.ahmad.io’ Server
Opret en ny systembruger kaldet ‘ammar’.
useradd -m -s /bin/bash ammar
Log ind på KDC Kerberos administration og tilføj en ny hovedbruger kaldet ‘ammar’.
kadmin.local
addprinc ammar
Luk Kerberos administrationsgrænseflade og rediger SSH-konfigurationen ‘/etc/ssh/sshd_config’.
vim /etc/ssh/sshd_config
frigør ‘GSSAPIAuthentication’ og aktiver den ved at ændre værdien til “.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Gem og luk konfigurationen, genstart derefter SSH-tjenesten.
systemctl restart sshd
– opsætning ‘client1.ahmad.io’ maskine
Tilføj ny systembruger ‘ammar’ på klientmaskinen og log ind på den.
useradd -m -s /bin/bash ammar
su - ammar
Initialiser derefter Kerberos-brugerprincippet ‘ammar’.
kinit ammar
skriv brugerens adgangskode, og kontroller derefter den tilgængelige billet ved hjælp af følgende kommando.
klist
og du vil blive vist følgende resultat.
nu Kan du forbinde ‘krb5.ahmad.io’ server ved hjælp af SSH Kerberos godkendelse.
ssh krb5.ahmad.io
og du vil blive forbundet til ‘krb5.ahmad.io’ server gennem SSH med Kerberos-godkendelse.
nedenfor er SSH loggen efter logget til serveren.
endelig er installationen og konfigurationen af Kerberos server og klient på Ubuntu 18.04 afsluttet med succes.