SURICATA - Un outil de détection d'intrusion, de prévention et de sécurité
- 3895
- 676
- Maëlle Perez
Surinata est un moteur de détection de menaces puissant, polyvalent et open source qui fournit des fonctionnalités pour la détection des intrusions (IDS), la prévention des intrusions (IPS) et la surveillance de la sécurité du réseau. Il effectue une inspection profonde des paquets ainsi que des motifs correspondant à un mélange qui est incroyablement puissant dans la détection des menaces.
Au moment de la rédaction de ce guide, la dernière version de Surinata est 6.0.5.
Caractéristiques de suricata
- IDS / IPS - Suricata est un Détection d'intrusion et La prévention moteur qui exploite des ensembles de règles développés en externe tels que Talos Ruleset et les menaces émergentes Suricata Ruleset pour surveiller le trafic réseau pour toute activité malveillante, violations politiques et menaces.
- Détection de protocole automatique - Suricata Engine détecte automatiquement les protocoles tels que HTTP et HTTPS. FTP et SMB sur n'importe quel port et appliquez la logique de détection et de journalisation appropriée. Cela est utile pour détecter les logiciels malveillants et les canaux CNC.
- Script Lua - Suricata peut invoquer Lua Des scripts qui fournissent une détection avancée de logiciels malveillants pour détecter et décoder le trafic de logiciels malveillants qui est autrement difficile à détecter.
- Multi-threading - Suricata offre une vitesse et une importance dans la détermination du trafic réseau. Le moteur est développé pour appliquer l'augmentation de la puissance de traitement offerte par les chipsets matériels multi-core modernes.
Installation de l'outil de détection d'intrusion de Suricata dans Linux
Dans cette section, nous montrerons comment installer Surinata Sur les distributions basées sur Debian et basées sur Debian.
Installer Suricata sur Debian / Ubuntu & Mint
Surinata est fourni par Debian / Ubuntu référentiels et peut facilement être installé à l'aide du gestionnaire de packages APT. Cependant, il convient de noter que cela n'installe pas la dernière version de Suricata. Pour installer la dernière version, vous devez l'installer à partir d'une source que nous couvrirons plus tard dans ce guide.
À installer Surinata en utilisant le apte Gestionnaire de package, exécutez la commande:
$ sudo apt install suricata -yInstaller Suricata à Ubuntu
Suricata démarre automatiquement une fois installé. Vous pouvez confirmer cela comme suit.
$ sudo systemctl status suricataVérifiez Suricata à Ubuntu
Installer Suricata sur Rhel, Rocky, Almalinux et Fedora
À installer Surinata sur Rhel Des distributions telles que Centos Stream, Rocky Linux, Almalinux, Fedora et Rhel, vous devez d'abord activer le référentiel EPEL.
$ dnf installer https: // dl.fedoraproject.org / pub / ePEL / ePel-Release-Latest-9.noarch.RPM [RHEL 9] $ dnf installer https: // dl.fedoraproject.org / pub / epel / epel-libérer lest-8.noarch.RPM [Rhel 8] $ yum install https: // dl.fedoraproject.org / pub / epel / epel-libérer lest-8.noarch.RPM [Rhel 7]]
Une fois Epel est activé, installez les packages requis suivants et ajoutez le Osef Référentiel de votre système.
----------- Sur les systèmes Fedora ----------- $ sudo dnf installer dnf-plagins-core $ sudo dnf copr activer @ oisf / suricata-6.0 ----------- Sur les systèmes RHEL ----------- $ sudo dnf installer yum-plugin-copr $ sudo dnf copr activer @ oisf / suricata-6.0
Ensuite, installez Surinata Utilisation du gestionnaire de package DNF ou du gestionnaire de packages YUM comme indiqué.
$ sudo dnf installer Suricata -y ou $ sudo yum install suricata -yInstaller Suricata à Rhel
Une fois Surinata est installé, démarrez et vérifie son statut.
$ sudo systemctl start suricata $ sudo systemctl status suricataVérifiez Suricata à Rhel
Installer Suricata depuis Source in Linux
Les référentiels de système d'exploitation par défaut ne fournissent pas la dernière version de Surinata. Si votre objectif est d'installer la dernière version de Surinata, alors vous devez l'installer à partir de la source.
Au moment de la rédaction de ce guide, la dernière version de Suricata est 6.0.5. À installer Surinata de la source sur Ubuntu / Debian et Rhel Distributions, installez les bibliothèques suivantes, les outils de compilation et les dépendances.
----------- Sur Debian Systems ----------- $ sudo apt installer Rustc Build-Essential Cargo libpcre3 libpcre3-dbg libpcre3-dev faire l'autoconf automake libtool libcap-ng0 faire libmagic-dev libjansson-dev libjansson4 libpcap-dev libnet1-dev-dv libcap-0-2 libbyaml-dev zlib1g zlib1g-dv-0-2 libbyaml-div zlib1g zlib1g-dv-0-0-2 -ng-dev pkg-config libnetfilter-queue1 libnfnetlink0 libnetfilter-queue-dev libnfnetlink-dev -y ----------- Sur les systèmes RHEL ----------- $ sudo yum install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lUa-devel pyyaml libmaxminddb-devel développer -y
Ensuite, installez l'outil Suricata-Update pour mettre à jour les règles Suricata.
$ sudo apt installer python3-pip [sur Debian] $ sudo yum install python3-pip [sur Rhel] $ PIP3 Installation - mise à niveau suricata-update
Créez ensuite un lien symbolique vers / usr / bin / suricata-update.
$ sudo ln -s / usr / local / bin / suricata-update / usr / bin / suricata-update
Rendez-vous maintenant sur la page de téléchargement officielle de Suricata et téléchargez le dernier fichier de tarball pour Linux à l'aide de la commande wget.
$ wget https: // www.OpenInfosecfoundation.org / download / suricata-6.0.6.le goudron.gz
Une fois téléchargé, extraire le fichier de tarball et l'installer.
$ sudo tar -xvf suricata-6.0.6.le goudron.gz $ cd suricata-6.0.6 $ ./ configure --enable-nfqueue --prefix = / usr --sysconfdir = / etc --localstatedir = / var $ make $ make install-full
Configuration de Suricata dans Linux
Pour commencer à configurer Surinata, Nous devons spécifier l'IP interne et le réseau externe. Pour ce faire, accédez au fichier de configuration.
$ sudo vim / etc / Suricata / Suricata.yaml
Pour le Home_net Directive, spécifiez l'adresse IP de votre système Linux.
Home_net: "[173.82.235.7]"
Ensuite, définissez le External_net directive à "!$ Home_net".
External_net: "!$ Home_net "Configurer les suricata dans Linux
Ensuite, spécifiez l'interface réseau sur laquelle Surinata Inspectera le trafic réseau. Dans notre cas, c'est le ETH0 interface.
Vous pouvez vérifier votre interface réseau active à l'aide de la commande IP:
$ ip a
Dans le fichier de configuration, mettez à jour la directive d'interface avec le nom de l'interface réseau.
- Interface: ETH0Configurer l'interface réseau de suricata
Ensuite, assurez-vous que le path-rule par défaut L'attribut est défini sur / etc / Suricata / Règles.
Configurer les règles de suricataEnsuite, enregistrez les modifications et fermez le fichier de configuration. Puis redémarrer Surinata pour les modifications à appliquer.
$ sudo systemctl status suricata
Mise à jour des ensembles de règles de suricata dans Linux
Par défaut, Surinata navires avec un ensemble limité de règles de détection situées dans le / etc / Suricata / Règles annuaire. Cependant, ceux-ci sont considérés comme faibles et inefficaces pour détecter les intrusions. Vous devez charger le Menace émergente (ET) Règles considérées comme les ensembles de règles les plus complets pour Suricata.
Surinata Fournit un outil appelé Suricata-data qui récupère les ensembles de règles des fournisseurs externes. Pour obtenir un ensemble de règles à jour pour votre serveur, exécutez la commande suivante.
$ sudo suricata-update -o / etc / suricata / règlesMettre à jour les ensembles de règles de suricata Télécharger les règles de menaces émergentes suricata
De la sortie, vous pouvez voir le Suricata-data récupérer le libre Menaces émergentes et règles ouvertes et les sauver chez Suricata / etc / Suricata / Règles / Suricata Règles de règles. De plus, il indique le nombre de règles traitées. Dans cet exemple, un total de 35941 ont été ajoutés. De celles, 28221 ont été activés, 18 ont été supprimés, et 1249 ont été modifiés.
Ajouter des ensembles de règles de suricata dans Linux
Le Suricata-data L'outil vous permet de récupérer les règles des fournisseurs de règles. Certains sont libres comme le Et ouvert Ensemble, tandis que d'autres ont besoin d'un abonnement payant.
Pour répertorier l'ensemble par défaut des fournisseurs de règles, exécutez le Suricata-data Commande comme indiqué.
$ Sudo Suricata-Updates List-sourcecesÉnumérez les fournisseurs de règles de suricata
Pour ajouter un ensemble de règles, par exemple, le Tgreen / règle de chasse, Exécutez la commande suivante.
$ Sudo Suricata-Update Activer-Source Tgreen / HuntingAjouter l'ensemble de règles Suricata
Une fois que vous avez ajouté le règlement, courir le Suricata-data commande une fois de plus avec le -o / etc / suricata / règles
drapeau.
$ sudo suricata-update -o / etc / suricata / règlesMettre à jour l'ensemble de règles Suricata
Tester les règles de suricata dans Linux
Avant de commencer à tester Surinata, il est recommandé de tester si la configuration est correcte. Pour ce faire, exécutez la commande suivante:
$ sudo suricata -t -c / etc / suricata / suricata.yaml -v
Assurez-vous qu'aucune erreur n'est signalée. Si vous exécutez Rhel, Centos Stream, Fedora et Rocky Linux Start et activez Suricata.
$ sudo systemctl start suricata $ sudo systemctl activer suricata
Jusqu'à présent, nous avons réussi et configuré Surinata et mis à jour les ensembles de règles. L'ensemble de règles ouvertes ET contient plus de 30 000 règles pour détecter le trafic malveillant. Dans cette section, nous mettrons les suricata à l'épreuve et vérifierons s'il peut détecter le trafic réseau suspect.
Nous allons tester le Et ouvert RuleNet en simulant une intrusion comme recommandé par le guide Quickstart de Suricata.
La fonctionnalité IDS sera testée avec un ID de signature de 2100498 en envoyant une demande HTTP au testmynides.org Site Web qui est un NIDS (Système d'intrusion et de détection de réseau) cadre.
$ curl http: // testmynids.org / uid / index.html
Vous devriez obtenir la sortie suivante.
uid = 0 (root) gid = 0 (root) Groupes = 0 (racine)
Le Http La demande envoyée est conçue pour déclencher une alerte en imitant la sortie du identifiant commande qui pourrait s'exécuter sur un système distant compromis via un shell.
Maintenant, passons à travers les journaux de Suricata pour une alerte correspondante. Suricata est expédié avec deux fichiers journaux qui sont permis par défaut.
/ var / log / suricata / rapide.journal / var / log / suricata / eve.enregistrer
Nous vérifierons une entrée de journal dans le / var / log / suricata / rapide.enregistrer fichier journal qui correspond à la demande de curl à l'aide de la commande grep. Nous rechercherons les entrées de journal en utilisant le 2100498 Identificateur de règles à partir de la documentation QuickStart.
$ grep 2100948 / var / log / suricata / Fast.enregistrer
Vous obtiendrez la sortie suivante qui signifie une intrusion. Ici, 173.82.235.7 est l'adresse IP publique du serveur.
09/09/2022-22: 17: 06.796434 [**] [1: 2100498: 7] GPL ATTACE_RESPONSE ID VÉRIFICATION ROOT ROOT [**] [Classification: Potentiellement mauvais trafic] [Priorité: 2] TCP 13.226.210.123: 80 -> 173.82.235.7: 33822Vérifiez les journaux de suricata
Alternativement, vous pouvez vérifier le / var / log / suricata / eve.enregistrer Fichier journal pour l'ID de signature de 2100498 comme indiqué.
$ jq 'select (.alerte .signature_id == 2100498) '/ var / log / suricata / eve.jsonVérifiez le journal de suricata pour l'ID de signature
C'était un guide complet sur la façon d'installer et de configurer Surinata sur Linux. Nous avons examiné diverses méthodes d'installation, comment configurer Surinata et mettre à jour Surinata Règles ainsi que comment gérer le service Suricata Systemd et effectuer des tests d'intrusion de réseau.
Nous espérons que vous pourrez maintenant installer et utiliser confortablement Surinata pour protéger votre système à partir d'intrusions de réseau ou de trafic malveillant.
- « Guide de Tecmint sur le guide de préparation des examens d'automatisation de Redhat ANSIBLE
- Comment surveiller le site Web et l'application avec Kuma de disponibilité »