Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
psad — psad : Détection d'intrusion et analyse des logs avec iptables | Kitploit
Outils/GitHubGitHub/mrash/psad
Analyse des VulnérabilitésÉvasion IDS/IPSAnalyse ForensiqueSécurité RéseauRenseignement sur les MenacesDétection d'IntrusionAnalyse de Journaux
GitHubmrash/psad

psad

psad : Détection d'intrusion et analyse des logs avec iptables

Voir le dépôt
4277710il y a 7 ansVérifié par Kitploit
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

psad - Détection d'intrusion avec les journaux iptables

Introduction

Le Port Scan Attack Detector psad est un démon système léger écrit en conçu pour fonctionner avec le pare-feu Linux iptables/ip6tables/firewalld afin de détecter le trafic suspect tel que les scans de ports et les balayages, les portes dérobées, les communications de commande et contrôle de botnets, et plus encore. Il dispose d'un ensemble de seuils de danger hautement configurables (avec des valeurs par défaut raisonnables fournies), des messages d'alerte détaillés qui incluent la source, la destination, la plage de ports scannée, les heures de début et de fin, les drapeaux TCP et les options nmap correspondantes, les informations DNS inversées, les alertes par email et syslog, le blocage automatique des adresses IP offensantes via la configuration dynamique des règles iptables, l'empreinte passive du système d'exploitation, et les rapports DShield. De plus, psad incorpore de nombreuses signatures TCP, UDP, et ICMP incluses dans le système de détection d'intrusion Snort. pour détecter les scans hautement suspects de divers programmes de porte dérobée (par exemple EvilFTP, GirlFriend, SubSeven), les outils DDoS (Mstream, Shaft), et les scans de ports avancés (SYN, FIN, XMAS) qui sont facilement utilisés contre une machine via nmap. psad peut également alerter sur les signatures Snort qui sont journalisées via fwsnort, qui utilise l'extension de correspondance de chaîne iptables pour détecter le trafic correspondant aux signatures de la couche application. Depuis la version 2.4.4, psad peut également détecter la phase de balayage des identifiants par défaut IoT du botnet Mirai.

Télécharger l’outil

La liste complète des fonctionnalités est ci-dessous.

