Portsentry è un tool che permette di rilevare anche i tentativi di portscan che utilizzano tecniche stealth. Esso è inoltre in grado di prendere provedimenti in seguito a questi tentativi.
Questo documento illustrerà brevemente come integrare portsentry con iptables.
Sebbene si possano reperire versioni precompilate del pacchetto io consiglio di scaricare i sources, in modo da poter personalizzare il pacchetto.
Dopo aver scaricato e decompresso il pacchetto, entrate nella directory corrispondente ed aprite il file portsentry_config.h. Si tratta di un file header del C, modificabile con qualunque editor ascii; l'unica riga da cambiare è quella che definisce il logging dei pacchetti. La riga pre-esistente andrà cambiata in:
#define SYSLOG_FACILITY LOG_LOCAL0
Passiamo quindi al file portsentry.conf; la prima sezione è configurata in maniera accettabile, quindi passiamo subito alla sezione KILL ROUTE; commentate (con #) tutte le rige che iniziano con KILL_ROUTE (in teoria solo la prima) ed aggiungete questa:
KILL_ROUTE="/usr/local/sbin/iptables -A blocked -p all
-s $TARGET$ -j DROP"
In questo modo ogni scansione provocherà il blocco immediato dell'indirizzo IP di provenienza (ah, verificate che il path di iptables sia corretto).
A questo punto potete compilare ed installare (make && make install)
Syslog è un demone che riceve i vari messaggi di log e si occupa di smistarli su vari file; adesso lo configureremo affinchè metta i log di portsentry in un file separato.
Aggiungete questa riga:
local0.* /var/log/portsentry.log
Attenzione: i due campi devono essere separati da una tabulazione e da nient'altro; questa riga istruisce il demone syslog in modo che metta i messaggi di portsentry in /var/log/portsentry.log
Adesso è sufficiente riavviare syslog con il comando killall -HUP syslogd.
Io utilizzo il seguente script per avviare portsentry:
#!/bin/bash
PORTSENTRY=/usr/local/psionic/portsentry/portsentry
echo -n "Attivo portsentry..."
$PORTSENTRY -atcp
$PORTSENTRY -audp
tail -f /var/log/portsentry.log > /dev/tty8 &
echo "Fatto"
Questo script avvia portsentry per monitorare sia le porte TCP sia quelle UDP ed inoltre apre sull'ottava console (ALT + F8) una copia del file di log, così che possiate avere sempre sott'occhio quello che accade.
Nota: portsentry lavora dietro il firewall, quindi può rilevare solo le scansioni che colpiscono le porte lasciate aperte dal firewall.
Ultimo aggiornamento: 01/05/2001