Rilevamento delle scansioni con PortSentry celebrato attack detection tool in grado di rilevare anche scansioni di tipo stealth come quelle attuate da Nmap.

Creato il 22 febbraio 2012 da Hugor @msdiaz61

Portsentry è un celebrato attack detection tool sviluppato originariamente da Psionic Technologies (poi assorbita da Cisco).

Anche se il progetto portsentry (http://sourceforge.net/projects/sentrytools/) non è più stato aggiornato dal 2003, ciò non significa che esso non sia tuttora valido, anzi, può succedere che risvegli un rinnovato interesse in un periodo come l’attuale, in cui i worms, che rappresentano l’agente infettivo di maggior peso, tipicamente eseguono scansioni automatiche a partire da hosts infetti alla ricerca di altre macchine vulnerabili, e possono rivelare così la propria presenza.

Il compito di PortSentry consiste nella rilevazione di scansioni e nella risposta a tali scansioni. La scansione di una rete o di un sistema costituisce il prerequisito di un eventuale attacco e conseguente possibile intrusione. A meno che un attaccante conosca in anticipo quali porte siano aperte o disponibili su di un sistema, inizierà una scansione per determinare quali servizi l’host stia eseguendo. Qui è dove PortSentry entra in gioco, monitorando le porte TCP ed UDP del sistema e, a seconda di come sia configurato, rispondendo in modo appropriato ad una scansione identificata come tale.

PortSentry è in grado di rilevare anche scansioni di tipo stealth come quelle attuate da Nmap.

Portsentry può usare sei differenti modalità, impostabili a seconda di come il programma viene inizializzato .

- La prima modalità è “-tcp” che sarebbe anche la modalità di base. Con quest’opzione portsentry si impegnerà al controllo delle porte TCP presenti nel file di configurazione nella sezione “port configuration”. Potrà controllare fino a un massimo di 64 porte.

- La seconda è “-udp” e fa le stesse cose della precedente opzione, ma stavolta per quanto riguarda le porte UDP.

Quando PortSentry viene installato come pacchetto precompilato sotto Ubuntu, viene predisposto un init script (/etc/init.d/portsentry), che, leggendo le impostazioni presenti in /etc/default/portsentry

Quando PORTSENTRY identifica che da un certo IP provengono connessioni non
autorizzate:
  = scrive una riga di log tramite la syslog facility
  = scrive l'IP sul file portsentry.blocked. Questo file viene aggiunto in
  coda al file di history alla partenza di portsentry e poi svuotato,
  cosicche' a ogni esecuzione di PORTSENTRY gli IP bloccati nelle precendenti
  esecuzioni vengono ignorati
  = impedisce al pacchetto di tornare all'IP incriminato
  = esegue un comando (specificabile nel portsentry.conf) che permetta di
  ignorare quell'IP. Questo puo' essere fatto aggiungendo l'IP a hosts.deny
  (usando quindi i TCP wrappers) o, ancora meglio, specificando l'IP in una
  catena di REJECT a ipchains.

Configurazione di PORTSENTRY
La configurazione di PORTSENTRY viene effettuata da dei file presenti nella
directory /etc/portsentry/. Analizziamoli in dettaglio
  portsentry.conf
   File principale di configurazione di PORTSENTRY
   E' suddiviso in sezioni:
   = TCP_PORTS: lista di porte TCP da controllare in basic e stealth mode
   = UDP_PORTS: come sopra per UDP
   = ADVANCED_PORTS_TCP: numero della piu' alta porta TCP da controllare
   (Default: 1024)
   = ADVANCED_PORTS_UDP: come sopra per UDP
   = ADVANCED_EXCLUDE_TCP: Porte TCP da escludere in advanced stealth mode
   = ADVANCED_EXCLUDE_UDP: come sopra per UDP
   = IGNORE_FILE: file con gli IP da ignorare
   = BLOCKED_FILE: file con gli IP bloccati
   = BLOCK_TCP: blocca connessioni TCP?

 

= BLOCK_UDP: blocca connessioni UDP?
   = KILL_ROUTE: comando per "droppare" la connessione incriminata.
   = KILL_HOSTS_DENY: riga da scrivere nel file hosts.deny
   = KILL_RUN_CMD: comando da eseguire prima di "droppare" la connessione
   incriminata
   = SCAN_TRIGGER: numero di connessioni da un host prima di attivare la
   reazione di PORTSENTRY
   = PORT_BANNER: testo da mostrare alla persona che cerca di connettersi
   su una porta protetta (solo in Basic Mode)
  startup.conf
   Modalita' all'avvio di PORTSENTRY, letto se il programma viene lanciato
   da /etc/init.d/portsentry.
   E' diviso in due sezioni:
   = TCP_MODE: modalita' di cntrollo delle porte TCP
   puo' essere tcp, stcp, atcp
   = UDP_MODE: modalita' di controllo delle porte UDP
   puo' essere udp, sudp, audp
  portsentry.ignore.static
   Contiene una lista di IP che all'avvio di PORTSENTRY saranno messi nel
   file portsentry.ignore, ovvero IP che non dovrebbero mai essere bloccati.
   Generalmente ci si puo' mettere 127.0.0.1 (localhost), 0.0.0.0 e gli IP
   locali (se si e' in una LAN).

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :