Proteggi la tua rete da intrusi e attacchi non richiesti installando e configurando Snort IDS.
Se prendi sul serio la sicurezza della rete, l'installazione di una soluzione IPS o IDS è un must per rafforzare il perimetro della rete e deviare il traffico di rete potenzialmente indesiderato.
Snort è una di queste famose soluzioni IPS/IDS gratuite per uso personale e open source. Impariamo come installare e configurare Snort su Linux per difendere la tua rete dagli attacchi informatici.
Cos'è lo sbuffo?
Snort è un open-source Sistema di rilevamento e prevenzione delle intrusioni di rete (NIDS/IPS) software che, come suggerisce il nome, aiuta a proteggere il perimetro della rete applicando regole e filtri che rilevano e rilasciano pacchetti potenzialmente dannosi iniettati nella rete.
Con Snort, sarai in grado di eseguire la registrazione avanzata del traffico di rete, lo sniffing e l'analisi dei pacchetti e impostare un potente sistema di prevenzione delle intrusioni che difende la tua rete da attacchi indesiderati e potenzialmente dannosi traffico.
Prerequisiti per l'installazione di Snort
Prima di installare Snort, è necessario eseguire alcune impostazioni preliminari. Ciò include principalmente l'aggiornamento e l'aggiornamento del sistema e l'installazione delle dipendenze richieste da Snort per funzionare correttamente.
Inizia aggiornando e aggiornando il tuo sistema.
Su Ubuntu- e Distribuzioni Linux basate su Debian:
sudo apt update && apt upgrade -y
Su Arch Linux e suoi derivati:
sudo pacman -Syu
Su RHEL e Fedora:
aggiornamento sudo dnf
Con il tuo sistema aggiornato, continua a installare le dipendenze richieste da Snort. Ecco i comandi che devi eseguire:
Su Ubuntu e Debian, esegui:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
Su Arch Linux, esegui:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf
Per RHEL e Fedora, immetti il seguente comando:
sudo dnf install gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Inoltre, è necessario installare manualmente la libreria di acquisizione dati, LibDAQ affinché Snort funzioni correttamente e anche gperftools per generare i file di build.
Innanzitutto, scarica i file sorgente di LibDAQ dal sito Web ufficiale utilizzando il comando wget. Quindi, estrai l'archivio e spostati nella directory usando cd. All'interno della directory, eseguire il file bootstrap E configurare script procedono quindi a preparare i file con make e ad installarlo con il fare installare comando.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cdlib*
./bootstrap
./configure
Fare
sudo make install
Con LibDAQ installato, è necessario installare un'ultima dipendenza: gperftools. Inizia prendendo i file sorgente dal repository GitHub. Estrai i file, spostati nella directory ed esegui lo script di configurazione. Infine, installa il pacchetto usando i comandi make e make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./configure
Fare
sudo make install
Una volta che queste dipendenze sono state installate, puoi passare ai passaggi successivi per installare Snort.
Installa Snort dalla fonte su Linux
Con la configurazione preliminare eliminata, ora puoi concentrarti sull'installazione del software vero e proprio. Lo costruirai dalla fonte, quindi prendi prima i file di build richiesti.
Usa il comando wget o scarica i file manualmente dalla pagina di download ufficiale:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Scaricamento:Sbuffa
Una volta terminato il download dell'archivio contenente i file di build, estrarlo utilizzando il comando tar:
tar -xzvf sbuffo*
Spostati nella cartella estratta, esegui lo script di configurazione, usa il comando make per preparare i file e infine installali con fare installare:
cd sbuffo*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
cd build
Fare
sudo make install
Snort verrà ora installato con successo nel tuo sistema. Tuttavia, c'è solo un altro passaggio che devi completare. Quando il nuovo software viene installato manualmente, la directory di installazione e le librerie richieste potrebbero non essere incluse automaticamente nel percorso predefinito del sistema. Quindi potresti incorrere in errori all'avvio dell'applicazione.
Per evitare questo problema, è necessario eseguire il comando ldconfig. Sincronizzerà la cache della libreria condivisa del sistema con le librerie e i binari appena installati. Esegui il comando ldconfig da una shell root o usa il prefisso sudo:
sudo ldconfig
Ora hai coperto tutti i passaggi importanti necessari per installare Snort. Per verificare l'installazione eseguire il comando Snort con il file -V flag e dovresti vedere un output che restituisce il nome della versione e altri dati.
sbuffare -V
Dopo aver verificato l'installazione di Snort, passa ai passaggi successivi per configurarlo come IDS/IPS completo.
Configurazione iniziale di Snort su Linux
L'efficienza di Snort dipende quasi interamente dalla qualità dei set di regole forniti.
Tuttavia, prima di impostare le regole, è necessario configurare le schede di rete in modo che funzionino con Snort e verificare anche come viene gestita la configurazione predefinita da Snort. Inizia configurando le schede di rete.
Impostare l'interfaccia di rete in modalità promiscua:
sudo ip link set dev interface_name promisc on
Utilizzando ethtool, disabilitare Generic Receive Offload (GRO) e Large Receive Offload (LRO) per evitare che i pacchetti di rete più grandi vengano troncati:
sudo ethtool -K nome_interfaccia gro off lro off
Testa le prestazioni di Snort con la configurazione predefinita:
snort -c /usr/local/etc/snort/snort.lua
Questo dovrebbe restituire un output di successo che segnala che hai installato e configurato correttamente Snort nel tuo sistema. Ora puoi armeggiare con le sue funzionalità e sperimentare diverse configurazioni per trovare il miglior set di regole per proteggere la tua rete.
Imposta regole e applicale con Snort
Con le impostazioni di base in atto, Snort è ora pronto a difendere il tuo perimetro. Come sai, Snort ha bisogno di serie di regole per determinare la validità del traffico, impostiamo alcune serie di regole gratuite create dalla comunità per Snort.
Snort legge set di regole e configurazioni da directory specifiche. Quindi, per prima cosa, usando i comandi mkdir e touch, crea alcune directory importanti per memorizzare regole e altri dati rilevanti per Snort:
sudo mkdir -p /usr/local/etc/{liste, so_rules, regole}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Con queste directory create, puoi scaricare il set di regole della community dal sito Web ufficiale utilizzando il comando wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Al termine del download del set di regole, estrailo e copialo nel file /usr/local/etc/rules/ directory.
tar -xvzf snort3-com*
cd sbuffo3-com*
cp * /usr/local/etc/rules/
Per eseguire Snort con il set di regole eseguire questo comando:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nome_interfaccia -s 65535 -k nessuno
Ripartizione del comando:
- -C imposta il percorso del file di configurazione predefinito
- -R imposta il percorso del set di regole da applicare
- -io imposta l'interfaccia
- -S scarta il limite snaplen
- -K ignora i checksum
Questo dovrebbe convalidare la configurazione e applicare tutti i set di regole su Snort. Non appena rileva un disturbo di rete, ti avviserà con un messaggio di console.
Se desideri creare e applicare il tuo set di regole, puoi saperne di più dal pagine di documentazione ufficiale.
Imposta la registrazione con Snort
Per impostazione predefinita, Snort non emette alcun registro. È necessario specificare con il -L flag per avviare Snort in modalità registrazione, definire il tipo di file di registro e -l flag per impostare la directory di registrazione per Snort per scaricare i registri.
Ecco il comando per avviare Snort con la registrazione abilitata:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nome_interfaccia -s 65535 -k nessuno -L tipo_file -l /var/log /sbuffo
Ripartizione del comando:
- -C imposta il percorso del file di configurazione predefinito
- -R imposta il percorso del set di regole da applicare
- -io imposta l'interfaccia
- -S scarta il limite snaplen
- -K ignora i checksum
- -L abilita la modalità di registrazione e definisce il tipo di file di registro
- -l definisce il percorso per archiviare i log
Si noti che nel comando di esempio la directory di registrazione è impostata su /var/log/snort. Sebbene questa sia una pratica consigliata, sei libero di archiviare i tuoi log altrove.
Puoi leggere i file di registro da Snort dalla directory che hai definito o passarli al software SIEM come Splunk per ulteriori analisi.
Aggiungi Snort come demone di avvio del sistema
Sebbene tu abbia installato e configurato Snort, devi assicurarti che inizi l'esecuzione all'avvio e funzioni come demone in background. Aggiungendolo come servizio di sistema ad avvio automatico assicurerai che Snort sia attivo e difenda il tuo sistema ogni volta che è online.
Ecco come aggiungere un demone di avvio Snort su Linux:
- Inizia creando un nuovo file di servizio systemd:
toccare /lib/systemd/system/snort.service
- Apri il file in un editor di testo a tua scelta e popolalo con i seguenti dati. È possibile modificare i flag in base alle proprie esigenze:
[Unità]
Description=Demone Sniffato
Dopo=syslog.target rete.target
[Servizio]
Tipo=semplice
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k nessuno -l /var /log/snort -D -L pcap -i ens33
[Installare]
WantedBy=multiutente.target - Salva ed esci dal file. Quindi, utilizzando il servizio e comandi systemctl, abilita e avvia lo script:
sudo systemctl abilita snort.service
sudo snort start
Il demone in background di Snort dovrebbe ora essere attivo e funzionante. È possibile verificare lo stato dello script utilizzando il file systemctl status snort comando. Dovrebbe restituire un output positivo.
Ora sai come proteggere la tua rete con Snort IDS
Sebbene l'implementazione di IDS sia una buona pratica, è una misura passiva piuttosto che attiva. Il modo migliore per migliorare e garantire la sicurezza della tua rete è testarla continuamente e cercare difetti da correggere.
I test di penetrazione sono un ottimo modo per trovare vulnerabilità sfruttabili e correggerle.