Scoprire server DHCP abusivi…

Chi di lavoro fa il sistemista e gestisce reti informatiche medio-grandi, sa quanto siano fastidiosi quegli utenti che attaccano alla rete di tutto di più incuranti degli eventuali danni o problemi che possono causare.

Il DHCP è uno di quei sistemi, probabilmente tra i più infidi e fastidiosi, che si trova praticamente in qualunque router/nas/consolle abbastanza moderna. Caso tipico è l’impiegato che vuole provare come funziona il nuovo acquisto, incurante delle conseguenze: lo attacca alla rete ed il server DHCP interno inizia a “sparare” indirizzi IP a casaccio, provocando conflitti e malfunzionamenti a non finire, difficili da diagnosticare e particolarmente fastidiosi.

Per chi se lo chiedesse: SI, mi è appena successo, e visto che la mia infrastruttura VoIP proprio non gradisce, ho cercato in rete un sistema per identificare eventuali server DHCP non autorizzati sulla rete.

Ho così fatto conoscenza con “dhcp_probe“, sviluppato dalla Princeton University, che:

dchp_probe attempts to discover DHCP and BootP servers on a directly-attached Ethernet network. A network administrator can use this tool to locate unauthorized DHCP and BootP servers.

Provato e funzionante sia su Ubuntu 13.04 che su Debian 6. Unici requisiti sono le build_essential, libpcap e libnet:

sudo apt-get install build-essential
sudo apt-get install libpcap-dev
sudo apt-get install libnet-dev

dopo di che si procede con il download, lo scompattamento e la compilazione del demone:

wget http://www.net.princeton.edu/software/dhcp_probe/dhcp_probe-1.3.0.tar.gz
tar xzf dhcp_probe-1.3.0.tar.gz
cd dhcp_probe-1.3.0
./configure
make 
sudo make install

[alert style=”yellow”] RTFM: i file README che trovate all’interno della directory non sono lì per bellezza ! [/alert]

Se tutto è andato a buon fine (controllate gli output per eventuali errori), procediamo con la semplice configurazione del tutto, attraverso il file dhcp_probe.cf che dovete copiare in /etc:

cp extras/dhcp_probe.cf.sample /etc/dhcp_probe.cf

Adesso adattiamolo alla nostra rete, leggendo per bene le istruzioni. In particolare considerate:

# LEGAL SERVERS' IP SOURCE ADDRESSES

e/o

# LEGAL SERVERS' ETHERNET SOURCE ADDRESSES

inoltre potete indicare un comando da eseguire in caso di scoperta alla voce:

# ALERT PROGRAM NAME

sempre nella directory extras/ ci sono alcuni script in PERL per l’invio automatico di una mail di alert nel caso il sistema scopra server DHCP non autorizzati. Personalmente ho implementato proprio quanto suggerito, copiando i files:

cp extras/dhcp_probe_notify2  /usr/local/etc/dhcp_probe_notify2
cp extras/mail-throttled /usr/local/etc/mail-throttled

editando i parametri contenuti nelle prime righe di dhcp_probe_notify2:

$THROTTLE_MAIL_CMD = "/usr/local/etc/mail-throttled";
$THROTTLE_MAIL_TIMEOUT = 600; # seconds
$THROTTLE_MAIL_FROM = "root"; # e.g. "root"
$THROTTLE_MAIL_RECIPIENT = "sysadmin\@zerozone.it";
$THROTTLE_MAIL_SUBJECT = "unexpected BootP/DHCP server";

Ricordatevi di mettere il carattere di escape ‘\’ davanti alla @ nell’indirizzo e-mail !

A questo punto possiamo provare il funzionamento del nostro dhcp_probe eseguendolo senza il fork da utente root:

root@zerozone.it:~# dhcp_probe -f eth0
note: starting, version 1.3.0
warn: received unexpected response on interface eth0 from BootP/DHCP server with IP source 172.16.xx.xx (ether src 0:13:8f:xx:xx:xx).

Come vedete nell’esempio, è stato appena trovato un server DHCP non autorizzato nella rete collegata all’interfaccia eth0.

A questo punto, se siete soddisfatti, potete eseguire il vostro dhcp_probe senza ‘-f‘ e dormire sonni (informatici) tranquilli.

Questo articolo è stato visto 158 volte (Oggi 1 visite)

Hai trovato utile questo articolo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.