Table des matières
Suricata est basé sur le système Snort IDS, qui est aussi un système de détection d'intrusion, Snort nous l'avons vu dans d'autres tutoriels tels que:
- Outils de prévention et de sécurité des pirates
- Renforcement de la sécurité des serveurs et des systèmes d'exploitation
Meerkat capable d'effectuer une analyse multithread, de décoder de manière native les flux réseau et d'assembler des fichiers de flux réseau tout en effectuant une analyse.
Cet outil est très évolutif, cela signifie qu'il peut exécuter plusieurs instances et équilibrer la charge si l'on dispose de plusieurs processeurs, permettant d'exploiter tout le potentiel d'une équipe. Cela nous permet de ne pas avoir de problèmes de consommation de ressources pendant que nous exécutons une analyse.
Les protocoles les plus courants sont automatiquement reconnus par Suricate, tellement de http, https, ftp, smtp, pop3 et autres, nous permettant ainsi de configurer des règles d'autorisations et de filtrage du trafic entrant et sortant, nous contrôlons également le port via lequel chaque protocole est accessible.
Un autre service qu'il fournit est l'identification Archiver, Sommes de contrôle MD5 et le contrôle des fichiers compressés. Suricata peut identifier quels types de fichiers sont transférés ou consultés sur le réseau. Si nous voulons accéder à un fichier, cette tâche obligera Suricata à créer un fichier sur disque avec un format de métadonnées qui décrit la situation et la tâche effectuée. La somme de contrôle MD5 est utilisée pour déterminer que le fichier de métadonnées qui stocke les informations sur les tâches effectuées n'a pas été modifié.
Installer Suricata dans notre système d'exploitation
Suricata peut être utilisé sur n'importe quelle plate-forme Linux, Mac, FreeBSD, UNIX et Windows, nous pouvons le télécharger depuis son site officiel ou si nous avons Linux pour l'installer à partir des référentiels.
Nous allons installer Suricata dans ce tutoriel sur Linux Mint. Pour installer Suricata, nous ouvrons une fenêtre de terminal et tapons les commandes suivantes :
sudo add-apt ppa-repository: oisf / meerkat stable sudo update apt-get sudo apt-get install meerkatAvec cela, il serait installé.
Configurer Suricata sur un serveur
Depuis Linux, nous devrons accéder au terminal en mode administrateur, nous commencerons par la création d'un dossier où stocker les informations que Suricata collectera et enregistrera.
sudo mkdir / var / log / suricateIl faut aussi vérifier que le système est dans le dossier etc, sinon on le crée :
sudo mkdir / etc / suricateNous aurons déjà installé Suricata et le Système de détection d'intrusion et analyseur de trafic réseau. À ce stade, il n'y a pas de règles définies à filtrer, nous devons donc créer des règles ou utiliser. Emerging Threats, qui est un référentiel de règles et de menaces connues pour Snort et Suricata, quelque chose comme une base de données antivirus mais pour les intrusions, l'utilisation des règles Emerging Threats est gratuite et gratuite.
Ensuite, nous pouvons télécharger les fichiers de règles depuis le terminal avec les commandes suivantes :
wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gzEnsuite il faut décompresser le fichier et le copier dans le dossier /etc/suricata
tar zxvf Emerging.rules.tar.gz cp -r rules / etc / suricata /Ensuite, nous devrons configurer le Moteur d'analyse Suricata, avec la configuration par défaut il utilisera les interfaces réseau eth0 avec les règles qu'il contient et que nous définissons dans le fichier signatures.règlesPour configurer de nouvelles règles, nous devons utiliser la commande suivante :
suricate -c suricate.yaml -s signatures.rules -i eth0Les règles seront configurées.
Interfaces réseau disponibles
Pour vérifier les connexions ou les interfaces réseau disponibles, à partir d'une fenêtre de terminal, nous écrivons la commande suivante :
IfconfigVous pouvez maintenant voir lequel nous voulons auditer en connaissant l'IP de chacun et son nom. Pour démarrer le moteur et attribuer une interface réseau, par exemple le réseau Wi-Fi, nous écrivons la commande suivante :
sudo suricata -c /etc/suricata/suricata.yaml -i wlan0Si nous voulons auditer le réseau filaire, nous utiliserons eth0. Pour voir si le moteur fonctionne correctement et effectue effectivement des inspections sur le réseau, nous devons utiliser la commande suivante :
cd / var / log / queue suricata http.logCela nous montrera une liste avec la date, l'heure et le Web ou l'IP auquel on a accédé et par quel port. Si on regarde les fichiers statslog, on peut observer le flux de trafic et les alertes détectées, il faut distinguer les pages que l'on navigue de celles qui sont redirigées via la publicité.
tail -f stats.logNous pouvons également télécharger les fichiers journaux et les ouvrir avec un éditeur de texte ou notre propre logiciel pour améliorer la lecture.
Un exemple est un fichier Json nommé even.json
Ici on voit les ports utilisés et l'ip on voit que l'ip 31.13.85.8 correspond à Facebook, on détecte aussi un accès à c.live.com, qui serait le web mail Outlook.
Voyons un autre journal où nous détectons l'accès de Google Chrome au site Web Solvetic.com.
Afin de ne pas contrôler tout le trafic, nous pouvons déterminer le moniteur d'un groupe ou d'un utilisateur spécifique avec la commande suivante.
sudo suricata -c /etc/suricata/suricata.yaml -D -i eth0 --user = jose01 --group = comptabilitéIl faut garder à l'esprit que l'exécution des ensembles de règles, même de taille modeste, pour surveiller un flux de trafic HTTP en utilisant les référentiels de menaces complets et son ensemble de règles nécessitera une consommation approximativement équivalente de ressources CPU et RAM à un trafic de 50. Mo par seconde bien que ce ne soit pas beaucoup pour affecter un serveur.
Règles pour ignorer le trafic
Dans certains cas, il existe des raisons d'ignorer certains trafics que nous ne souhaitons pas surveiller. Peut-être un hôte ou un réseau de confiance ou un site Web.
Nous verrons quelques stratégies pour ignorer le trafic avec suricate. Grâce aux filtres de capture, vous pouvez dire à Suricata ce qu'il faut suivre et ce qu'il ne faut pas suivre. Par exemple, un simple filtre de protocole TCP n'auditera que les paquets TCP.
Si certains ordinateurs ou réseaux doivent être ignorés, il ne faut pas utiliser IP1 ou ip/24, pour ignorer tous les ordinateurs d'un réseau.
Approuver un package et son trafic
Pour approuver règles avec suricate et déterminer qu'un paquet n'est pas filtré par exemple à partir d'une certaine IP et du protocole TCP alors on utilisera la commande suivante dans les fichiers de règles établis dans le dossier /etc/suricata/règles
Passez 192.168.0.1 any any any (msg: "Accepter tout le trafic de cette ip";)Pour voir quels modules nous avons activés pour Suricata, nous allons ouvrir une fenêtre de terminal puis taper la commande suivante :
suricate --build-infoNous avons vu comment Meerkat avec ses Service IDS Basé sur des règles pour contrôler le trafic réseau et fournir des alertes à l'administrateur système lorsque des événements suspects se produisent, il est très utile pour que, accompagné d'autres systèmes de sécurité réseau, il nous permette de protéger nos données contre les accès inappropriés.
Suricata dispose des fonctionnalités et des options de bibliothèque qui peuvent être ajoutées via des plugins à incorporer en tant que moniteur ou API dans d'autres applications.
Quelque chose d'important est de savoir quels services sont actifs et ce que nous devons surveiller afin de ne pas avoir de très longs rapports de services ou de ports qui ne fonctionnent pas.
Si, par exemple, les serveurs sont uniquement Web et n'ont besoin que du port 80 pour HTTP, il n'y a aucune raison de surveiller le service SMTP qui sert à envoyer du courrier.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif