Kerberos este un protocol de autentificare în rețea care utilizează criptografia cheii simetrice și necesită autorizare de la o terță parte de încredere pentru autentificarea aplicațiilor client-server. Acesta a fost inițial dezvoltat de Institutul de Tehnologie din Massachusetts (MIT) pentru a proteja serviciile de rețea furnizate de Proiectul Athena.
în lumea modernă, Kerberos este adesea folosit ca un serviciu de autentificare terță parte. Aceasta înseamnă că toți clienții au încredere în judecata lui Kerberos cu privire la identitatea altui client.
în acest tutorial, vă vom arăta cum să configurați autentificarea Kerberos între două servere Ubuntu 18.04. Vom instala și configura serverul Kerberos pe serverul Ubuntu și apoi vom instala clientul Kerberos pe celălalt. În cele din urmă, vom testa autentificarea serviciului SSH cu serverul Kerberos.
cerințe preliminare
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10, 10, 10, 16 client1.ahmad.io client1
- privilegii Root
ce vom face:
- configurare fișier FQDN
- instalare KDC Kerberos Server
- configurare KDC Kerberos Server
- instalare și configurare client Kerberos
- testare
Pasul 1 – Configurare FQDN
în primul rând, trebuie să configurăm FQDN pe serverul Kerberos și apoi să edităm fișierul ‘/etc/hosts’ al serverului.
schimbați FQDN-ul serverului Kerberos folosind următoarea comandă.
hostnamectl set-hostname krb5.ahmad.io
după aceea, editați fișierul ‘/etc/hosts’ folosind editorul vim.
vim /etc/hosts
schimbați adresa IP și FQDN cu propria dvs. și lipiți-o în ea.
10.10.10.15 krb5.ahmad.io krb5
Salvați și închideți.
acum testați folosind comanda ‘ping’ de mai jos și asigurați-vă că FQDN este rezolvat la adresa IP corectă.
ping -c 3 $(hostname -f)
Pasul 2-instalați KDC Kerberos Server
acum vom instala serverul Kerberos pe serverul’ krb5 ‘cu adresa IP ‘10.10.10.15’ și FQDN este ‘krb5.ahmad.io’.
instalați serverul Kerberos folosind următoarea comandă apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
în timpul instalării, veți fi întrebat despre tărâmul Kerberos, serverul Kerberos al tărâmului și serverul de administrare.
în mod implicit, Kerberos va folosi numele de domeniu Kerberos server ca domeniu, ‘AHMAD.IO’.
serverul Kerberos este ‘krb5.ahmad.io’.
și serverul de administrare la fel ca serverul Kerberos ‘krb5.ahmad.io’.
odată ce instalarea este terminată, vi se va afișa serviciul Kerberos nu a reușit să ruleze. Este bine pentru că vom configura în etapa următoare.
Step 3 – Configurarea KDC Kerberos Server
acum genera o nouă parolă maestru puternic pentru domeniul Kerberos folosind următoarea comandă.
sudo krb5_newrealm
introduceți parola puternică și parola de regiune va fi generată în fișierul ‘/etc/krb5kdc/stash’.
după aceea, trebuie să creăm utilizatorul admin (admin principal) pentru serverul KDC Kerberos, să adăugăm numele de gazdă al serverului Kerberos în baza de date și apoi să creăm keytab pentru serverul Kerberos.
rulați ‘ kadmin.local ‘ interfață de linie de comandă pentru comanda de administrare Kerberos de mai jos.
sudo kadmin.local
creați un nou director de utilizator admin numit ‘root’.
addprinc root/admin
tastați parola puternică pentru administratorul principal ‘root’.
adăugați serverul KDC Kerberos la baza de date și creați fișierul keytab pentru gazda KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
apoi închideți ‘kadmin.utilitate locală.
quit
apoi, trebuie să adăugăm principiul admin ‘ root ‘la lista de control acces prin editarea’ /etc/krb5kdc/kadm5.dosarul acl.
vim /etc/krb5kdc/kadm5.acl
adăugați următoarea configurație.
root/admin *
Salvați și închideți configurația, apoi reporniți serviciul Kerberos.
sudo systemctl restart krb5-admin-server.service
și configurația serverului KDC Kerberos a fost finalizată.
Step 4-Instalați și configurați Kerberos Client
în acest pas, vom instala clientul Kerberos pe Ubuntu server cu adresa IP ‘10.10.10.16’ și numele de gazdă ‘client1’.
– configurați FQDN
configurați FQDN pe mașina client folosind următoarea comandă.
hostnamectl set-hostname client1.ahmad.io
după aceea, editați fișierul ‘/etc/hosts’ folosind editorul vim.
vim /etc/hosts
lipiți atât serverul KDC Kerberos, cât și clientul ca mai jos.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Salvați și închideți.
– instalați Kerberos Client
instalați pachetele client Kerberos executând următoarea comandă apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
în timpul instalării, veți fi întrebat despre tărâmul Kerberos, serverul Kerberos al tărâmului și serverul de administrare.
în mod implicit, Kerberos va folosi numele de domeniu Kerberos server ca domeniu, ‘AHMAD.IO’.
serverul Kerberos este ‘krb5.ahmad.io’.
și serverul de administrare la fel ca serverul Kerberos ‘krb5.ahmad.io’.
și instalarea pentru clientul Kerberos este terminată.
– configurați clientul Kerberos
de la mașina client, conectați-vă la serverul KDC Kerberos folosind comanda ‘kadmin’.
kadmin
și vi se va cere parola principiului ‘root/admin’. Introduceți parola și veți fi conectat la sistemul de administrare KDC Kerberos.
Acum adăugați clientul FQDN ‘client1.ahmad.io’ la baza de date Kerberos și adăugați fișierul keytab pentru client.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
apoi închideți interfața de administrare kadmin Kerberos.
quit
și configurația clientului Kerberos este finalizată.
Step 5-testarea
în acest scop de testare, vom configura autentificarea SSH folosind Kerberos. Mașina clientului client1.ahmad.io ‘ se va conecta la server ‘krb5.ahmad.io prin SSH cu Autentificarea Kerberos.
– Setup ‘krb5.ahmad.io’ Server
creați un nou utilizator de sistem numit ‘ammar’.
useradd -m -s /bin/bash ammar
Conectați-vă la administrarea KDC Kerberos și adăugați un nou utilizator principal numit ‘ammar’.
kadmin.local
addprinc ammar
închideți interfața de administrare Kerberos și editați configurația ssh ‘/etc/ssh/sshd_config’.
vim /etc/ssh/sshd_config
decomentați „GSSAPIAuthentication” și activați-l schimbând valoarea în”.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Salvați și închideți configurația, apoi reporniți serviciul ssh.
systemctl restart sshd
– Setup ‘client1.ahmad.io’ Machine
adăugați un nou utilizator de sistem ‘ammar’ pe mașina client și conectați-vă la acesta.
useradd -m -s /bin/bash ammar
su - ammar
după aceea, inițializați principalul utilizator Kerberos ‘ammar’.
kinit ammar
introduceți parola utilizatorului și apoi verificați biletul disponibil folosind următoarea comandă.
klist
și vi se va afișa următorul rezultat.
acum Puteți conecta ‘krb5.ahmad.io’ server folosind autentificarea SSH Kerberos.
ssh krb5.ahmad.io
și veți fi conectat la ‘krb5.ahmad.io’ server prin SSH cu autentificare Kerberos.
mai jos este jurnalul SSH după logat la server.
în cele din urmă, instalarea și configurarea serverului și clientului Kerberos pe Ubuntu 18.04 a fost finalizată cu succes.