Come utilizzare il sistema di rilevamento delle intrusioni Snort su Linux

0
13
Shutterstock/RussieseO

Esegui Snort su Linux e proteggi la tua rete con l'analisi del traffico in tempo reale e il rilevamento delle minacce. La sicurezza è tutto e Snort è di prima classe. Questo maiale potrebbe semplicemente salvare la tua pancetta.

Cos'è Snort?

Snort è uno dei sistemi di rilevamento delle intrusioni di rete più conosciuti e ampiamente utilizzati (NIDS). È stato definito uno dei progetti open source più importanti di tutti i tempi. Sviluppato originariamente da Sourcefire, è stato gestito dal Talos Security Intelligence and Research Group di Cisco da quando Cisco ha acquisito Sourcefire nel 2013.

Snort analizza il traffico di rete in tempo reale e segnala qualsiasi attività sospetta. In particolare, cerca tutto ciò che potrebbe indicare tentativi di accesso non autorizzati e altri attacchi alla rete. Un insieme completo di regole definisce ciò che conta come “sospetto” e cosa dovrebbe fare Snort se viene attivata una regola.

Allo stesso modo in cui i pacchetti antivirus e antimalware si basano su definizioni aggiornate delle firme dei virus per essere in grado di identificarti e proteggerti dalle minacce più recenti, le regole di Snort vengono aggiornate e riemesse frequentemente in modo che Snort sia sempre operando alla sua massima efficacia.

Le regole di Snort

Esistono tre serie di regole:

    < li>Regole della community: si tratta di set di regole disponibili gratuitamente, creati dalla community di utenti di Snort.
  • Regole registrate: queste serie di regole sono fornite da Talos. Sono anche disponibili gratuitamente, ma è necessario registrarsi per ottenerli. La registrazione è gratuita e richiede solo un momento. Riceverai un oinkcode personale da includere nella richiesta di download.
  • Regole di abbonamento:Queste sono le stesse regole delle regole registrate. Tuttavia, gli abbonati ricevono le regole circa un mese prima del rilascio come set di regole gratuite per gli utenti registrati. Al momento in cui scriviamo, gli abbonamenti di 12 mesi partono da $ 29 per uso personale e $ 399 per uso aziendale.

Installazione di Snort

Un tempo, l'installazione di Snort era un lungo processo manuale. Non è stato difficile, ma c'erano molti passaggi ed era facile perderne uno. Le principali distribuzioni Linux hanno reso le cose più semplici rendendo Snort disponibile dai loro repository software.

Pubblicità

Le versioni nei repository a volte sono in ritardo rispetto all'ultima versione disponibile sul sito Web di Snort. Se lo desideri, puoi scaricare e installare dalla fonte. Finché hai le ultime regole, non importa se il tuo Snort non è l'ultimo e il più grande, purché non sia antico.

Per ricercare questo articolo, abbiamo installato Snort su Ubuntu 20.04, Fedora 32 e Manjaro 20.0.1.

Per installare Snort su Ubuntu, usa questo comando:

sudo apt-get install snort < p>

Mentre l'installazione procede, ti verranno poste un paio di domande. Puoi trovare le risposte a queste domande utilizzando il comando ip addr prima di avviare l'installazione o in una finestra di terminale separata.

ip  addr

Prendi nota del nome dell'interfaccia di rete. Su questo computer di ricerca è enp0s3.

Inoltre, controlla il tuo indirizzo IP. Questo computer ha un indirizzo IP 192.168.1.24. Il supplemento “/24” è la notazione CIDR (classless inter-domain routing). Questo ci dice l'intervallo di indirizzi di rete. Significa che questa rete ha una subnet mask di 255.255.255.0, che ha tre insiemi iniziali di otto bit (e 3 x 8 = 24). Non devi preoccuparti troppo di questo, registra semplicemente qualunque sia il tuo indirizzo IP includendo la notazione CIDR. È necessario fornire questo come risposta a una delle domande, con l'ultimo ottetto dell'indirizzo IP cambiato a zero. Nel nostro esempio, questo è 192.168.1.0/24.

Premi “Tab” per evidenziare “OK” e premi “Invio.”

Annuncio

Digitare il nome dell'interfaccia di rete e premere “Tab” per evidenziare “OK” e premi “Invio.”

Digita l'intervallo di indirizzi di rete in formato CIDR, premi “Tab” per evidenziare “OK” e premi “Invio.”

Per installare Snort su Fedora, devi usare due comandi:

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

sudo dnf install snort

Su Manjaro, il comando di cui abbiamo bisogno non è il solito pacman, è pamac. E non abbiamo bisogno di usare sudo:

pamac install snort

Quando ti viene chiesto se vuoi creare Snort da AUR (Arch User Repository) premi “Y” e premi “Invio.” Non vogliamo modificare i file di build, quindi rispondi a questa domanda premendo “N” e premendo “Invio.” Premi “Y” e premi “Invio” quando ti viene chiesto se la transazione deve essere applicata.

Ti verrà richiesta la password.

Le versioni di Snort installate erano:

  • Ubuntu: 2.9.7.0
  • Fedora: 2.9.16.1
  • Manjaro : 2.9.16.1

Puoi controllare la tua versione usando:

snort –version

Configurazione di Snort

< p>Ci sono alcuni passaggi da completare prima di poter eseguire Snort. Dobbiamo modificare il file “snort.conf” file.

