Kerberos viene utilizzato per autenticare gli utenti su una rete non protetta . Per fare questo, il server e il client devono condividere una chiave comune usata per cifrare e decifrare le password . La distribuzione delle chiavi viene eseguita da un Master Key Distribution Center ( KDC ) . La ridondanza è integrato nel sistema attraverso la creazione di uno o più KDC slave . Progettazione del master
Prima di iniziare la creazione di Kerberos sul sistema, è necessario conoscere il nome del Kerberos , l'hostname del master e dello slave Centri di distribuzione chiavi (KDC) e di come si sta andando a mappare i nomi di host nel reame Kerberos . È necessario determinare le porte che i KDC ei accesso ( kadmin ) servizi di database verranno utilizzati . Avrete anche a conoscere la frequenza master e slave KDC riempiranno il database .
Si utilizzerà le suddette informazioni per configurare il KDC master. I file di configurazione KDC master saranno disponibili all'indirizzo " /etc/krb5.conf " e " /usr/local/var/krb5kdc/kdc.conf " e possono essere modificati in qualsiasi editor di testo . Il file " krb5.conf " contiene informazioni su dove individuare i KDC e server di amministrazione , così come il nome di informazioni di mappatura host. Il file " kdc.conf " contiene le informazioni di default utilizzato per il rilascio di ticket Kerberos . Aprire il " /etc/krb5.conf " e modificare il " login ", " regni " e "valori domain_realm " in modo che siano corrette per il sistema. Cambiare la " /usr/local/var/krb5kdc/kdc.conf " in modo che rifletta le informazioni corrette per il server KDC .
Il passo successivo è quello di creare il database . Aprire un terminale e digitare il comando " kdb5_util . " Vi verrà chiesto di fornire una chiave master . Questa dovrebbe essere una stringa di lettere , numeri e caratteri speciali simili a una password . Questa chiave viene memorizzato in un file stash sul disco rigido del KDC . Se invece volete essere richiesto per la chiave ogni volta che Kerberos si avvia , è possibile scegliere di non creare il file stash.
Infine, si creerà l' Access Control List ( ACL) e aggiungere almeno un amministratore ad esso. L'ACL è un file di testo creato dall'utente che si chiama " /usr/local/var/krb5kdc/kadm5.acl . " Questo file deve avere l'amministratore elencato nella forma : i permessi Kerberos_principal [ target_principal ] [ vincoli ] Una volta che l' elenco ACL è stato creato, il comando " kadmin.local " e aggiungere ogni principale al database . Avviare i demoni Kerberos con il comando " /usr/local/sbin/krb5kdc ; . /Usr /local /sbin /kadmin "
Creazione del Keytab File
tabella di chiavi viene usata per decifrare il ticket Kerberos e determinare se l' utente può avere accesso al database . Per creare questo file , digitate il comando " kadmin.local " di nuovo . Questo vi fornirà un prompt dove potrete digitare il comando : " ktadd -k /usr/local/var/krb5kdc/kadm5.keytab kadmin /admin kadmin /changepw " per creare la tabella di chiavi . Sostituire la sezione " /usr/local/var/krb5kdc/kadm5.keytab " con la posizione tabella di chiavi che è stato specificato nel file " /usr/local/var/krb5kdc/kdc.conf " . Tipo "quit " per uscire dal programma di utilità " kadmin " .
Configurazione del Schiavo KDC
Per creare i KDC slave , si rilascia il " kadmin . locale "di comando per la terza volta . Al prompt dei comandi , eseguire il comando " addprinc - randkey host /example.com " per il Master e ogni slave . Utilizzare il nome host di ogni KDC al posto di " example.conf . " Questo creerà le chiavi di host per ogni KDC . Successivamente, estrarre le chiavi su ciascuno dei KDC slave avviando il programma di utilità " kadmin " su ciascuno degli schiavi e dando il comando " ktadd host /MasterKDC.com . " Sostituire " MasterKDC.com " con il nome host del KDC master .
Per il database per essere propagato dal KDC master per i KDC slave si dovrà creare un file chiamato " /usr /local /var /krb5kdc/kpropd.acl . " Questo file deve contenere i principi per ciascuno dei KDC nella forma " host /example.com ". . Ogni principale deve essere posizionato su una riga
Successivamente, modificare il " //etc inetd.conf " file su ciascuno dei KDC e aggiungere le seguenti righe: krb5_prop stream tcp nowait root /usr /local /sbin /kpropd kpropdeklogin stream tcp nowait root /usr /local /sbin /klogind klogind -k - c -e
Modificare il file " /etc /services " su ciascuno dei KDC e aggiungere le seguenti righe : Kerberos 88/UDP kdc # autenticazione Kerberos ( UDP) 88/tcp Kerberos KDC # autenticazione Kerberos ( tcp ) krb5_prop 754/tcp # Kerberos schiavo propagationkerberos - adm 749/tcp # Kerberos 5 Admin /changepw ( tcp ) kerberos - adm 749/udp # Kerberos 5 Admin /changepw ( UDP) eklogin 2105/tcp # Kerberos criptato rlogin
moltiplicazione del Database
moltiplicazione il database viene eseguita dal Maestro KDC . Eseguire il comando " /usr/local/sbin/kdb5_util dump /usr/local/var/krb5kdc/slave_datatrans " per creare un dump del database . Quindi, eseguire il comando " /usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans Schiavo - 1.example.com " per propagare manualmente il database su ognuno degli slave .
< P > Queste misure dovranno essere completate su una base regolare . Il modo più semplice per farlo è quello di creare lo script ed eseguire lo script come un cron job . Lo script dovrebbe essere simile : # /bin /sh
kdclist = "schiavo - 1.example.com schiavi 2.example.com "
/usr/local/sbin/kdb5_util " discarica = > /usr/local/var/krb5kdc/slave_datatrans "
per KDC in kdclistdo $ /usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans $ kdcdone
Certo , cambiare i nomi host in modo da riflettere i valori per il vostro sistema .
Creare Stash Files sugli schiavi
il passo finale per la creazione di Kerberos è di creare file stash sui KDC slave . Su ciascuno dei KDC slave il comando " kdb5_util scorta " e fornire la chiave master quando richiesto. Una volta completata , è possibile avviare il demone " krb5kdc " su ogni slave con il comando " /usr/local/sbin/krb5kdc /. "