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
Version: 2.97, Mon, 16 May 2005 21:28:06 +0200jfs@debian.org