Queste procedure descrivono le operazioni da effettuare per rafforzare la sicurezza dei server di applicazioni SEAM e dei server KDC.
Questa procedura limita l'accesso via rete al server mediante telnet, ftp, rcp, rsh e rlogin alle sole transazioni autenticate da Kerberos.
Modificare la voce telnet in /etc/inetd.conf.
Aggiungere l'opzione -a user alla voce telnet per limitare l'accesso agli utenti che possono fornire informazioni di autenticazione valide.
telnet stream tcp nowait root /usr/krb5/lib/telnetd telnetd -a user |
Modificare la voce ftp in /etc/inetd.conf.
Aggiungere l'opzione -a alla voce ftp per abilitare solo i collegamenti autenticati da Kerberos.
ftp stream tcp nowait root /usr/krb5/lib/ftpd ftpd -a |
Disabilitare le voci di Solaris per gli altri servizi in /etc/inetd.conf.
Commentare o rimuovere le voci per shell e login.
# shell stream tcp nowait root /usr/sbin/in.rshd in.rshd # login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind |
I server KDC master e slave memorizzano localmente le rispettive copie del database KDC. La limitazione dell'accesso a questi server e ai loro database è perciò importante per la sicurezza generale dell'installazione SEAM.
Disabilitare i servizi remoti in /etc/inetd.conf.
Per rendere sicuro un server KDC, è buona norma disabilitare tutti i servizi di rete non essenziali commentando le voci per l'avvio di questi servizi in /etc/inetd.conf. In genere, gli unici servizi di cui è richiesta l'esecuzione sono time e krdb5_kprop. I servizi che utilizzano i loopback tli (ticlts, ticotsord e ticots) possono restare abilitati. Dopo la modifica, il file dovrebbe avere la forma seguente (per ragioni di brevità, l'esempio non include tutte le righe commentate):
kdc1 # cat /etc/inetd.conf # #ident "@(#)inetd.conf 1.33 98/06/02 SMI" /* SVr4.0 1.5 */ . . #name dgram udp wait root /usr/sbin/in.tnamed in.tnamed # #shell stream tcp nowait root /usr/sbin/in.rshd in.rshd #login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind #exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd #comsat dgram udp wait root /usr/sbin/in.comsat in.comsat #talk dgram udp wait root /usr/sbin/in.talkd in.talkd # #uucp stream tcp nowait root /usr/sbin/in.uucpd in.uucpd # #finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd # # Time service is used for clock synchronization. # time stream tcp nowait root internal time dgram udp wait root internal # . . # 100234/1 tli rpc/ticotsord wait root /usr/lib/gss/gssd gssd #dtspc stream tcp nowait root /usr/dt/bin/dtspcd /usr/dt/bin/dtspcd #100068/2-5 dgram rpc/udp wait root /usr/dt/bin/rpc.cmsd rpc.cmsd 100134/1 tli rpc/ticotsord wait root /usr/krb5/lib/ktkt_warnd kwarnd #klogin stream tcp nowait root /usr/krb5/lib/rlogind rlogind -k #eklogin stream tcp nowait root /usr/krb5/lib/rlogind rlogind -k -e #telnet stream tcp nowait root /usr/krb5/lib/telnetd telnetd #ftp stream tcp nowait root /usr/krb5/lib/ftpd ftpd #kshell stream tcp nowait root /usr/krb5/lib/rshd rshd -k -c -A krb5_prop stream tcp nowait root /usr/krb5/lib/kpropd kpropd |
Al termine delle modifiche, riavviare il server.
Limitare l'accesso all'hardware che supporta il KDC.
Per limitare l'accesso fisico, collocare il server e il suo monitor in un luogo sicuro. Gli utenti normali non dovrebbero avere alcun tipo di accesso a questo server.
Memorizzare copie di backup del database KDC su dischi locali o sui server slave.
L'archiviazione su nastro del database KDC è consigliabile solo se i nastri possono essere riposti in un luogo sicuro. Questo vale anche per le copie delle tabelle di chiavi. La soluzione ideale è quella di memorizzare i file in un file system locale che non sia condiviso da altri sistemi. Il file system di memorizzazione può risiedere sia sul KDC master che sugli slave.