RHEL7: configurare un sistema per l’autenticazione tramite Kerberos

By | Novembre 26, 2018

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: kerberos
kadmin:  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.

One thought on “RHEL7: configurare un sistema per l’autenticazione tramite Kerberos

  1. Pingback: Obiettivi esame RHCE 7 - prometheusproject

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.