Nota: questo è un obiettivo d’esame RHCE 7.
Prerequisiti
Prima di configurare un client Kerberos, devi configurare un KDC.
Inoltre, per far funzionare Kerberos, la sincronizzazione NTP e la risoluzione del nome host devono funzionare.
Se nessun DNS funziona, aggiungi le seguenti righe nel file /etc/hosts (sostituisci gli indirizzi IP specificati con i tuoi):
192.168.1.11 kbserver.example.com 192.168.1.12 kbclient.example.com
Configurazione del client
Installa i pacchetti client Kerberos:
# yum install -y krb5-workstation pam_krb5
Modifica il file /etc/krb5.conf, decommenta tutte le linee, sostituisci EXAMPLE.COM con il tuo dominio, esempio.com con il tuo nome di dominio e kerberos.example.com con il tuo nome del server KDC (qui kbserver.example .com).
In alternativa, si ottiene il file /etc/krb5.conf dal server KDC (qui kbserver.example.com):
# scp root@kbserver.example.com:/etc/krb5.conf /etc/krb5.conf
Crea un utente per il test:
# useradd user01
Aggiungi il nome del computer client (qui kbclient.example.com) ai principali:
# kadmin Authenticating as principal root/admin@EXAMPLE.COM with password. Password for root/admin@EXAMPLE.COM:kerberoskadmin: addprinc -randkey host/kbclient.example.com WARNING: no policy specified for host/kbclient.example.com@EXAMPLE.COM; defaulting to no policy Principal "host/kbclient.example.com@EXAMPLE.COM" created.
Crea una copia locale memorizzata per impostazione predefinita nel file /etc/krb5.keytab:
kadmin: ktadd host/kbclient.example.com Entry for principal host/kbclient.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type camellia128-cts-cmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/kbclient.example.com with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:/etc/krb5.keytab. kadmin: quit
Modifica il file /etc/ssh/ssh_config e aggiungi o decommenta le seguenti righe:
GSSAPIAuthentication yes GSSAPIDelegateCredentials yes
Ricarica la configurazione del servizio sshd:
# systemctl reload sshd
Configura il componente PAM sulla riga di comando:
# authconfig --enablekrb5 --update
Verifica la tua configurazione (qui kbserver.example.com è il nome del server KDC):
# su - user01 $ kinit Password for user01@EXAMPLE.COM:user01$ klist Ticket cache: KEYRING:persistent:1000:1000 Default principal: user01@EXAMPLE.COM Valid starting Expires Service principal 07/22/2014 17:20:15 07/23/2014 17:19:54 krbtgt/EXAMPLE.COM@EXAMPLE.COM renew until 07/22/2014 17:19:54 $ ssh kbserver.example.com
Ora dovresti essere in grado di uscire e riconnettersi senza fornire alcuna password.
Inoltre, la prima volta che si accede a un client Kerberos, è necessario fornire un login/password (vedere kinit sopra). Quindi, si ottiene un ticket che consente di accedere a tutti gli altri client Kerberos nello stesso reame e non è necessario fornire una password finché il ticket è valido.
Nota: per eliminare un ticket, utilizzare il comando kdestroy.
Pingback: Obiettivi esame RHCE 7 - prometheusproject