Suricata 8 si rinnova con un firewall, miglioramenti delle prestazioni e più protocolli.

Suricato

La Open Information Security Foundation (OISF) ha annunciato qualche giorno fa il rilascio della nuova versione di Suricata 8.0, una versione che segna un importante balzo in avanti in termini di funzionalità, prestazioni e sicurezza per questo sistema di rilevamento e prevenzione delle intrusioni (IDS/IPS).

Dopo due anni di sviluppo, Suricata si posiziona come una soluzione più solida e flessibile, con funzionalità firewall sperimentali, un ambiente Lua più sicuro, un motore ottimizzato e un ampio supporto per i nuovi protocolli.

Principali novità di Suricata 8.0

Una delle funzioni eccezionali è il nuova modalità firewall, che consente l'uso di un dialetto formalizzato del linguaggio delle regole Filtraggio dei pacchetti in tempo reale di Suricata. Sebbene considerata sperimentale, questa funzionalità segna l'inizio di una maggiore integrazione tra rilevamento e prevenzione delle minacce attive.

Questo nuovo firewall implementa una politica di eliminazione predefinita, valuta le regole in base agli "hook" dello stato del protocollo e richiede una definizione esplicita del traffico consentito.

Un'altra novità di Suricata 8.0 è che ora include Lua 5.4 integrato di default, Ciò garantisce la coerenza in tutti gli ambienti. Inoltre, Lua opera in un ambiente sandbox di sicurezza che impedisce azioni ad alto rischio come:

  • Scrittura su file.
  • Apertura di socket o accesso al sistema operativo.
  • Caricamento di moduli di terze parti.

Inoltre, le regole basate su Lua sono abilitate per impostazione predefinita e possono essere estese utilizzando librerie sicure documentate dall'OISF.

Miglioramenti delle prestazioni e dell'architettura

Il motore di rilevamento di Suricata ha ricevuto molteplici ottimizzazioni:

  • Previsione delle diramazioni e miglioramento della funzione hash.
  • Lettura PCAP più veloce con buffer più grandi.
  • Avvio più rapido con raggruppamento delle porte e memorizzazione nella cache dei modelli migliorati.
  • Ottimizzazione e riassemblaggio della sincronizzazione dei flussi.

Anche Suricata 8.0 consente la registrazione dinamica di plugin e analizzatori di protocollo, facilitando le estensioni personalizzate senza modificare il codice sorgente principale.

Conversione a Rust: maggiore sicurezza e prestazioni

Inoltre, in Suricata 8.0, diversi moduli critici sono stati riscritti in Rust per migliorare la sicurezza e la robustezza del sistema. Tra questi:

  • LibHTP (analisi HTTP).
  • Supporto per FTP, ENIP, MIME, base64, byte_extract.
  • Decoder per SIP, MQTT, RFB e SNMP.
  • Anche il comando suricatasc è stato adattato a Rust.

Inoltre, Suricata 8.0 include anche il supporto per diversi nuovi protocolli e funzionalità di analisi:

  • DNS su HTTPS (DoH)
  • LDAP
  • mDNS (DNS multicast)
  • POP3 (con decoder e logger)
  • WebSocket
  • SDP su SIP e SIP su TCP
  • ARP (nuovo decoder e logger)

Nuove regole e rilevamento

La nuova versione include un set ampliato di parole chiave e funzionalità per scrivere regole più complesse ed efficienti:

  • Regole transazionali: consentono di descrivere entrambe le direzioni di una transazione in un'unica regola.
  • Nuove parole chiave: entropia, from_base64, luaxform, tcp.wscale, pgsql.query, mDNS, richiede.
  • Supporto per dati JSON nei set di dati per arricchire gli avvisi.
  • Supporto migliorato per il rilevamento basato su assente, vlan.id, TLS, FTP, SMTP, LDAP, EMAIL e altro.

Per quanto riguarda le estensioni, Suricata 8.0 è stato migliorato con:

  • API pubblica per la registrazione personalizzata degli output.
  • Plugin per Napatech, PF_RING (ora come plugin esterni).
  • Supporto nDPI iniziale come componente aggiuntivo.
  • Contatori dettagliati per le policy di eccezione.
  • Statistiche sui riassemblaggi saltati e sulle regole ignorate.
  • Nuove metriche per la gestione della memoria, l'utilizzo di BPF e la perdita di pacchetti.
  • Maggiori dettagli negli schemi di uscita EVE.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nella sezione seguente link

Download e disponibilità

Suricata 8.0 è ora disponibile nel repository ufficiale. Il codice sorgente può essere scaricato da GitHub o tramite i pacchetti distribuiti dall'OISF per diverse piattaforme.

Per installare questa utility, possiamo farlo aggiungendo il seguente repository al nostro sistema. Per fare ciò, digita semplicemente i seguenti comandi:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata

In caso di problemi con le dipendenze, con il seguente comando si risolve:

sudo apt-get install libpcre3-dbg libpcre3-dev autoconf automake libtool libpcap-dev libnet1-dev libyaml-dev zlib1g-dev libcap-ng-dev libmagic-dev libjansson-dev libjansson4

Installazione eseguita, si consiglia di disabilitare qualsiasi pacchetto di funzionalità offloead sulla scheda NIC che Suricata sta ascoltando.

Possono disabilitare LRO / GRO sull'interfaccia di rete eth0 utilizzando il seguente comando:

sudo ethtool -K eth0 gro off lro off

Meerkat supporta una serie di modalità operative. Possiamo vedere l'elenco di tutte le modalità di esecuzione con il seguente comando:

sudo /usr/bin/suricata --list-runmodes

La modalità di esecuzione predefinita utilizzata è autofp, che sta per "bilanciamento automatico del carico a flusso fisso". In questa modalità, i pacchetti di ogni flusso diverso vengono assegnati a un singolo thread di rilevamento. I flussi vengono assegnati ai thread con il minor numero di pacchetti non elaborati.

Ora possiamo procedere avvia Suricata in modalità live pcap, utilizzando il seguente comando:

sudo /usr/bin/suricata -c /etc/suricata/suricata.yaml -i ens160 --init-errors-fatal