sudo gedit /etc/snort/snort.conf

Pubblicità< br>

Individua la riga che dice “ipvar HOME_NET any” e modificalo per sostituire “any” con l'intervallo di indirizzi della notazione CIDR della rete.

Salva le modifiche e chiudi il file.

Aggiornamento delle regole di Snort

Per assicurarti che la tua copia di Snort fornisca il livello massimo di protezione, aggiornare le regole alla versione più recente. Ciò garantisce che Snort abbia accesso alla più recente serie di definizioni di attacco e azioni di protezione.

Se ti sei registrato e hai ottenuto il tuo oinkcode, puoi utilizzare il seguente comando per scaricare il set di regole per gli utenti registrati. La pagina di download di Snort elenca i set di regole disponibili, incluso il set di regole della community per il quale non è necessario registrarsi.

Scarica il set di regole per la versione di Snort che hai installato. Stiamo scaricando la versione 2.9.8.3, che è la più vicina alla versione 2.9.7.0 di Snort presente nel repository di Ubuntu.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=<il tuo codice oink va qui> -O snortrules-snapshot-2983.tar.gz

Una volta scaricato complete, usa questo comando per estrarre le regole e installarle nella cartella “/etc/snort/rules” directory.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C /etc/snort/rules

Modalità promiscua

Le schede di interfaccia di rete di solito ignorano il traffico non destinato al loro indirizzo IP. Vogliamo che Snort rilevi il traffico di rete sospetto indirizzato a qualsiasi dispositivo sulla rete, non solo il traffico di rete che viene inviato al computer su cui è installato Snort.

Pubblicità

Per fare in modo che l'interfaccia di rete del computer Snort ascolti tutto il traffico di rete, dobbiamo impostarlo in modalità promiscua. Il seguente comando farà funzionare l'interfaccia di rete enp0s3 in modalità promiscua. Sostituisci enp0s3 con il nome dell'interfaccia di rete che stai utilizzando sul tuo computer.

sudo ip link set enp0s3 promisc on

Se stai eseguendo Snort in una macchina virtuale, ricorda anche di regolare le impostazioni nel tuo hypervisor per la scheda di rete virtuale utilizzata dalla tua macchina virtuale. Ad esempio, in VirtualBox, devi andare su Impostazioni > Rete > Avanzate e modifica la “Modalità promiscua” menu a discesa su “Consenti tutto.”

RELAZIONATO: Come usare il comando ip su Linux

Esecuzione di Snort

Ora puoi avviare Snort. Il formato del comando è:

sudo snort -d -l /var/log/snort/-h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

Sostituisci il tuo intervallo IP di rete al posto di 192.168.1.0/24.

Le opzioni della riga di comando utilizzate in questo comando sono:

  • -d: Filtra i pacchetti a livello di applicazione.
  • -l /var/log/snort/: Imposta la directory di registrazione.
  • -h 192.168.1.0/24:Questo non imposta la rete domestica, che è stata impostata in “snort.conf” file. Con questo valore impostato sullo stesso valore della rete domestica, i registri sono strutturati in modo che il contenuto di computer remoti sospetti venga registrato nelle directory che prendono il nome da ciascun computer remoto.
  • -Una console: Invia avvisi alla finestra della console.
  • -c /etc/snort/snort.conf: Indica quale file di configurazione di Snort utilizzare.

Snort scorre molto l'output nella finestra del terminale, quindi entra in modalità di monitoraggio e analisi. A meno che non rilevi attività sospette, non vedrai più alcun output sullo schermo.

Da un altro computer, abbiamo iniziato a generare attività dannose direttamente mirate al nostro computer di prova, su cui era in esecuzione Snort.

Snort identifica il traffico di rete come potenzialmente dannoso, invia avvisi alla finestra della console e scrive voci nei log.

Annuncio

Attacchi classificati come “Perdita di informazioni” Gli attacchi indicano che è stato effettuato un tentativo di interrogare il tuo computer per alcune informazioni che potrebbero aiutare un utente malintenzionato. Questo probabilmente indica che qualcuno sta effettuando una ricognizione sul tuo sistema.

Attacchi classificati come “Denial of Service” gli attacchi indicano un tentativo di inondare il computer di traffico di rete falso. L'attacco cerca di sopraffare il tuo computer al punto che non può continuare a fornire i suoi servizi.

Per verificare che la modalità promiscua funzioni correttamente e stiamo salvaguardando l'intero intervallo di indirizzi di rete, lanceremo del traffico dannoso su un altro computer e vedremo se Snort lo rileva.

< img src="http://www.cloudsavvyit.com/pagespeed_static/1.JiBnMqyl6S.gif" />

L'attività viene rilevata e segnalata e possiamo vedere che questo attacco è stato diretto contro un diverso computer con indirizzo IP 192.168.1.26. Snort sta monitorando l'intero intervallo di indirizzi di questa rete.

Passaggi successivi

Per mantenere la sua vigilanza, Snort ha bisogno di… regole di data. Potresti scrivere un piccolo script e inserire i comandi per scaricare e installare le regole al suo interno e impostare un cron job per automatizzare il processo chiamando periodicamente lo script. Lo script pullpork è uno script già pronto progettato per fare proprio questo se non ti va di scriverne uno tuo.

Snort non ha un front-end o un'interfaccia utente grafica. I progetti di terze parti ne hanno creati diversi e potresti voler indagare su alcuni di questi, come Snorby e Squil.