Fonctionnalités

  • Détection des scans TCP SYN, FIN, NULL et XMAS ainsi que des scans UDP.
  • Prise en charge des journaux IPv4 et IPv6 générés respectivement par iptables et ip6tables.
  • Détection de nombreuses règles de signature du système de détection d'intrusion Snort.
  • Mode forensique d'analyse des fichiers journaux iptables/ip6tables (utile comme outil forensique pour extraire des informations de scan à partir d'anciens fichiers journaux iptables/ip6tables).
  • Empreinte passive du système d'exploitation via les paquets TCP syn. Deux stratégies d'empreinte différentes sont prises en charge ; une réimplémentation de p0f qui utilise strictement les messages de journal iptables/ip6tables (nécessite le paramètre de ligne de commande --log-tcp-options), et une stratégie basée sur TOS.
  • Alertes par email contenant les caractéristiques des scans TCP/UDP/ICMP, les informations DNS inversées et whois, les correspondances de règles Snort, les informations d'OS distant deviné, et plus.
  • Lorsqu'il est combiné avec fwsnort et l'extension de correspondance de chaîne iptables, psad peut générer des alertes pour les attaques de débordement de tampon de la couche application, les commandes applicatives suspectes, et autres trafic suspect de couche 7.
  • Validation des types ICMP et des champs d'en-tête de code.
  • Seuils de scan configurables et attributions de niveaux de danger.
  • Analyse des règles iptables pour vérifier la politique de "rejet par défaut".
  • Attribution automatique du niveau de danger IP/réseau (peut être utilisé pour ignorer ou augmenter automatiquement les niveaux de danger pour certains réseaux).
  • Alertes DShield.
  • Blocage automatique des adresses IP de scan via iptables/ip6tables et/ou tcpwrappers basé sur le niveau de danger du scan. (Cette fonctionnalité n'est PAS activée par défaut.)
  • Analyse des messages de journal iptables/ip6tables et génération de sortie CSV pouvant être utilisée comme entrée pour AfterGlow. Cela permet de visualiser les journaux iptables/ip6tables. Gnuplot est également pris en charge.
  • Mode statut qui affiche un résumé des informations de scan actuelles avec les compteurs de paquets associés, les chaînes iptables/ip6tables, et les niveaux de danger.

Visualisation du trafic malveillant

psad offre une intégration avec gnuplot et afterglow pour produire des graphiques du trafic malveillant. Les deux graphiques suivants sont ceux du ver Nachi du défi Honeynet Scan30. D'abord, un graphique de liens produit par afterglow après analyse des données du journal iptables par psad :

nachi-worm-link-graph "Graphique de liens du ver Nachi"

Le second montre le trafic du ver Nachi sur une base horaire à partir des données iptables de Scan30 :

nachi-worm-hourly-graph "Graphique horaire du ver Nachi"

Informations de configuration

Les informations sur les mots-clés de configuration référencés par psad se trouvent à la fois dans la page de manuel psad(8) et ici :

http://www.cipherdyne.org/psad/docs/config.html

Méthodologie

Toutes les informations analysées par psad sont recueillies à partir des messages de journal iptables. Par défaut, psad lit le fichier /var/log/messages pour les nouveaux messages iptables et les écrit éventuellement dans un fichier dédié (/var/log/psad/fwdata). psad est ensuite responsable de l'application du seuil de danger et de la logique de signature afin de déterminer si un scan de ports a eu lieu, d'envoyer des emails d'alerte appropriés, et (éventuellement) de bloquer les adresses IP offensantes. psad inclut un gestionnaire de signaux tel que si un signal USR1 est reçu, psad videra le contenu de la structure de données du hachage de scan actuel dans /var/log/psad/scan_hash.$$ où "$$" représente le pid du démon psad en cours d'exécution.

NOTE : Étant donné que psad dépend d'iptables pour générer des messages de journal appropriés pour les paquets non autorisés, psad est aussi bon que les règles de journalisation incluses dans l'ensemble de règles iptables. Par conséquent, si votre pare-feu n'est pas configuré pour journaliser les paquets, psad NE détectera PAS les scans de ports ou quoi que ce soit d'autre. Habituellement, la meilleure façon de configurer le pare-feu est d'utiliser des règles de "rejeter et journaliser" par défaut à la fin de l'ensemble de règles, et d'inclure des règles au-dessus de cette dernière règle qui n'autorisent que le trafic qui doit être autorisé. Lors de l'exécution, le démon psad tentera de déterminer si une telle règle de rejet par défaut existe, et avertira l'utilisateur dans le cas contraire. Voir le fichier FW_EXAMPLE_RULES pour des exemples d'ensembles de règles de pare-feu compatibles avec psad.

De plus, une couverture approfondie de psad est incluse dans le livre "Linux Firewalls: Attack Detection and Response" publié par No Starch Press, et un script d'accompagnement de ce livre est compatible avec psad. Ce script peut être trouvé ici :

http://www.cipherdyne.org/LinuxFirewalls/ch01/

Installation

Selon la distribution Linux, psad peut déjà être disponible dans le dépôt de paquets par défaut. Par exemple, sur les systèmes Debian ou Ubuntu, l'installation se fait simplement par :

root@kitploit:~
apt-get install psad

Si psad n'est pas disponible dans le dépôt de paquets, il peut être installé avec le script install.pl fourni dans les sources de psad. Le script install.pl gère également les mises à niveau si psad est déjà installé. psad nécessite plusieurs modules Perl qui peuvent ou non être déjà installés sur votre système Linux. Ces modules sont inclus dans le répertoire deps/ des sources de psad, et sont automatiquement installés par le script install.pl. La liste des modules est :

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

psad inclut également un client whois écrit par Marco d'Itri (voir le répertoire deps/whois). Ce client fait mieux que les autres pour collecter les informations whois correctes pour une adresse IP donnée.

Configuration du pare-feu

La condition principale pour qu'une configuration iptables soit compatible avec psad est simplement qu'iptables journalise les paquets. Cela se fait généralement en ajoutant des règles aux chaînes INPUT et FORWARD comme ceci :

root@kitploit:~
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

Les règles ci-dessus doivent être ajoutées à la fin des chaînes INPUT et FORWARD après toutes les règles ACCEPT pour le trafic légitime et juste avant une règle DROP correspondante pour le trafic qui ne doit pas être autorisé via la politique. Notez que les politiques iptables peuvent être assez complexes avec des restrictions de protocole, de réseau, de port et d'interface, des chaînes définies par l'utilisateur, des règles de suivi de connexion, et bien plus encore. Il existe de nombreux logiciels tels que Shorewall et Firewall Builder, qui construisent des politiques iptables et tirent parti des capacités avancées de filtrage et de journalisation offertes par iptables. Généralement, les politiques construites par ces logiciels sont compatibles avec psad car elles ajoutent spécifiquement des règles qui ordonnent à iptables de journaliser les paquets qui ne font pas partie du trafic légitime. Psad peut être configuré pour analyser uniquement les messages iptables contenant des préfixes de journal spécifiques (qui sont ajoutés via l'option --log-prefix), mais par défaut, psad analyse tous les messages de journal iptables pour détecter des preuves de scans de ports, de sondages de programmes de porte dérobée, et d'autres trafic suspect.

Plateformes

psad fonctionne généralement sur les systèmes Linux et est disponible dans les dépôts de paquets de nombreuses distributions Linux majeures. En cas de problèmes opérationnels avec psad, veuillez ouvrir un ticket sur github

Licence

psad est publié en tant que logiciel open source sous les termes de la GNU General Public License (GPL v2+). La dernière version peut être trouvée sur https://github.com/mrash/psad/releases

psad utilise de nombreuses signatures TCP, UDP et ICMP disponibles dans Snort (écrit par Marty Roesch, voir http://www.snort.org). Snort est une marque déposée de Sourcefire, Inc.

Contact

Toutes les demandes de fonctionnalités et les corrections de bogues sont gérées via le suivi des tickets github. Cependant, vous pouvez m'envoyer un email (michael.rash_AT_gmail.com), ou me joindre via Twitter (@michaelrash)