Debsecan è uno strumento open source a riga di comando scritto in Python da
Florian Weimer, per generare la lista delle vulnerabilità che potenzialmente possono affliggere sia una particolare installazione Debian (Woody, Sarge, Etch, Lenny e Sid), che Ubuntu (a partire dalla Dapper Drake 6.06). Il funzionamento è relativamente semplice; interrogando il database
dpkg viene prelevata la lista dei pacchetti installati, con relativo numero di versione, per essere confrontata con il database delle vulnerabilità mantenuto dal
Debian Testing Security Team.
Per l'installazione è sufficiente scaricare il
sorgente in Python o utilizzare il comando:
apt-get install debsecan. Quest'ultimo permette di avere a disposizione anche lo script
debsecan-create-cron per schedulare quotidianamente la scansione ed avere, tramite e-mail, un rapporto sugli eventuali cambiamenti di sistema.
In assenza di parametri la lista è molto sintetica, con la sola indicazione del pacchetto “incriminato” ed il codice della vulnerabilità nel formato
CVE (Common Vulnerability and Exposures), come registrato nel
National Vulnerability Database con l'eventuale livello di urgenza.
<span style="font-size:1.0em">
CVE-2007-4572 smbclient (high urgency)
CVE-2006-6498 firefox (high urgency)
CVE-2007-4351 cupsys (medium urgency)
CVE-2008-0226 mysql-client-5.0 (medium urgency)
</span>
Usando il parametro
--format detail possiamo avere maggiori informazioni anche senza dover interrogare il
Security Bug Tracker.
<span style="font-size:1.0em">
CVE-2007-4572 (high urgency)
Stack-based buffer overflow in nmbd in Samba 3.0.0 through 3.0.26a, ...
installed: samba 3.0.26a-1ubuntu2.3
(built from samba 3.0.26a-1ubuntu2.3)
fixed in unstable: samba 3.0.27-1 (source package)
fixed on branch: samba 3.0.14a-3sarge10 (source package)
fixed on branch: samba 3.0.14a-3sarge11 (source package)
fixed on branch: samba 3.0.24-6etch8 (source package)
fixed on branch: samba 3.0.24-6etch9 (source package)
</span>
Lo switch
--suite è strettamente legato all'installazione Debian e, se accoppiato con il parametro
--only-fixed, permette di restringere la visualizzazione ai soli aggiornamenti sulla sicurezza mancanti. Questo aspetto diventa estremamente interessante in fase di installazione col comando
apt-get. Nell'esempio, ho utilizzato l'opzione
sid, che identifica la branca sperimentale di Debian (
unstable), come tipologia comune per tutte le altre distribuzioni.
<span style="font-size:1.0em">
apt-get install $(debsecan --suite sid --only-fixed --format packages)
</span>