Table of Contents
Arpwatch
Arpwatch est un logiciel d'analyse de trafic réseau se basant sur la librairie pcap. Tournant en fond (démon), il écoute les requêtes ARP et log les couples d'adresses MAC/IP qu'il voit passer. Il garde une table des adresses connues et alerte (par mail ou dans un fichier de log) quand il rencontre de nouvelles adresses.
Arpwatch est packagé dans la majorité des distributions ; sous CentOS par exemple il s'installe de façon triviale :
yum install arpwatch
Options intéressantes
-e <mail>
: pour envoyer les mails d'alerte à l'adresse spécifiée. Par défaut, c'est root ; si on indique “-”, aucun mail ne sera envoyé et les alerte seront envoyées uniquement vers le syslog.-N
désactive les alertes de bogon. Les “bogons” sont des machines qui possèdent une mauvaise adresse IP (hors plage).-n <network>[/<mask>]
permet de spécifier des adressages réseaux additionnels qui utilisent le même réseau physique (par exemple si on a 10.0.0.0/24 et 10.0.1.0/24 qui cohabitent sur le même réseau ethernet)-i <interface>
pour spécifier l'interface réseau à utiliser-f <file>
permet de personnaliser le nom du fichier pour enregistrer les couples d'adresses IP/MAC (arp.dat par défaut).-d
active la mode debug
On configure ses options de lancement dans le fichier :
vi /etc/sysconfig/arpwatch # options par défaut : #OPTIONS="-u arpwatch -e root -s 'root (Arpwatch)'" OPTIONS="-u arpwatch -e - "
Ici on voit que le démon se lance sous l'utilisateur logwatch (-u logwatch
), et qu'il n'enverra pas de mail (-e -
).
Configuration des logs
Détermination d'un fichier dédié :
vi /etc/rsyslog.d/arpwatch.conf :programname, startswith, "arpwatch" -/var/log/arpwatch & ~
Suivi d'un service rsyslog restart
.
Configuration de la rotation des logs :
vi /etc/logrotate.d/arpwatch /var/log/arpwatch { missingok weekly rotate 104 compress create 0644 root root postrotate /sbin/service arpwatch reload 2> /dev/null > /dev/null || true endscript }
Spécimens de messages de log :
# exemple de machine vue pour la première fois : Aug 28 15:54:33 ipscc2 arpwatch: new station 10.0.0.225 8:0:69:0:11:fc # exemple de machines mal adressées (le réseau notre machine est 10.0.0.0/24) : Aug 28 16:06:00 ipscc2 arpwatch: bogon 192.168.1.112 0:25:90:0:11:c Aug 28 16:06:02 ipscc2 arpwatch: bogon 0.0.0.0 0:a0:98:0:11:50