Dans ce tutoriel, je vais vous montrer l'installation et la configuration de l'outil PSAD (Port Scan Attack Detection) sur Debian 8 (Jessie). Selon le site Web du projet : PSAD fournit une détection des intrusions et une analyse des journaux avec IPtables (pare-feu Linux). L'outil PSAD est utilisé pour transformer un système IDS (Intrusion Detection) en un IPS (Intrusion Prevention System). Il utilise les règles de l'IDS open source bien connu "SNORT" pour la détection des événements d'intrusion. La machine virtuelle ou le serveur est surveillé en permanence par l'outil pour toute attaque active telle que les analyses de port et il peut bloquer automatiquement les adresses IP malveillantes dans le pare-feu Linux. Un autre projet similaire est Guardian, qui a des fonctionnalités très limitées. PSAD sera installé sur une machine virtuelle Debian-8 (Jessie) et l'outil d'analyse "Nmap" sera utilisé pour vérifier les ports ouverts sur la machine virtuelle. Au final, une attaque DOS sera lancée sur le serveur web (Apache) pour voir le comportement de l'outil PSAD.
Installation PSAD
Debian Jessie sera installée sur la machine virtuelle VMware à l'aide du programme d'installation net (debian-8.3.0-i386-netinst.iso).
Le processus d'installation de Debian est décrit dans l'article précédent. L'adresse IP de la machine PSAD est 192.168.1.102/24.
L'outil PSAD peut être installé à partir du code source ou du référentiel de packages Debian. Je vais l'installer depuis le dépôt Debian. Tout d'abord, ajoutez ce qui suit dans le fichier sources.list (ou vérifiez si les lignes sont déjà là) et exécutez la commande apt pour mettre à jour la liste des référentiels.
deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main deb http://httpredir.debian.org/debian jessie-updates main deb-src http://httpredir.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
Liste des sources pour Debian Jessie
apt-get update
Exécutez la commande suivante pour installer PSAD dans la VM.
apt-get install psad
Plusieurs packages Perl sont nécessaires lors de l'installation de l'outil PSAD. Les dépendances de paquets seront automatiquement résolues par le gestionnaire de paquets Debian.
La fonction de pare-feu sur la plate-forme Linux est fournie par le package IPtables. C'est un pare-feu Linux bien connu et déjà installé dans toutes les distributions Linux.
Configuration PSAD et pare-feu
Par défaut, il n'y aura pas de règles dans les chaînes IPtables sur la plate-forme Debian. Exécutez la commande suivante pour répertorier les règles de chaînes.
iptables -L
Activez la journalisation sur les chaînes d'entrée et de transfert des tables IP afin que le démon PSAD puisse détecter toute activité anormale.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
La sortie de la commande "iptables -L" sera maintenant similaire à celle indiquée ci-dessous.
Chain INPUT (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain FORWARD (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain OUTPUT (policy ACCEPT) target prot opt source destination
Sur la distribution Debian, l'outil PSAD stocke les fichiers de configuration et les règles dans le répertoire /etc/psad.
Le fichier de configuration PSAD principal est /etc/psad/psad.conf . Dans ce tutoriel, la fonctionnalité IPS sera utilisée pour détecter les attaques DOS sur le serveur Web.
Les paramètres de base de PSAD sont indiqués ci-dessous.
EMAIL_ADDRESSES [email protected];
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
Le paramètre de niveau de danger par défaut, l'intervalle de vérification PSAD et l'utilisation du SID sont illustrés dans la figure suivante.
Par défaut, le démon PSAD recherche les journaux dans /var/log/messages dossier. Par conséquent, modifiez IPT_SYSLOG_FILE paramètre dans la configuration PSAD.
Les distributions basées sur Debian stockent les messages syslog dans /var/log/syslog fichier.
ENABLE_SYSLOG_FILE Y;
IPT_WRITE_FWDATA Y;
IPT_SYSLOG_FILE /var/log/syslog;
Par défaut, PSAD fonctionne en mode IDS, le paramètre IPS est désactivé dans le fichier de configuration. Activez les paramètres suivants pour activer la fonction IPS et le niveau de danger. Après avoir activé le paramètre dans le fichier de configuration, le démon PSAD bloquera automatiquement l'attaquant en ajoutant son adresse IP dans les chaînes IPtables.
ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;
Exécutez maintenant la commande suivante pour mettre à jour la base de données des signatures pour la détection des attaques.
psad --sig-update
Actuellement, le serveur Apache écoute sur le port 80 comme indiqué ci-dessous.
Démarrez PSAD à l'aide de la commande suivante et vérifiez l'état.
psad start
psad -S
Une attaque DOS est lancée à l'aide de l'outil LOIC (Low Orbit Ion Cannon) sur la VM pour tester PSAD, comme indiqué ci-dessous.
Syslog affiche le trafic DOS généré à l'aide de l'outil LOIC.
L'adresse IP de l'attaquant simulé 192.168.1.100 est bloquée par le démon PSAD comme indiqué ci-dessous. Exécutez la commande suivante pour afficher les règles dynamiques ajoutées par PSAD.
psad --fw-list
La capture d'écran suivante montre que l'attaquant ne peut plus envoyer de ping à l'adresse IP de la victime, il a donc été bloqué avec succès par PSAD.
Exécutez la commande suivante pour voir la sortie détaillée de PSAD.
psad -S
1. Correspondance de signature et adresse IP de l'attaquant
2. Trafic pour des ports spécifiques
3. L'adresse IP de l'attaquant dans les chaînes IPtables.
4. Détails sur la communication entre l'agresseur et la victime.
Conclusion
PSAD est un outil open source bien connu pour bloquer les attaques par balayage de port sur les serveurs Linux. Il possède à la fois des fonctionnalités IDS et IPS et est capable de bloquer dynamiquement les adresses IP malveillantes à l'aide d'IPtables.