Snort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 180:
Dal precedente codice si deduce che saranno esaminati i pacchetti appartenenti a tutti i protocolli, saranno monitorati tutti i tipi di scansioni, il file contenente i log dei Portscan sarà /var/log/snort/portscan, e il sensore avrà una sensibilità alta.
 
=== Il Detection Engine ===
Il Detection Engine è il componente che riceve i pacchetti dai preprocessori e si occupa di confrontarli con le regole di intrusion detection. Nel caso in cui dovesse esserci una corrispondenza tra un pacchetto e più regole diverse, la prima regola che trova una corrispondenza con il contenuto di un pacchetto genera un allarme o, in alternativa, Snort offre anche la possibilità di generare un allarme per ciascun evento.
Per ridurre il numero di falsi positivi può essere configurato il file threshold.conf. Siccome ogni evento è associato ad un gen_id e un sig_id, conoscendo questi due valori, è possibile disabilitare completamente gli allarmi in questo modo:
 
<nowiki>
# Suppress this event completely
suppress gen_id 1, sig_id 1852
# Suppress this event from this IP
suppress gen_id 1, sig_id 1852, track by_src, ip 10.1.1.54
# Suppress this event to this CIDR block
suppress gen_id 1, sig_id 1852, track by_dst, ip 10.1.1.0/24
</nowiki>
 
Per garantire l’effettiva disattivazione delle regole, è opportuno accertarsi che il file threshold.conf sia incluso nel file snort.conf mediante la stringa
 
<nowiki>
include threshold.conf
</nowiki>
 
È anche possibile fare in modo che in un certo intervallo di tempo venga generato al massimo un allarme.
 
<nowiki>
# Esempio
threshold gen_id 1, sig_id 1851, type limit, track by_src,
count 1, seconds 60
</nowiki>
 
=== I Componenti di Alerting e Logging ===
Quando viene trovata una corrispondenza tra un pacchetto e una regola, entrano in gioco i componenti di alerting e logging, il primo usato per generare gli allarmi, il secondo per archiviare i pacchetti che hanno causato la generazione dell’allarme. È possibile archiviare i log in un database MySQL, PosgreSQL, Oracle o ODBC, oppure inviarli ad un server Syslog, o salvarli in formato compatibile con Tcpdump. Queste opzioni sono configurabili nel file snort.conf in questo modo:
 
<nowiki>
# Step #3: Configure output plugins
#
# È sufficiente eliminare il commento al plug-in che si intende
# usare.
#
# La configurazione generale è di questo tipo
# output <name_of_plugin>: <configuration_options>
#
# alert_syslog: log alerts to syslog
# ----------------------------------
# Use one or more syslog facilities as arguments. Win32 can
# also optionally specify a particular hostname/port.
# Under Win32, the default hostname is ’127.0.0.1’, .
# and the default port is 514
#
# [Unix flavours should use this format...]
# output alert_syslog: LOG_AUTH LOG_ALERT
#
# [Win32 can use any of these formats...]
# output alert_syslog: LOG_AUTH LOG_ALERT
# output alert_syslog: host=hostname, LOG_AUTH LOG_ALERT
# output alert_syslog: host=hostname:port, LOG_AUTH LOG_ALERT
# log_tcpdump: log packets in binary tcpdump format
# -------------------------------------------------
# The only argument is the output file name.
#
# output log_tcpdump: tcpdump.log
# database: log to a variety of databases
# ---------------------------------------
# In questo caso è attivo il database MySQL
#
# output database: log, mysql, user=snort password=test
# dbname=snort host=localhost
# output database: alert, postgresql, user=snort dbname=snort
# output database: log, odbc, user=snort dbname=snort
# output database: log, oracle, dbname=snort user=snort
# password=test
</nowiki>
 
In base alla riga di codice a cui viene tolto il commento si stabilisce il tipo di output. Nel caso in cui si intenda archiviare i dati in un server Syslog, va specificato se tale server sia Unix o Windows. Per archiviare i dati in un file compatibile con Tcpdump, è sufficiente configurare il nome da dare a tale file. Nel caso si intenda archiviare i dati in un database, dovrà essere inserito il nome del database, l’username e la password.