À propos du projet
Maltrail est un système open source de détection de trafic réseau qui identifie les communications avec une infrastructure malveillante connue et signale certaines anomalies de trafic. Il compare les domaines, URL, adresses IP, paires IP:port, valeurs User-Agent, empreintes TLS JA3/JA4 et hachages de certificats observés sur le réseau à un ensemble d'indicateurs appelés trails.
Le projet comporte deux composants déployables indépendamment. Un capteur Rust multithread utilise libpcap pour capturer le trafic, effectuer la correspondance des trails et l'analyse heuristique, et produire des événements. Un serveur Python accepte les événements, les stocke dans des journaux quotidiens et fournit une API HTTP ainsi qu'une interface de reporting dans le navigateur. Le capteur peut écrire les événements localement, les transmettre à un serveur Maltrail distant, émettre du CEF via syslog ou envoyer du JSON à Logstash.
Les trails sont assemblés à partir de plus de 3 000 fichiers statiques fournis, de 42 intégrations de flux publics et d'indicateurs optionnels fournis par l'opérateur. Le programme de mise à jour fusionne les flux, les trails personnalisés, les trails statiques d'un dépôt séparé et les listes du moteur dans une base de données de trails, en publiant les mises à jour de manière atomique uniquement après une construction réussie. Un score de confiance dérivé de la concordance des flux aide à prioriser le tri.
L'interface de reporting prend en charge les mises à jour en direct via Server-Sent Events, la recherche sensible aux champs avec des sélecteurs tels que src:, dst:, port:, proto:, trail: et sev:, la recherche rétrospective dans les journaux conservés, les vues géographiques, le statut de tri et les notes par menace, l'état des capteurs, les vues enregistrées et l'export CSV/JSON. L'enrichissement par pays et ASN utilise les recherches RIPE par le serveur, avec un repli local pour un fonctionnement hors ligne.
Les heuristiques couvrent l'analyse de ports, l'épuisement DNS, les recherches de type DGA, les téléchargements suspects, les sondes de proxy et les valeurs User-Agent suspectes. La validation du déploiement est disponible via maltrail-sensor -T, et des métriques Prometheus optionnelles peuvent être activées. L'installation est prise en charge par un installateur shell vérifié sur plusieurs distributions Linux, FreeBSD, NetBSD, OpenBSD et macOS, ainsi que par Docker Compose et des compilations manuelles depuis les sources. Des binaires de capteur précompilés sont fournis pour Linux x86_64 et aarch64 (glibc et musl), macOS, FreeBSD et Windows.
Maltrail est conçu pour la surveillance réseau basée sur les indicateurs. Ses détections heuristiques complètent la correspondance des trails mais ne remplacent pas la télémétrie des terminaux ni un système de prévention d'intrusion à usage général.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.