title: Snort
text: # 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)
  