Kerberos è un protocollo di autenticazione di rete che utilizza la crittografia a chiave simmetrica e richiede l’autorizzazione di una terza parte attendibile per autenticare le applicazioni client-server. È stato originariamente sviluppato dal Massachusetts Institute of Technology (MIT) per proteggere i servizi di rete forniti dal progetto Athena.
Nel mondo moderno, Kerberos viene spesso utilizzato come servizio di autenticazione di terze parti. Ciò significa che tutti i clienti si fidano del giudizio di Kerberos sull’identità di un altro cliente.
In questo tutorial, vi mostreremo come impostare l’autenticazione Kerberos tra due server Ubuntu 18.04. Installeremo e configureremo il server Kerberos sul server Ubuntu e quindi installeremo il client Kerberos sull’altro. Infine, testeremo l’autenticazione del servizio SSH con il server Kerberos.
Prerequisiti
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16 client1.ahmad.io client1
- privilegi di Root
Cosa faremo:
- Configura file FQDN
- Installa KDC Kerberos Server
- Configura KDC Kerberos Server
- Installa e configura Kerberos Client
- Testing
Passo 1 – Imposta FQDN
Prima di tutto, dobbiamo configurare l’FQDN sul server Kerberos e quindi modificare il file ‘/etc/hosts’ del server.
Modificare l’FQDN del server Kerberos utilizzando il seguente comando.
hostnamectl set-hostname krb5.ahmad.io
Successivamente, modifica il file ‘/etc/hosts’ usando vim editor.
vim /etc/hosts
Cambia l’indirizzo IP e l’FQDN con il tuo e incollalo.
10.10.10.15 krb5.ahmad.io krb5
Salva e chiudi.
Ora prova usando il comando’ ping ‘ qui sotto e assicurati che l’FQDN sia risolto al giusto indirizzo IP.
ping -c 3 $(hostname -f)
Passo 2-Installare KDC Kerberos Server
Ora stiamo andando a installare il server Kerberos sul server ‘krb5’ con indirizzo IP ‘10.10.10.15’ e il FQDN è ‘krb5.ahmad.io’.
Installa Kerberos server usando il seguente comando apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
Durante l’installazione, ti verrà chiesto informazioni sul reame Kerberos, sul server Kerberos del Reame e sul server Admin.
per impostazione predefinita, il Kerberos utilizzare il server Kerberos nome di dominio come un REGNO, ‘AHMAD.IO’.
Il server Kerberos ‘krb5.ahmad.io’.
E l’Admin del server stesso come server Kerberos ‘krb5.ahmad.io’.
una Volta terminata l’installazione, vi verrà mostrato il servizio Kerberos non è riuscito a eseguire. Va bene perché configureremo nella fase successiva.
Passo 3 – Configurare KDC Kerberos Server
Ora generare una nuova password principale forte per il REAME Kerberos utilizzando il seguente comando.
sudo krb5_newrealm
Digitare la password complessa e la password del REALM verrà generata nel file ‘/etc/krb5kdc/stash’.
Successivamente, è necessario creare l’utente admin (admin principal) per il server KDC Kerberos, aggiungere il nome host del server Kerberos al database e quindi creare la scheda chiave per il server Kerberos.
Eseguire il ‘kadmin.interfaccia a riga di comando locale per il comando di amministrazione Kerberos di seguito.
sudo kadmin.local
Crea un nuovo principal utente amministratore chiamato ‘root’.
addprinc root/admin
Digitare la password complessa per l’amministratore principale “root”.
Aggiungere il server Kerberos KDC al database e creare il file keytab per l’host KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
Quindi chiudere il ‘kadmin.locale’ utilità.
quit
Successivamente, dobbiamo aggiungere il principio di amministratore ‘ root ‘all’elenco di controllo degli accessi modificando’ /etc/krb5kdc/kadm5.file acl.
vim /etc/krb5kdc/kadm5.acl
Aggiungere la seguente configurazione.
root/admin *
Salvare e chiudere la configurazione, quindi riavviare il servizio Kerberos.
sudo systemctl restart krb5-admin-server.service
E la configurazione del server KDC Kerberos è stata completata.
Passo 4-Installare e configurare Kerberos Client
In questo passaggio, stiamo andando a installare il client Kerberos su Ubuntu server con l’indirizzo IP ‘10.10.10.16’ e il nome host ‘client1’.
– Configurare FQDN
Configurare l’FQDN sulla macchina client utilizzando il seguente comando.
hostnamectl set-hostname client1.ahmad.io
Successivamente, modifica il file ‘/etc/hosts’ usando vim editor.
vim /etc/hosts
Incolla sia il server KDC Kerberos che il client come di seguito.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Salva e chiudi.
– Installa Kerberos Client
Installa i pacchetti client Kerberos eseguendo il seguente comando apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
Durante l’installazione, ti verrà chiesto informazioni sul reame Kerberos, sul server Kerberos del reame e sul server Admin.
Per impostazione predefinita, Kerberos utilizzerà il nome di dominio del server Kerberos come REAME, ‘AHMAD.IO’.
Il server Kerberos è ‘krb5.ahmad.io’.
E il server di amministrazione come il server Kerberos ‘krb5.ahmad.io”.
E l’installazione per il client Kerberos è terminata.
– Configurare il client Kerberos
Dalla macchina client, connettersi al server KDC Kerberos utilizzando il comando ‘kadmin’.
kadmin
E ti verrà richiesta la password del principio “root/admin”. Digitare la password per accedere al sistema di amministrazione KDC Kerberos.
Ora aggiungi il client FQDN ‘client1.ahmad.io’ al database Kerberos e aggiungere il file keytab per il client.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
Quindi chiudere l’interfaccia di amministrazione kadmin Kerberos.
quit
E la configurazione del client Kerberos è completata.
Passo 5-Testing
Per questo scopo di test, stiamo andando a configurare l’autenticazione SSH utilizzando il Kerberos. La macchina client ‘client1.ahmad.io’ si connetterà al server ‘krb5.ahmad.io’ attraverso SSH con l’autenticazione Kerberos.
– Configurazione ‘krb5.ahmad.io’ Server
Crea un nuovo utente di sistema chiamato ‘ammar’.
useradd -m -s /bin/bash ammar
Accedere all’amministrazione KDC Kerberos e aggiungere un nuovo utente principale chiamato ‘ammar’.
kadmin.local
addprinc ammar
Chiudere l’interfaccia di amministrazione Kerberos e modificare la configurazione ssh ‘/etc/ssh/sshd_config’.
vim /etc/ssh/sshd_config
Decommentare il ‘GSSAPIAuthentication’ e abilitarlo modificando il valore in “.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Salvare e chiudere la configurazione, quindi riavviare il servizio ssh.
systemctl restart sshd
– Configurazione ‘client1.ahmad.io’ Machine
Aggiungi un nuovo utente di sistema ‘ammar’ sul computer client e accedi ad esso.
useradd -m -s /bin/bash ammar
su - ammar
Successivamente, inizializzare il principal utente Kerberos ‘ammar’.
kinit ammar
Digitare la password dell’utente e successivamente controllare il Ticket disponibile utilizzando il seguente comando.
klist
E ti verrà mostrato il seguente risultato.
Ora è possibile collegare il ‘krb5.ahmad.io’ server che utilizza l’autenticazione SSH Kerberos.
ssh krb5.ahmad.io
E sarai connesso al ‘krb5.ahmad.io’ server tramite SSH con autenticazione Kerberos.
Di seguito è riportato il registro SSH dopo aver effettuato l’accesso al server.
Infine, l’installazione e la configurazione del server e del client Kerberos su Ubuntu 18.04 sono state completate con successo.