Comment détecter des attaques de type scan de ports en analysant les fichiers journaux d'un parefeu sous Linux et bloquer ces scans de ports en temps réel?
Un scanner de ports tel que nmap est un logiciel destiné à rechercher les ports ouverts dans un réseau. Les assaillants peuvent utiliser nmap pour scanner votre réseau avant d'attaquer. Les motifs de l'attaque sont visibles dans /var/log/messages. Pourtant, psad est outil qui fait ce travail automatiquement - il détecte les scans de ports grâce à plusieurs démons s'exécutant sur des machines sous Linux en analysant les messages de log d'iptables
Psad utilise les messages de log de Netfilter pour détecter, alerter et bloquer les scans et autres trafics suspects. Il peut analyser les drapeaux de type tcp pour déterminer les types de scan (syn, fin, xmas, etc.) ainsi que les signatures tcp, udp et icmp contenues dans un système de détection de type snort
Installation :
Psad s'installe le plus naturellement du monde quand les sources sont à jour avec un
urpmi psad
Configurer psad:
Dans /etc/syslog.conf
ajoutez le code suivant
kern.info |/var/lib/psad/psadfifo
Cela configurera Syslog pour écrire tous les messages kern.info dans un pipe /var/lib/psad/psadfifo.
Redémarrez le service syslog avec la commande en root
service syslog restart
Le fichier de configuration par défaut de psad est /etc/psad/psad.conf:
# vi /etc/psad/psad.conf
Vous devez placer une adresse de courrier correcte afin d'obtenir les messages de détection:
EMAIL_ADDRESSES vivek@nixcraft.in;
Nom de domaine de la machine (FQDN):
HOSTNAME server.nixcraft.in;
Si vous avez seulement une interface sur la machine , fixer HOME_NET to none:
HOME_NET NOT_USED; ### only one interface on box
Vous pouvez également ajuster des niveaux de danger selon votre installation. Vous pouvez aussi définir un ensemble de ports à ignorer
IGNORE_PORTS udp/53, udp/5000;
On peut aussi établir un blocage en temps réel via iptables, avec les deux variables suivantes:
ENABLE_AUTO_IDS Y;
IPTABLES_BLOCK_METHOD Y;
psad a d'autres options, veuillez lire les pages man pour plus d'information. Enregistrez et fermez le fichier. Redémarrez psad:
# service psad restart
Mettre à jour les règles iptables ::
psad doit avoir ces deux règles activées
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG
#!/bin/bash
IPT="/sbin/iptables"
# Log everything else
# *** Required for psad ****
$IPT -A INPUT -j LOG
$IPT -A FORWARD -j LOG
$IPT -A INPUT -j DROP
Voir les scans de ports ::
On saisit la commande suivante pour supprimer les blocs générés par le parefeu
# psad -F
Et pour voir les scans détaillés dans le fichier journal?
Se rendre vers le répertoire /var/log/psad/ip.address/ Par exemple, pour voir les logs correspondants à 11.22.22.33, aller dans :