Suricata 8 is vernieuwd met een firewall, prestatieverbeteringen en meer protocollen.

Suricata

De Open Information Security Foundation (OISF) heeft een paar dagen geleden de release aangekondigd van de nieuwe versie van Suricata 8.0, een versie die een grote stap voorwaarts betekent op het gebied van functionaliteit, prestaties en beveiliging voor dit inbraakdetectie- en -preventiesysteem (IDS/IPS).

Na twee jaar ontwikkeling wordt Suricata gepositioneerd als een robuustere en flexibelere oplossing, met experimentele firewallmogelijkheden, een veiligere Lua-omgeving, een geoptimaliseerde engine en uitgebreide ondersteuning voor nieuwe protocollen.

Belangrijkste nieuws van Suricata 8.0

Een van de kenmerkende functies is de nieuwe firewallmodusDat maakt het gebruik van een geformaliseerd dialect van de regelstaal mogelijk Suricata's realtime pakketfiltering. Hoewel deze functie als experimenteel wordt beschouwd, markeert ze het begin van een nauwere integratie tussen actieve bedreigingsdetectie en -preventie.

Deze nieuwe firewall implementeert een standaard dropbeleid, evalueert regels op basis van protocolstatus-'hooks' en vereist een expliciete definitie van welk verkeer is toegestaan.

Een andere nieuwe functie in Suricata 8.0 is dat bevat nu standaard Lua 5.4, Dit garandeert consistentie in alle omgevingen. Bovendien draait Lua in een beveiligingssandbox die risicovolle acties zoals: voorkomt.

  • Schrijven in bestanden.
  • Sockets openen of toegang krijgen tot het besturingssysteem.
  • Modules van derden laden.

Bovendien zijn Lua-gebaseerde regels standaard ingeschakeld en kunnen ze worden uitgebreid met behulp van beveiligde bibliotheken die zijn gedocumenteerd door de OISF.

Prestatie- en architectuurverbeteringen

De detectie-engine van Suricata heeft meerdere optimalisaties ondergaan:

  • Verbetering van vertakkingsvoorspelling en hashfunctie.
  • Sneller PCAP-lezen met grotere buffers.
  • Sneller opstarten met verbeterde poortgroepering en patrooncaching.
  • Optimalisatie en herassemblage van streamsynchronisatie.

Suricata 8.0 ook maakt dynamische registratie van plug-ins en protocolanalysatoren mogelijk, het mogelijk maken van aangepaste extensies zonder de hoofdbroncode te wijzigen.

Overstappen op Rust: meer veiligheid en prestaties

Daarnaast zijn in Suricata 8.0 diverse kritieke modules in Rust herschreven om de beveiliging en robuustheid van het systeem te verbeteren. Deze omvatten:

  • LibHTP (HTTP-parsing).
  • Ondersteuning voor FTP, ENIP, MIME, base64, byte_extract.
  • Decoders voor SIP, MQTT, RFB en SNMP.
  • De opdracht suricatasc is ook naar Rust geporteerd.

Bovendien biedt Suricata 8.0 ondersteuning voor diverse nieuwe protocollen en analysefuncties:

  • DNS over HTTPS (DoH)
  • LDAP
  • mDNS (Multicast DNS)
  • POP3 (met decoder en logger)
  • WebSocket
  • SDP over SIP en SIP over TCP
  • ARP (nieuwe decoder en logger)

Nieuwe regels en detectie

De nieuwe versie bevat een uitgebreide set trefwoorden en mogelijkheden voor het schrijven van complexere en efficiëntere regels:

  • Transactieregels: hiermee kunt u beide richtingen van een transactie in één regel beschrijven.
  • Nieuwe trefwoorden: entropie, from_base64, luaxform, tcp.wscale, pgsql.query, mDNS, vereist.
  • Ondersteuning voor JSON-gegevens in datasets om waarschuwingen te verrijken.
  • Verbeterde ondersteuning voor detectie op basis van afwezig, vlan.id, TLS, FTP, SMTP, LDAP, EMAIL en meer.

Wat betreft de extensies is Suricata 8.0 verbeterd met:

  • Openbare API voor aangepaste uitvoerregistratie.
  • Plugins voor Napatech, PF_RING (nu als externe plugins).
  • Initiële nDPI-ondersteuning als add-on.
  • Gedetailleerde tellers voor uitzonderingsbeleid.
  • Statistieken over overgeslagen herassemblages en genegeerde regels.
  • Nieuwe statistieken voor geheugenbeheer, BPF-gebruik en pakketverlies.
  • Meer details in EVE-uitvoerschema's.

Tot slot, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen in de volgende link.

Downloaden en beschikbaarheid

Suricata 8.0 is nu beschikbaar via de officiële repository. De broncode is te verkrijgen via GitHub of via de pakketten die de OISF voor verschillende platforms distribueert.

Om dit hulpprogramma te installeren, kunnen we het doen door de volgende repository aan ons systeem toe te voegen. Typ hiervoor de volgende opdrachten:

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

Voor het geval u problemen heeft met afhankelijkheden, met het volgende commando is het opgelost:

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

Installatie voltooid, het wordt aanbevolen om elk offloead-functiepakket uit te schakelen op de NIC waarnaar Suricata luistert.

Ze kunnen LRO / GRO uitschakelen op de eth0-netwerkinterface met behulp van de volgende opdracht:

sudo ethtool -K eth0 gro off lro off

Meerkat ondersteunt een aantal bedieningsmodi​ We kunnen de lijst met alle uitvoeringsmodi zien met het volgende commando:

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

De standaard gebruikte run-modus is autofp staat voor "automatic fixed flow load balancing". In deze modus worden pakketten van elke verschillende stream toegewezen aan een enkele detectiethread. De stromen worden toegewezen aan de threads met het laagste aantal onverwerkte pakketten.

Nu kunnen we verder gaan start Suricata in pcap live-modus, met behulp van de volgende opdracht:

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