Ce sujet concerne un autre projet de sécurité open source "Maltrail" . Il s'agit d'un système de détection de trafic malveillant qui utilise les listes de spam/listes noires de pistes malveillantes et suspectes accessibles au public. Il utilise également les traces statiques des différents rapports antivirus et des listes personnalisées définies par l'utilisateur. Les domaines malveillants de divers logiciels malveillants, l'URL des exécutables malveillants connus et l'adresse IP des attaquants connus sont des pistes pour ce système. Il a la capacité de mécanismes heuristiques avancés pour la découverte de menaces inconnues (par exemple, de nouveaux logiciels malveillants). L'adresse github du projet est : https://github.com/stamparm/maltrail/
La page github affiche les ressources des listes noires (c'est-à-dire les flux), les entrées statiques et les traces de divers C&C de logiciels malveillants ou gouffres qui sont utilisés dans ce système de détection.
Architecture de déploiement
Selon les informations données sur le site du projet, le Maltrail est basé sur le trafic -> Capteur <-> Serveur <-> Client architecture.
Le(s) capteur(s) est un composant/une machine autonome fonctionnant sur une plate-forme Linux connectée passivement au port SPAN/mirroring ou en ligne de manière transparente sur un pont Linux où il "surveille" le trafic passant pour les éléments/chemins sur liste noire (c'est-à-dire les noms de domaine, les URL et/ ou IP). Le détail de l'événement est envoyé au serveur (central) En cas de correspondance positive et stocké dans le répertoire de journalisation approprié. Si le capteur et le serveur s'exécutent tous les deux sur la même machine (configuration par défaut), les journaux sont stockés directement dans le répertoire de journalisation local. Tous les événements ou entrées de journal pour la période choisie (24 h) sont transférés au client, l'application web de reporting se charge de la présentation des événements. Dans cet article, Serveur et serveur composants exécutés sur la même machine.
Prérequis
Dans ce tutoriel, Maltrail sera installé sur une machine virtuelle Ubuntu 18.04 LTS. Pour exécuter correctement Maltrail , Python 2.7 est requis avec pcapy emballer. Il n'y a aucune autre exigence, à part exécuter le "Capteur et serveur" composant avec les privilèges root. La commande suivante installe le package python-pcapy sur la machine Ubuntu. Il installera également les dépendances requises du package.
apt-get install git python-pcapy
Il peut être téléchargé à partir du site Web de corsecity et installé à l'aide de la commande suivante. Si le package "python-setuptools" est installé, installez-le avant l'installation du package pcapy. La commande suivante installe le package setuptools sur la plate-forme Ubuntu.
apt-get install python-setuptools
python setup.py install
Exécution du système Maltrail
La commande suivante télécharge le dernier package sur la machine Ubuntu, puis exécute les scripts python du serveur et du capteur dans le terminal
git clone https://github.com/stamparm/maltrail.git
cd maltrail/
Démarrer le capteur Maltrail
La commande suivante démarre le capteur dans le terminal.
python sensor.py
Si la liste de Maltrail n'est pas mise à jour, elle sera mise à jour lors de l'exécution du capteur sur la machine.
La capture d'écran ci-dessus montre que le capteur fonctionne avec succès sur la machine.
Démarrer le serveur Maltrail
Pour démarrer le "Serveur" sur la même machine, ouvrez un nouveau terminal et exécutez ce qui suit :
cd maltrail
python server.py
Comme indiqué dans l'instantané ci-dessus, le serveur HTTP s'exécute sur le port 8338. Le port 8338 doit être autorisé sur le pare-feu si l'interface Web est accessible derrière le pare-feu.
Tableau de bord Maltrail
Accédez à l'interface de création de rapports en visitant http://local-p-ip:8338 (les identifiants par défaut sont admin:changeme! saved in the maltrail.conf file
) à partir de votre navigateur Web. Comme indiqué ci-dessous, l'utilisateur se verra présenter la fenêtre d'authentification suivante. Entrez les informations d'identification admin:changeme!
pour entrer dans le portail web du Matrail.
Une fois dans le tableau de bord, l'utilisateur administrateur se verra présenter l'interface de rapport suivante.
Tester Maltrail
L'étape de test suivante est indiquée sur le site du projet. L'adresse IP "136.161.101.53 " est une adresse malveillante, donc Maltrail la détecte et l'affiche dans le tableau de bord.
ping -c 5 136.161.101.53
cat /var/log/maltrail/02-10-2018.log
Comme indiqué ci-dessous, les deux attaques (ping vers une adresse IP malveillante) sont également affichées dans l'interface.
-------------------------------------------------- --------------------------------------------------
La partie supérieure de l'avant contient une chronologie coulissante et s'active après avoir cliqué sur l'étiquette de la date actuelle et/ou l'icône du calendrier. La partie centrale contient un résumé des événements affichés. La zone Événements représente le nombre total d'événements sur une période de 24 heures sélectionnée, où différentes couleurs représentent différents types d'événements, tels que les événements basés sur l'adresse IP, les événements basés sur le DNS et les événements basés sur l'URL. Cliquez sur les cases pour obtenir plus de détails sur chaque graphique.
La partie inférieure de l'interface contient une représentation condensée des événements enregistrés sous la forme d'un tableau paginé.
La configuration de Maltrail Sensor/Server
La configuration du capteur du système Maltrail se trouve dans le maltrail.conf
section du fichier [Sensor]. The configuration parameters are explained with comments. In this configuration file, user can define setting like update period of static feed, virtual or physical interface of the linux to run Maltrail system etc.
section capteur
-------------------------------------------------- -------------------------------------------------
Dans la section serveur, un utilisateur peut définir le port d'écoute et l'adresse IP. L'utilisateur peut activer le service SSL pour protéger le trafic Web.
section serveur
Stockage des journaux
Tous les événements détectés par les capteurs Maltrail sont stockés dans le serveur répertoire de journalisation de (option LOG_DIR
dans le maltrail.conf
section du fichier pour définir le chemin d'accès au fichier). Tous les événements détectés sont stockés avec la date.
Balayage de ports
Il détecte également trop de tentatives de connexion à certains ports TCP. Le système Maltrail met en garde contre une éventuelle analyse de port car il détecte des mécanismes heuristiques.
Faux positifs
Maltrail est sujet aux "faux positifs", comme toutes les autres solutions de sécurité. Dans ce genre de cas, Maltrail le fera (en particulier en cas de suspicious
menaces) enregistrent le comportement d'un utilisateur régulier et le marquent comme malveillant et/ou suspect. Par exemple, le moteur de recherche Google analyse également les domaines et l'adresse IP. Ainsi, parfois l'adresse IP légitime de Google deviendra un attaquant en raison de plusieurs tentatives sur les domaines/adresses IP légitimes.
Conclusion
Cet article concerne le système de détection de trafic malveillant "Maltrail" qui détecte le trafic à l'aide de flux statiques et d'un mécanisme heurisitc. Il est développé en Python et se compose de deux composants majeurs "capteur et serveur". Il peut être exécuté sur une seule machine et détecter le trafic sur n'importe quelle interface de la machine. Il est utile de sécuriser le réseau contre les attaquants connus sur Internet. Actuellement, il ne prend en charge que la détection du trafic. Cependant, il peut être intégré à d'autres outils open source pour effectuer le blocage de l'adresse IP dans le pare-feu iptables.