Snort
# Snort

Snort è un software libero per l'analisi dei pacchetti all'interno di una rete. Nel campo della sicurezza informatica è molto utilizzato come Intrusion detection system.

È distribuito sotto i termini della licenza libera GNU General Public License.

## Descrizione

Snort è un software leggero e performante basato sulle librerie libpcap. Esegue in tempo reale l'analisi del traffico delle reti IP e grazie a questo riesce ad individuare potenziali minacce ed intrusioni. Il controllo del traffico di rete avviene a diversi livelli quali:

* Analisi del protocollo.
* Analisi del contenuto.
* Confronto dei contenuti.

Alcune delle minacce che possono essere intercettate e bloccate sono:

* Buffer overflow
* Server message block
* Port scanning

Il funzionamento avviene impostando il programma in una delle sue modalità principali:

* Sniffer: il programma legge i pacchetti di rete e li mostra sulla console. Si può dire che è simile al funzionamento di tcpdump.
* Packet Logger: il programma esegue il log dei pacchetti di rete su disco. In pratica è una modalità simile a quella Sniffer ma che presenta molte più opzioni.
* NIDS: il programma analizza il traffico di rete e sulla base di regole definite dall'utente scattano dei particolari allarmi.
* Analisi forense: come la modalità NIDS ma in input riceve un dump di traffico di rete.

Le "regole personalizzate" da inserire all'interno del programma sono molto diffuse ed utilizzate. Molte, già scritte e testate, sono reperibili online a molti indirizzi di comunità di sicurezza informatica

Gli output dell'analisi fornita dal programma possono essere reindirizzati ed organizzati in diversi formati quali:

* Unified format (formato di Snort);
* XML;
* Conservazione in basi di dati quali MySQL, Oracle, PostgreSQL;
* Formato tcpdump/libcap;
* ASCII;
* WinPopup (SMB);
* Log di sistema.

## Plugin

Una delle maggiori potenzialità di Snort è quella di poter essere ampliato attraverso plug-in. Molti sono i plug-in esistenti e numerosi sono stati sviluppati da terze parti. Le funzionalità aggiuntive sono tra le più disparate quali interfacce di amministrazione, strumenti di report, strumenti di analisi dei log, ecc. In generale, i plug-in sono classificati in tre categorie:

* Preprocessori: esaminano i pacchetti prima che vengano identificati.
* Rilevamento: eseguono dei controlli su alcuni campi o aspetti particolari dei pacchetti. Alcuni permettono di inserire nuove tipologie di regole che si basano su informazioni statistiche e non solo sul confronto di contenuti ed intestazioni.
* Output: trasformano i dati di analisi in svariate forme rappresentative o li categorizzano in svariati log.

Alcuni dei plug-in più conosciuti sono:

* Sguil (software libero)
* Sourcefire (software proprietario, prodotto dalla compagnia che sviluppa Snort)
* Base (software libero, non più mantenuto)
