Il MIT krb5 è un'implementazione libera di Kerberos 5. Kerberos è un protocollo di autenticazione di rete. Esso centralizza il database di autenticazione e usa applicazioni kerberizzate per funzionare con server o servizi che suportano Kerberos, permettendo login singoli e comunicazione criptata all'interno delle reti o di Internet.
Download (HTTP): http://web.mit.edu/kerberos/www/dist/krb5/1.4/krb5-1.4-signed.tar
Download MD5 sum: 2fa56607677544e3a27b42f7cfa1155b
Dimensione del download: 6.6 MB
Stima dello spazio su disco richiesto: 55 MB
Stima del tempo di costruzione: 2.55 SBU
xinetd-2.3.13 (solo server di servizio), Linux-PAM-0.78 (per login basati su xdm) e OpenLDAP-2.2.20 (alternativa per il database delle password krb5kdc)
Alcuni tipi di servizi di sincronizzazione dell'ora sul proprio sistema (come NTP-4.2.0) sono necessari, poiché Kerberos non autentica se il differenziale orario tra un client kerberizzato e il server KDC è maggiore di 5 minuti.
MIT krb5 è distribuito in un file TAR contenente un pacchetto TAR compresso e un file PGP ASC separato.
Se si è installato GnuPG-1.4.0, si può autenticare il paccetto con il seguente comando:
gpg --verify krb5-1.4.tar.gz.asc
Costruire il MIT krb5 eseguendo i seguenti comandi:
cd src &&
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/lib --enable-dns \
--enable-static --mandir=/usr/share/man &&
make
Installare il MIT krb5 eseguendo i seguenti comandi come root:
make install &&
mv /bin/login /bin/login.shadow &&
cp /usr/sbin/login.krb5 /bin/login &&
mv /usr/bin/ksu /bin &&
mv /usr/lib/libkrb5.so.3* /lib &&
mv /usr/lib/libkrb4.so.2* /lib &&
mv /usr/lib/libdes425.so.3* /lib &&
mv /usr/lib/libk5crypto.so.3* /lib &&
mv /usr/lib/libcom_err.so.3* /lib &&
ln -sf ../../lib/libkrb5.so.3 /usr/lib/libkrb5.so &&
ln -sf ../../lib/libkrb4.so.2 /usr/lib/libkrb4.so &&
ln -sf ../../lib/libdes425.so.3 /usr/lib/libdes425.so &&
ln -sf ../../lib/libk5crypto.so.3 /usr/lib/libk5crypto.so &&
ln -sf ../../lib/libcom_err.so.3 /usr/lib/libcom_err.so &&
ldconfig
--enable-dns: questa opzione permette ai domini di essere risolti usando il server DNS.
--enable-static: questa opzione costruisce librerie statiche in aggiunta alle librerie condivise.
mv /bin/login /bin/login.shadow
cp /usr/sbin/login.krb5 /bin/login
mv /usr/bin/ksu /bin
Preserva il comando di login di Shadow, sposta ksu e login nella directory /bin.
mv /usr/lib/libkrb5.so.3* /lib
mv /usr/lib/libkrb4.so.2* /lib
mv /usr/lib/libdes425.so.3* /lib
mv /usr/lib/libk5crypto.so.3* /lib
mv /usr/lib/libcom_err.so.3* /lib
ln -sf ../../lib/libkrb5.so.3 /usr/lib/libkrb5.so
ln -sf ../../lib/libkrb4.so.2 /usr/lib/libkrb4.so
ln -sf ../../lib/libdes425.so.3 /usr/lib/libdes425.so
ln -sf ../../lib/libk5crypto.so.3 /usr/lib/libk5crypto.so
ln -sf ../../lib/libcom_err.so.3 /usr/lib/libcom_err.so
I programmi login e ksu sono linkati verso queste librerie, quindi spostiamo queste librerie in /lib per permettere i login senza montare /usr.
Creare il file di configurazione di Kerberos con il seguente comando:
cat > /etc/krb5.conf << "EOF" # Begin /etc/krb5.conf [libdefaults] default_realm = [LFS.ORG] encrypt = true [realms] [LFS.ORG] = { kdc = [belgarath.lfs.org] admin_server = [belgarath.lfs.org] } [domain_realm] .[lfs.org] = [LFS.ORG] [logging] kdc = SYSLOG[:INFO[:AUTH]] admin_server = SYSLOG[INFO[:AUTH]] default = SYSLOG[[:SYS]] # End /etc/krb5.conf EOF
Bisognerà inserire il proprio dominio e il corretto hostname per le occorrenze dei nomi [belgarath] e [lfs.org].
default_realm deve essere il nome del proprio dominio cambiato in ALL CAPS. Ciò non è necessario, ma sia Heimdal che MIT lo raccomandano.
encrypt = true fornisce la cifratura di tutto il traffico tra client e server kerberizzati. Esso non è necessario e può essere omesso. Se lo si omette si può cifrare tutto il traffico dal client al server usando invece un'opzione nel programma client.
I parametri [realms] dicono ai programmi client dove cercare i servizi di autenticazione di KDC.
La sezione [domain_realm] mappa un dominio in un regno.
Creare il database di KDC:
kdb5_util create -r [LFS.ORG] -s
Il database ora deve essere popolato con almeno una regola (utente). Per ora usare semplicemente il login name o root.
kadmin.local kadmin:addprinc [loginname]
Il server KDC e ogni macchina che esegua un demone server kerberizzato deve avere una chiave host installata:
kadmin:addprinc -randkey host/[belgarath.lfs.org]
Dopo aver scelto i default quando vengono proposti bisognerà esportare i dati in un file keytab:
kadmin:ktadd host/[belgarath.lfs.org]
Questo dovrebbe aver creato un file in /etc dal nome krb5.keytab (Kerberos 5). Questo file deve avere i permessi 600 (root solo rw). Escludere i file keytab dall'accesso pubblico è cruciale per la sicurezza complessiva dell'installazione di Kerberos
Eventualmente si potrebbero voler aggiungere le regole del demone server al database ed estrarle verso il file keytab. Questo lo si fa nello stesso modo in cui sono state create le regole dell'host. Di seguito c'è un esempio:
kadmin:addprinc -randkey ftp/[belgarath.lfs.org] kadmin:ktadd ftp/[belgarath.lfs.org]
Uscire dal programma kadmin (usare quit o exit) e tornare al prompt della shell. Avviare manualmente il demone KDCper testare l'installazione:
/usr/sbin/krb5kdc &
Provare ad ottenere un ticket con il seguente comando:
kinit [loginname]
Verrà richiesta la password che è stata creata. Dopo che si è ottenuto il proprio ticket esso può essere mostrato con il seguente comando:
klist
Sullo schermo possono essere visualizzatte informazioni sul ticket.
Per testare la funzionalità del file keytab digitare il seguente comando:
ktutil ktutil:rkt /etc/krb5.keytab ktutil:l
Questo dovrebbe fare il dump di un elenco dei principali host, assieme ai metodi di cifratura usati per accedere ad essi.
A questo punto se è andato tutto bene ci si può sentire piuttosto fiduciosi sull'installazione e configurazione del pacchetto.
Installare l'init script /etc/rc.d/init.d/kerberos incluso nel pacchetto blfs-bootscripts-6.0.
make install-kerberos
Per usare i programmi client kerberizzati (telnet, ftp, rsh, rcp, rlogin), bisogna prima ottenere un ticket di autenticazione. Usare il programma kinit per ottenere il ticket. Dopo che si è ottenuto il ticket si possono usare i programmi kerberizzati per connettersi ad ogni server kerberizzato sulla rete. Non verrà richiesta l'autenticazione fino alla scadenza del proprio ticket (il default è un giorno), a meno che non si specifichi un utente diverso al programma come argomento della linea di comando
I programmi kerberizzati si connetteranno a demoni non kerberizzati, avvisando che l'autenticazione non è cifrata.
L'uso dei programmi server kerberizzati (telnetd, kpropd, klogind e kshd) richiede due passi di configurazione aggiuntivi. Prima il file /etc/services deve essere aggiornato per includere eklogin e krb5_prop. Secondo, inetd.conf o xinetd.conf deve essere modificato per ciascun server che verrà attivato, normalmente sostituendo il server di Inetutils-1.4.2.
Per ulteriori informazioni consultare La documentazione di krb-1.4 su cui sono basate le precedenti istruzioni.
converte la tabella che elenca i nomi dei codici errore in un file sorgente C.
è un client FTP kerberizzato.
è un demone FTP kerberizzato.
è un'utilità dell'host per la manipolazione della keytable.
è un'utilità usata per fare modifiche al database di Kerberos.
è un server per l'accesso amministrativo a un database Kerberos.
è l'utilità per il database di KDC.
rimuove il set corrente di ticket.
è usato per autenticarsi al server Kerberos come principale e acquisire un ticket granting ticket che in seguito può essere usato per ottenere ticket per altri servizi.
legge e visualizza i ticket correnti nella cache credenziale.
è il server che risponde alle richieste rlogin.
è un programma per cambiare le password Kerberos 5.
prende un database principale in un formato specificato e lo converte in un flusso di record del database.
riceve un database inviato da kprop e lo scrive come database locale.
dà informazioni su come linkare programmi alle librerie.
è un server Kerberos 5.
è il server che risponde a richieste rsh.
è il programma super utente che usa il protocollo Kerberos. Richiede una /etc/shells appropriatamente configurata e ~/.k5login contenente principali autorizzati a diventare super utenti.
è un programma per la gestione dei keytab di Kerberos.
stampa i numeri keyversion dei principali di Kerberos.
è un programma login kerberizzato.
è un programma client rcp kerberizzato.
è un programma client rlogin kerberizzato.
è un programma client rsh kerberizzato.
è un programma client telnet kerberizzato.
è un server telnet kerberizzato.
implementa la libreria dei codici errore di Kerberos.
contiene le funzioni Generic Security Service Application Programming Interface (GSSAPI) che forniscono servizi di sicurezza a chiamanti in un modo generico, supportabile con un range di meccanismi e tecnologie sottostanti, e che quindi consente la portabilità a livello sorgente di applicazioni verso ambienti differenti.
contiene l'autenticazione amministrativa e le funzioni di verifica password richieste dai programmi lato client di Kerberos 5.
contiene le funzioni di autenticazione amministrativa e verifica password richieste dai server di Kerberos 5.
è una libreria di accesso al database di autenticazione/autorizzazione di Kerberos 5.
è una libreria Kerberos 5 per tutti gli usi.
Last updated on