Di seguito è riportata una procedure passo-passo, post-installazione, per blindare un sistema Debian GNU/linux 2.2. Questo è un possibile approccio a tale procedura ed è orientato a blindare i servizi di rete. È incluso al fine di mostrare l'intero processo che potrebbe essere usato durante la configurazione. Vedete in Verifica della configurazione, Appendice B.
dselect
, rimuovete tutti i pacchetti selezionati ma
non necessari prima di effettuare l'installazione con il comando [I]nstall.
Mantenete il minimo numero di pacchetti per il sistema.
lilo
.
$ ps -aux $ netstat -pn -l -A inet # /usr/sbin/lsof -i | grep LISTEN
In questo caso è necessario installare lsof-2.2
per avere a
disposizione il comando (che lavorerà da root). Dovreste fare attenzione che
lsof
potrebbe tradurre il termine LISTEN secondo le vostre
impostazioni locali.
lsof
e dpkg
, fa proprio questo:
#!/bin/sh # FIXME: this is quick and dirty; replace with a more robust script snippet for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq` echo "Service $i is installed by $pack"; init=`dpkg -L $pack |grep init.d/ ` if [ ! -z "$init" ]; then echo "and is run by $init" fi done
dpkg --purge
), o
disabilitate la partenza automatica del servizio all'avvio del sistema
utilizzando update-rc.d
(vedete in Disabilitare i servizi attivi in modalità
demone, Sezione 3.6.1).
/etc/inetd.conf
, utilizzando:
$ grep -v "^#" /etc/inetd.conf | sort -u
Per disabilitare quei servizi che non desiderate, è necessario commentare le
linee che li avviano in /etc/inetd.conf
, altrimenti, rimuovere il
pacchetto che fornisce il servizio, o utilizzare update-inetd
.
/usr/sbin/tcpd
),
verificate che i file /etc/hosts.allow
e
/etc/hosts.deny
siano configurati in accordo con la vostra
politica di sicurezza.
$ init 1 (....) $ init 2
$ for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`; \ > do user=`ps -ef |grep $i |grep -v grep |cut -f 1 -d " "` ; \ > echo "Service $i is running as user $user"; done
Valutate l'opportunità di modificare questi servizi associandoli a specifici
utenti/gruppi mediante gabbie chroot
per avere maggior sicurezza.
Potete farlo modificando lo script /etc/init.d
che avvia il
servizio. La maggior parte dei servizi in Debian usano
start-stop-daemon
che ha l'opzione (--change-uid e
--chroot) per apportare le modifiche di cui sopra. Alcuni
avvertimenti al riguardo dei servizi in chroot
: potrebbe essere
necessario mettere tutti i file installati dal pacchetto (usando dpkg -L) che
fornisce il servizio, così come tutti i pacchetti da cui esso dipende, in un
ambiente di tipo chroot
. Le informazioni per configurare un
ambiente chroot
per il programma ssh
possono essere
trovate in Ambiente Chroot
per
SSH
, Appendice G.
nessus
), al fine di determinare le vulnerabilità nel sistema (p.e.
errate configurazioni, servizi vecchi o non necessari).
snort
e logsentry
.
Le persone realmente paranoiche dovrebbero valutare anche quanto segue:
FIXME: questa procedura si occupa della blindatura dei servizi, non della blindatura di sistemi a livello utente, includendo le informazioni per controllare i permessi utente, i file SETUID e il congelamento dei cambiamenti del sistema utilizzando il filesystem ext2.
Securing Debian Manual
2.97 5 marzo 2004Ven, 3 Ott 2003 22:23:28 +0200jfs@computer.org