Registra gli attacchi in file diversi usando Snort

4

Come posso registrare gli attacchi separatamente usando lo snort. Fondamentalmente voglio registrare gli attacchi invocati da file diversi separatamente. Ad esempio se ho 2 file, ddos.rules e log.rules , allora voglio i log generati da ddos.rules in un file e i registri generati da log.rules in un altro.

È possibile, e se sì, come posso farlo?

    
posta NEENU 15.02.2014 - 12:03
fonte

3 risposte

5

Le cattive notizie

Non direttamente, non nel modo in cui vuoi. È possibile specificare più uscite di allerta, come descritto nella sezione 2.6 del manuale. Tuttavia, questo semplicemente invierà gli stessi avvisi a più posizioni. Avrai ancora gli avvisi delle firme importate da ddos.rules e log.rules registrati insieme.

The Good News

Non temere, possiamo farlo funzionare. Quello che dovrete fare è creare più file di configurazione e avere ciascun registro separatamente. A seconda esattamente di come vuoi dividere il traffico, ci sono un paio di modi in cui puoi andare.

MultiConfig

Snort ha un meccanismo integrato per consentire l'elaborazione di flussi di pacchetti diversi su diversi file di configurazione. Questo può essere utile se segmenti le tue applicazioni in base alla rete o alla VLAN. Cioè, tutte le app di posta si trovano su una VLAN, i server Web su un'altra, ecc. I dettagli completi sono forniti in Sezione 2.10 del manuale, ma i bit più importanti da capire sono che dipende dalla VLAN o dalla rete e non possono esserci duplicati. Significa che questa è una configurazione valida,

config binding: /etc/snort/snort.conf-ddos net 192.168.100.0/24
config binding: /etc/snort/snort.conf-log net 192.168.200.0/24

ma non lo è.

config binding: /etc/snort/snort.conf-ddos net 192.168.100.0/24
config binding: /etc/snort/snort.conf-log net 192.168.100.0/24

Per utilizzare questa funzione nella tua situazione devi eseguire ddos.rules contro un set di host e log.rules contro un altro. Dubito che tu voglia seguire questo approccio.

Istanze multiple

Fino ad oggi lo snort è a thread singolo, quindi quando l'elaborazione è abbastanza intensa da utilizzare un processore completo, inizierà a rilasciare i pacchetti. Grazie a questo, troverai spesso sensori snort con diverse versioni di snort running. Generalmente questo funziona usando qualcosa chiamato PF_RING, che è come un bilanciamento del carico di pacchetti, o riducendo lo spazio di rete ed eseguendo una versione di snort per blocco. Quindi un'istanza di snortd monitoraggio 192.168.1.0/25 e un'altra visualizzazione 192.168.1.128/25 . Nella maggior parte dei casi ogni processo userà lo stesso file di configurazione ma solo guarderà determinati indirizzi.

Possiamo adottare questo approccio e accenderlo è un po 'di testa lavorare nella tua situazione. Creiamo due file di configurazione e impostiamo le parti rilevanti in questo modo.

/etc/snort/snort.conf-ddos

output alert_syslog: LOG_LOCAL0 LOG_ALERT
include $RULE_PATH/ddos.rules

/etc/snort/snort.conf-log

output alert_syslog: LOG_LOCAL1 LOG_ALERT
include $RULE_PATH/log.rules

Quindi impostiamo il tuo motore syslog, riavviandolo dopo aver apportato le modifiche, naturalmente.

local0.alert       /var/log/snort/alert-ddos.log
local1.alert       /var/log/snort/alert-log.log

Ora quando esegui lo snort lo fai due volte, ognuno con l'opzione -c . La prima volta useremo -c /etc/snort/snort.conf-ddos e il secondo con -c /etc/snort/snort.conf-log .

Ora dovresti avere due istanze di snortd in esecuzione, una solo con le firme ddos.rules e la registrazione su LOCAL0 e una con le firme log.rules e la registrazione su LOCAL1. Finché syslog si sta comportando, dovresti fare in modo che i tuoi avvisi vengano registrati separatamente senza la co-mingling.

    
risposta data 07.04.2014 - 01:40
fonte
0

Snort supporta sicuramente molteplici obiettivi di registro simultanei. Penso che nel caso di utilizzo desiderato la possibilità possa dipendere dai tuoi set di regole e da come vuoi che si colleghino. Non l'ho mai fatto in questo modo e non ho bisogno / desiderio di

Dai un'occhiata al link . Questo collegamento descrive le opzioni di output Snort.

    
risposta data 06.03.2014 - 20:47
fonte
0

Non mi piace l'idea di eseguire più istanze di snort. Si noti che per quanto mi ricordo snort non è un motore di rilevamento multi-threading. Penso che questa soluzione creerà un problema di prestazioni presumendo che tu abbia n numeri di regole impostate. Questo significa che eseguirai n numero di istanze di snort?

Quindi, come puoi farlo? è necessario utilizzare un parser di log. Quindi in pratica si lascia che Snort registri tutti gli avvisi in un singolo file di registro. Questo file può essere ad esempio un ".csv", quindi utilizzando un parser di log semplice è possibile analizzare il file e creare file di registro separati per ogni serie di regole.

C'è qualche strumento di analisi del log noto che può analizzare i log di snort ?, Sì, naturalmente, se stai usando windows puoi usare Log Parser 2.2 .

Se stai usando un'altra piattaforma, ad esempio Linux. Puoi semplicemente usare python per scrivere un piccolo script che analizza il log. Consulta questo post per un codice di esempio .

Attualmente sto lavorando su un sistema di correlazione degli avvisi di IDS. Posso darti un piccolo script python (parte del mio sistema) che fa esattamente quello che vuoi, se ti va?

    
risposta data 07.04.2014 - 05:21
fonte

Leggi altre domande sui tag