In questo tutorial, ti mostreremo come installare Suricata su AlmaLinux 8. Per chi non lo sapesse, Suricata è un programma gratuito e open source, maturo, veloce e robusto motore di rilevamento delle minacce di rete.Può funzionare come motore di rilevamento delle intrusioni (IDS), sistema di prevenzione delle intrusioni in linea (IPS), monitoraggio della sicurezza della rete (NSM) nonché uno strumento di elaborazione pcap offline.Suricata ispeziona il traffico di rete utilizzando regole potenti ed estese e il linguaggio delle firme e dispone di un potente supporto per lo scripting Lua per il rilevamento di minacce complesse.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò passo passo l'installazione di Suricata su un AlmaLinux 8. Puoi seguire le stesse istruzioni per Rocky Linux.
Prerequisiti
- Un server che esegue uno dei seguenti sistemi operativi:AlmaLinux 8, CentOS e Rocky Linux 8.
- Si consiglia di utilizzare una nuova installazione del sistema operativo per prevenire potenziali problemi.
- Accesso SSH al server (o semplicemente apri Terminal se sei su un desktop).
- Un
non-root sudo user
o accedere all'root user
. Ti consigliamo di agire comenon-root sudo user
, tuttavia, poiché puoi danneggiare il tuo sistema se non stai attento quando agisci come root.
Installa Suricata su AlmaLinux 8
Passaggio 1. Innanzitutto, iniziamo assicurandoci che il tuo sistema sia aggiornato.
sudo dnf update sudo dnf install epel-release sudo dnf config-manager --set-enabled PowerTools sudo dnf install diffutils gcc jansson-devel make nss-devel pcre-devel python3 python3-pyyaml rust-toolset zlib-devel curl wget tar lua lz4-devel
Passaggio 2. Installazione di Suricata su AlmaLinux 8.
Ora scarichiamo l'ultima versione stabile del codice sorgente di Suricata dalla pagina ufficiale:
wget https://www.openinfosecfoundation.org/download/suricata-6.0.3.tar.gz tar xzf suricata-6.0.3.tar.gz
Quindi, compila e installa Suricata usando il seguente comando:
cd suricata-6.0.3 ./configure --sysconfdir=/etc --localstatedir=/var --prefix=/usr/ --enable-lua --enable-geopip make make install-full
Verifica installazione Suricata:
suricata -V
Passaggio 3. Configura Suricata.
Una volta installato, il file di configurazione si trova in /etc/suricata/suricata.yaml
. Tuttavia, per la nostra configurazione di base, ci concentreremo solo sull'interfaccia di rete su cui Suricata è in ascolto e sull'indirizzo IP collegato a tale interfaccia:
nano /etc/suricata/suricata.yaml
Aggiungi le seguenti righe:
vars: # more specific is better for alert accuracy and performance address-groups: #HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" HOME_NET: "[192.168.77.21]" #HOME_NET: "[192.168.0.0/16]" #HOME_NET: "[10.0.0.0/8]" #HOME_NET: "[172.16.0.0/12]" #HOME_NET: "any" EXTERNAL_NET: "!$HOME_NET" #EXTERNAL_NET: "any" ...
Quindi, imposta il nome dell'interfaccia su af-packet:
# Linux high speed capture support af-packet: - interface: enp0s3 ...........
Definisci i file delle regole di Suricata da utilizzare. In questa demo stiamo utilizzando le regole ET predefinite:
... default-rule-path: /var/lib/suricata/rules rule-files: - suricata.rules ...
Dopodiché, disabilita l'offload dei pacchetti Suricata disabilitando l'interfaccia Large Receive Offload (LRO)/Generic Receive Offload (GRO):
sudo ethtool -K <interface> gro off lro off
Risultato:
tx-checksum-ip-generic: ongeneric-segmentation-offload: ongeneric-receive-offload: offlarge-receive-offload: off [fixed]
Se abilitato, disabilitalo eseguendo il comando seguente:
ethtool -K <interface> gro off lro off
Passaggio 4. Esecuzione di Suricata.
Suricata può essere gestito da un systemd
servizio. Ma prima di inizializzarlo, prima specifica l'interfaccia su cui Suricata sta ascoltando come di seguito:
nano /etc/sysconfig/suricata
Aggiungi le seguenti righe:
# Add options to be passed to the daemon #OPTIONS="-i eth0 --user suricata " OPTIONS="-i enp0s3 --user suricata "
Salva ed esci anche dal file, avvia e attiva Suricata all'avvio:
sudo systemctl enable --now suricata
Per verificare se Suricata è in esecuzione, controlla il log di Suricata:
sudo tail /var/log/suricata/suricata.log
Passaggio 5. Testare le regole di Suricata.
In questa demo, utilizziamo le regole predefinite di ET Suricata. Se hai creato le tue regole personalizzate, assicurati di testare le regole di Suricata per errori di sintassi:
sudo suricata -c /etc/suricata/suricata.yaml -T -v
Risultato:
26/7/2021 -- 16:46:11 - - Running suricata under test mode 26/7/2021 -- 16:46:11 - - This is Suricata version 5.0.3 RELEASE running in SYSTEM mode 26/7/2021 -- 16:46:11 - - CPUs/cores online: 1 26/7/2021 -- 16:46:11 - - fast output device (regular) initialized: fast.log 26/7/2021 -- 16:46:11 - - eve-log output device (regular) initialized: eve.json 26/7/2021 -- 16:46:11 - - stats output device (regular) initialized: stats.log 26/7/2021 -- 16:46:13 - - 1 rule files processed. 20676 rules successfully loaded, 0 rules failed 26/7/2021 -- 16:46:13 - - Threshold config parsed: 0 rule(s) found 26/7/2021 -- 16:46:13 - - 20679 signatures processed. 1138 are IP-only rules, 3987 are inspecting packet payload, 15324 inspect application layer, 103 are decoder event only26/7/2021 -- 16:46:28 - - Configuration provided was successfully loaded. Exiting.26/7/2021 -- 16:46:28 - - cleaning up signature grouping structure… complete
Congratulazioni! Hai installato con successo Suricata. Grazie per aver utilizzato questo tutorial per installare Suricata sul tuo sistema AlmaLinux 8. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito Web ufficiale di Suricata.