Configurazione di un server Kerberos 5 su Red Hat Linux 7.1

Prima di tutto è necessario installare un calcolatore server in cui sia presente il software per Kerberos. Se state configurando un server slave, troverete maggiori dettagli nella Kerberos 5 Installation Guide (presente nella directory /usr/share/doc/krb5-server-<numeroversione>).

Per installare un server Kerberos:

  1. Prima di installare Kerberos 5, assicuratevi che il vostro orologio di sistema sia sincronizzato e che il DNS funzioni. Prestate particolare attenzione alla sincronizzazione dell'ora tra il server Kerberos e i vari client. Infatti se gli orologi del server e dei client hanno una differenza superiore a 5 minuti (tempo predefinito in Kerberos 5), i client non potranno autenticarsi al server. La sincronizzazione degli orologi è necessaria per impedire un attacco in cui si cerca di usare un vecchio metodo di autenticazione per mascherarsi da utente valido.

    Dovreste configurare una rete client/server NTP (Network Time Protocol) compatibile usando Red Hat Linux, anche se non state usando Kerberos. Red Hat Linux 7.1 contiene il pacchetto ntp per un'installazione semplice. Per maggiori informazioni sull'NTP, consultate l'indirizzo http://www.eecis.udel.edu/~ntp

  2. Installate i pacchetti krb5-libs, krb5-server, e krb5-workstation sul server KDC. Questa macchina deve essere il più possibile sicura, perciò non installate altri servizi.

    Se preferite utilizzare l'interfaccia grafica (GUI) per amministrare il server Kerberos, installate il pacchetto gnome-kerberos. Contiene il tool grafico krb5, per la gestione dei ticket e del sistema Kerberos.

  3. Modificate i file di configurazione /etc/krb5.conf e /var/kerberos/krb5kdc/kdc.conf indicando le informazioni per la vostra rete. Sostituite le stringhe EXAMPLE.COM e example.com con il nome del vostro dominio mantenendo le lettere minuscole e maiuscole come indicato. Infine sostituite kerberos.example.com con il nome del server Kerberos. Per maggiori informazioni sul formato di questi file, consultate le rispettive pagine man.

  4. Create il database utilizzando l'utility kdb5_util al prompt della shell digitate quanto segue:

    /usr/kerberos/sbin/kdb5_util create -s

    Il comando create crea il database per la memorizzazione delle chiavi. L'opzione -s obbliga la creazione di un file stash, in cui viene immagazzinato il server master. Se non esiste alcun file stash da cui leggere la chiave, il server Kerberos (krb5kdc) richiede all'utente la password del server master (che può essere utilizzata per ricreare la chiave) a ogni avvio del programma.

  5. Modificate il file /var/kerberos/krb5kdc/kadm5.acl. Il programma kadmind usa questo file per determinare quali principal hanno accesso al database Kerberos. Nella maggior parte dei casi si può inserire la riga seguente:

    */admin@EXAMPLE.COM  *

    La maggior parte degli utenti saranno rappresentati nel database da un singolo principal (per esempio con una istanza NULL e joe@EXAMPLE.COM). Con questa configurazione gli utenti con un secondo principal e con un'istanza admin (per esempio joe/admin@EXAMPLE.COM) avranno pieni poteri sul database di Kerberos.

    Dopo aver attivato kadmind sul server, ogni utente potrà accedere ai servizi eseguendo kadmin o gkadmin su ogni client o server. Comunque solo gli utenti elencati nel file kadm5.acl potranno modificare il database.

    NotaNota Bene
     

    Le utility kadmin e gkadmin comunicano con il programma kadmind in esecuzione sul server via rete. Naturalmente dovrete creare un principal prima di connettervi al server via rete per amministrarlo. Create il primo principal con il comando kadmin.local, ideato per essere usato sullo stesso host di KDC e per non utilizzare Kerberos.

    Per creare il primo principal, digitate il comando kadmin.local sul terminale di KDC:

    /usr/kerberos/sbin/kadmin.local -q "addprinc nomeutente/admin"
  6. Attivate Kerberos tramite il comando:

    krb5kdc start
    kadmin start
    krb524 start
  7. Aggiungete i principal per i vostri utenti tramite l'opzione addprinc di kadmin o tramite il menu Principale => Aggiungi di gkadmin. kadmin (e kadmin.local sul KDC master) è un'interfaccia a linea di comando per il sistema di amministrazione di Kerberos. Molti comandi sono disponibili dopo aver lanciato il programma kadmin. Per maggiori informazioni su questo programma, consultate la relativa pagina man.

  8. Verificate che il vostro server rilasci i ticket. Prima di tutto, eseguite kinit per ottenere i ticket e memorizzatelo nel file della cache. Utilizzate il comando klist per visualizzare il contenuto della cache e il comando kdestroy per cancellarlo.

    NotaNota Bene
     

    Per default, kinit prova ad autenticarvi con la login utilizzata per collegarsi. Se l'utente non corrisponde a un principal presente nel database Kerberos, riceverete un messaggio di errore. In tal caso fornite a kinit il nome del vostro principal come argomento sulla linea di comando.

Una volta terminati i passi precedenti, il vostro server Kerberos dovrebbe essere in esecuzione. È necessario configurare i client di Kerberos.