Suricata 8 bénéficie d'une mise à jour avec un pare-feu, des améliorations de performances et davantage de protocoles.

Suricate

L'Open Information Security Foundation (OISF) a annoncé il y a quelques jours la sortie de la nouvelle version de Suricata 8.0, une version qui marque un bond en avant majeur en termes de fonctionnalités, de performances et de sécurité pour ce système de détection et de prévention des intrusions (IDS/IPS).

Après deux ans de développement, Suricata se positionne comme une solution plus robuste et flexible, avec des capacités de pare-feu expérimentales, un environnement Lua plus sécurisé, un moteur optimisé et un support étendu pour les nouveaux protocoles.

Principales actualités de Suricata 8.0

L'une des fonctions remarquables est la nouveau mode pare-feu, qui permet l'utilisation d'un dialecte formalisé du langage des règles Filtrage de paquets en temps réel de Suricata. Bien que considérée comme expérimentale, cette fonctionnalité marque le début d'une intégration plus étroite entre la détection et la prévention actives des menaces.

Ce nouveau pare-feu implémente une politique de suppression par défaut, évalue les règles en fonction des « hooks » d'état du protocole et nécessite une définition explicite du trafic autorisé.

Une autre nouvelle fonctionnalité de Suricata 8.0 est que inclut désormais Lua 5.4 intégré par défaut, Cela garantit la cohérence entre tous les environnements. De plus, Lua s'exécute dans un environnement de sécurité qui empêche les actions à haut risque telles que :

  • Écriture dans des fichiers.
  • Ouverture de sockets ou accès au système d'exploitation.
  • Chargement de modules tiers.

De plus, les règles basées sur Lua sont activées par défaut et peuvent être étendues à l'aide de bibliothèques sécurisées documentées par l'OISF.

Améliorations des performances et de l'architecture

Le moteur de détection de Suricata a reçu plusieurs optimisations :

  • Prédiction de branche et amélioration de la fonction de hachage.
  • Lecture PCAP plus rapide avec des tampons plus grands.
  • Démarrage plus rapide avec un regroupement de ports et une mise en cache de modèles améliorés.
  • Optimisation et réassemblage de la synchronisation des flux.

Suricata 8.0 aussi permet l'enregistrement dynamique des plugins et des analyseurs de protocole, faciliter les extensions personnalisées sans modifier le code source principal.

Conversion vers Rust : plus de sécurité et de performances

De plus, dans Suricata 8.0, plusieurs modules critiques ont été réécrits en Rust afin d'améliorer la sécurité et la robustesse du système. Parmi ceux-ci :

  • LibHTP (analyse HTTP).
  • Prise en charge de FTP, ENIP, MIME, base64, byte_extract.
  • Décodeurs pour SIP, MQTT, RFB et SNMP.
  • La commande suricatasc a également été portée sur Rust.

De plus, Suricata 8.0 inclut également la prise en charge de plusieurs nouveaux protocoles et fonctionnalités d'analyse :

  • DNS sur HTTPS (DoH)
  • LDAP
  • mDNS (DNS multidiffusion)
  • POP3 (avec décodeur et enregistreur)
  • WebSocket
  • SDP sur SIP et SIP sur TCP
  • ARP (nouveau décodeur et enregistreur)

Nouvelles règles et détection

La nouvelle version comprend un ensemble étendu de mots-clés et de fonctionnalités pour écrire des règles plus complexes et plus efficaces :

  • Règles transactionnelles : permettent de décrire les deux sens d'une transaction dans une seule règle.
  • Nouveaux mots-clés : entropie, from_base64, luaxform, tcp.wscale, pgsql.query, mDNS, requires.
  • Prise en charge des données JSON dans les ensembles de données pour enrichir les alertes.
  • Prise en charge améliorée de la détection basée sur l'absence, vlan.id, TLS, FTP, SMTP, LDAP, EMAIL, etc.

Côté extensions, Suricata 8.0 a été amélioré avec :

  • API publique pour la journalisation de sortie personnalisée.
  • Plugins pour Napatech, PF_RING (maintenant sous forme de plugins externes).
  • Prise en charge initiale du nDPI en tant que module complémentaire.
  • Compteurs détaillés pour les politiques d'exception.
  • Statistiques sur les réassemblages ignorés et les règles ignorées.
  • Nouvelles mesures pour la gestion de la mémoire, l’utilisation du BPF et les abandons de paquets.
  • Plus de détails dans les schémas de sortie EVE.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans la lien suivant

Téléchargement et disponibilité

Suricata 8.0 est désormais disponible sur le dépôt officiel. Le code source est disponible sur GitHub ou via les packages distribués par l'OISF pour différentes plateformes.

Pour installer cet utilitaire, nous pouvons le faire en ajoutant le référentiel suivant à notre système. Pour ce faire, tapez simplement les commandes suivantes:

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

En cas de problèmes de dépendances, avec la commande suivante, il est résolu:

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

Installation terminée, il est recommandé de désactiver tout pack de fonctionnalités offloead sur la carte réseau que Suricata écoute.

Ils peuvent désactiver LRO / GRO sur l'interface réseau eth0 à l'aide de la commande suivante:

sudo ethtool -K eth0 gro off lro off

Meerkat prend en charge un certain nombre de modes de fonctionnement. Nous pouvons voir la liste de tous les modes d'exécution avec la commande suivante:

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

Le mode d'exécution par défaut utilisé est autofp signifie «équilibrage de charge automatique à flux fixe». Dans ce mode, les paquets de chaque flux différent sont affectés à un seul thread de détection. Les flux sont affectés aux threads avec le plus petit nombre de paquets non traités.

Maintenant, nous pouvons passer à démarrer Suricata en mode live pcap, à l'aide de la commande suivante:

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