Configurare Snort IDS e creare regole

Snort è un Intrusion Detection System open source che puoi usare sui tuoi sistemi Linux. Questo tutorial esaminerà la configurazione di base di Snort IDS e ti insegnerà come creare regole per rilevare diversi tipi di attività sul sistema.

Per questo tutorial la rete che useremo è: 10.0.0.0/24. Modifica il tuo file /etc/snort/snort.conf e sostituite il “any” accanto a $HOME_NET con le vostre informazioni di rete come mostrato nello screenshot di esempio qui sotto:

In alternativa potete anche definire indirizzi IP specifici da monitorare separati da una virgola come mostrato in questo screenshot:

Ora cominciamo ed eseguiamo questo comando sulla linea di comando:

# snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

Dove:
d= dice a snort di mostrare i dati
l= determina la directory dei log
h= specifica la rete da monitorare
A= ordina a snort di stampare gli avvisi nella console
c= specifica Snort il file di configurazione

Lancia una scansione veloce da un altro dispositivo usando nmap:

E vediamo cosa succede nella console di snort:

Snort ha rilevato la scansione, ora, sempre da un dispositivo diverso attacchiamo con DoS usando hping3

# hping3 -c 10000 -d 120 -S -w 64 -p 21 –flood –rand-source 10.0.0.3

Il dispositivo che mostra Snort sta rilevando un cattivo traffico come mostrato qui:

Siccome abbiamo istruito Snort a salvare i log, possiamo leggerli eseguendo:

# snort -r

Introduzione alle regole di Snort

La modalità NIDS di Snort funziona in base alle regole specificate nel file /etc/snort/snort.conf.

Nel file snort.conf possiamo trovare regole commentate e non commentate come potete vedere qui sotto:

Il percorso delle regole normalmente è /etc/snort/rules , lì possiamo trovare i file delle regole:

Vediamo le regole contro le backdoor:

Ci sono diverse regole per prevenire attacchi backdoor, sorprendentemente c’è una regola contro NetBus, un cavallo di troia che è diventato popolare un paio di decenni fa, guardiamola e spiegherò le sue parti e come funziona:

alert tcp $HOME_NET 20034 -> $EXTERNAL_NET any (msg: “BACKDOOR NetBus Pro 2..0 connection
established”; flow:from_server,established;
flowbits:isset,backdoor.netbus_2.connect; content: “BN|10 00 02 00|”; depth:6; content:”|
05 00|”; depth:2; offset:8; classtype:misc-activity; sid:115; rev:9;)

Questa regola istruisce snort ad allertare sulle connessioni TCP sulla porta 20034 che trasmettono a qualsiasi fonte in una rete esterna.

-> = specifica la direzione del traffico, in questo caso dalla nostra rete protetta ad una esterna

msg = istruisce l’allarme ad includere un messaggio specifico quando viene visualizzato

content = cerca un contenuto specifico all’interno del pacchetto. Può includere testo se tra ” ” o dati binari se tra | |
depth = intensità di analisi, nella regola sopra vediamo due parametri diversi per due contenuti diversi
offset = dice a Snort il byte iniziale di ogni pacchetto per iniziare la ricerca del contenuto
classtype = dice su che tipo di attacco Snort sta allertando

sid:115 = identificatore della regola

Creazione della nostra regola

Ora creeremo una nuova regola per notificare le connessioni SSH in arrivo. Aprire /etc/snort/rules/yourrule.rules, e dentro incollate il seguente testo:

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg: “SSH incoming”;
flow:stateless; flags:S+; sid:100006927; rev:1;)

Stiamo dicendo a Snort di segnalare qualsiasi connessione tcp da qualsiasi fonte esterna alla nostra porta ssh (in questo caso la porta di default) includendo il messaggio di testo “SSH INCOMING”, dove stateless indica a Snort di ignorare lo stato della connessione.

Ora, dobbiamo aggiungere la regola che abbiamo creato al nostro file /etc/snort/snort.conf. Aprite il file di configurazione in un editor e cercate #7, che è la sezione con le regole. Aggiungi una regola non commentata come nell’immagine sopra aggiungendo:

include $RULE_PATH/yourrule.rules

Invece di “yourrule.rules”, imposta il nome del tuo file, nel mio caso era test3.rules.

Una volta fatto, lancia nuovamente Snort e vedi cosa succede.

#snort -d -l /var/log/snort/ -h 10.0.0.0.0/24 -A console -c /etc/snort/snort.conf

Sh al tuo dispositivo da un altro dispositivo e vedi cosa succede:

Puoi vedere che SSH in entrata è stato rilevato.

Con questa lezione spero tu sappia come creare regole di base e usarle per rilevare attività su un sistema. Vedi anche un tutorial su come impostare Snort e iniziare ad usarlo e lo stesso tutorial disponibile in spagnolo su Linux.lat.

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.