Portsentry

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.

Configurazione ed installazione

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)

Configurare Syslog

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.

Avvio di portsentry

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