Monitorare l'attività ARP con Arpwatch: differenze tra le versioni
Nessun oggetto della modifica |
m (verificata per Stretch e Buster) |
||
(12 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
==Monitorare l'attività di una rete LAN con Arpwatch | {{Versioni compatibili|Jessie|Stretch|Buster}} | ||
__TOC__ | |||
==Monitorare l'attività di una rete LAN con Arpwatch: introduzione== | |||
Arpwatch è un ottimo strumento per sistemi Unix-like che tiene monitorata tutta l'attività ARP di una rete LAN Ethernet IPv4, intercettando ogni pacchetto di broadcast ARP che giunge sull'interfaccia di rete configurata. Appena avviato, Arpwatch genera un log contenente tutte le coppie '''Indirizzo IP / Indirizzo MAC''' associate ai PC della LAN, correlandole a un timestamp che indica quando la coppia monitorata è stata rilevata nella rete LAN.<br/> | Arpwatch è un ottimo strumento per sistemi Unix-like che tiene monitorata tutta l'attività ARP di una rete LAN Ethernet IPv4, intercettando ogni pacchetto di broadcast ARP che giunge sull'interfaccia di rete configurata. Appena avviato, Arpwatch genera un log contenente tutte le coppie '''Indirizzo IP / Indirizzo MAC''' associate ai PC della LAN, correlandole a un timestamp che indica quando la coppia monitorata è stata rilevata nella rete LAN.<br/> | ||
Ogni cambiamento rispetto al database contenuto nel log, come ad esempio l'aggiunta di nuovo host o la modifica del | Ogni cambiamento rispetto al database contenuto nel log, come ad esempio l'aggiunta di nuovo host o la modifica del MAC address di un host già aggiunto (sintomo o del cambio della scheda di rete di un computer o del cambio dell'host associato ad un IP o - e questo è l'aspetto più importante - di attività di ARP poisoning, tipiche di sniffer per ambienti switchati come <code>ettercap</code>) viene notificato via mail (di default a root) e su syslog. Alla prima esecuzione è normale ricevere varie mail per tutti gli host in rete, successivamente verranno notificate solo le variazioni e su queste, se non sono previste, è sempre bene indagare. Nelle notifiche vengono segnalati l'indirizzo IP coinvolto e il vecchio e il nuovo MAC address.<br/> | ||
Per la cattura dei pacchetti broadcast Arpwatch si appoggia alla libreria libpcap. | Per la cattura dei pacchetti broadcast Arpwatch si appoggia alla libreria <code>libpcap</code>. | ||
Per installare | ==Installazione== | ||
Per installare <code>arpwatch</code> basta installare l'omonimo pacchetto. Per esempio con [[privilegi di amministrazione]]: | |||
<pre> | <pre> | ||
# apt | # apt install arpwatch | ||
</pre> | </pre> | ||
La configurazione è contenuta nel file < | |||
==Configurazione== | |||
La configurazione è contenuta nel file <code>'''/etc/arpwatch.conf'''</code>: | |||
<pre> | <pre> | ||
# /etc/arpwatch.conf: Debian-specific way to watch | # /etc/arpwatch.conf: Debian-specific way to watch | ||
Riga 25: | Riga 29: | ||
eth0 -a -n 192.168.0.0/24 -m amministratore@dominio.local | eth0 -a -n 192.168.0.0/24 -m amministratore@dominio.local | ||
</pre> | </pre> | ||
Per funzionare, | In questo esempio si specifica di controllare la rete LAN 192.168.0.0/24, inviando mail all'indirizzo indicato per notifica, e includendo anche pacchetti ''bogon'', ossia con indirizzi IP sorgente fasulli (opzione <code>-a</code>) perché esterni alla LAN. | ||
Il comportamento di default, in assenza di personalizzazioni in questo file (che inizialmente è interamente commentato), è di inviare una mail a root (localmente) e aggiornare i log del sistema per ogni inizializzazione e cambiamento apportato agli indirizzi MAC della rete, ignorando quelli relativi a pacchetti ''bogon'' (opzione <code>-N</code>) e senza utilizzare una modalità promiscua (opzione <code>-p</code>), ossia intercettando soltanto i pacchetti broadcast o comunque indirizzati all'host. Per modificare il solo default, basta modificare <code>'''/etc/default/arpwatch'''</code>: | |||
<pre> | |||
# Global options for arpwatch(8). | |||
# Debian: don't report bogons, don't use PROMISC. | |||
ARGS="-N -p" | |||
# Debian: run as `arpwatch' user. Empty this to run as root. | |||
RUNAS="arpwatch" | |||
</pre> | |||
Per motivi di sicurezza il demone <code>arpwatch</code> è eseguito come utente non privilegiato, con il nome utente definito dalla variabile <code>RUNAS</code>. | |||
Possibili variazioni: | |||
* controllare tutti i pacchetti, anche relativi a ''bogon'', indicando <code>-a</code> anziché <code>-N</code> (generalmente sono filtrati); | |||
* modalità promiscua, rimuovendo l'opzione <code>-p</code>. Ha senso in particolare se l'host non deve soltanto proteggere la propria tabella di routing, ma monitorare tutte le variazioni nella LAN, in modo da proteggere anche gli altri host collegati; | |||
* non inviare mail, aggiungendo l'opzione <code>-Q</code> tutti i cambiamenti saranno registrati soltanto nei log; | |||
* ignorare un range di indirizzi IP (per esempio per non registrare DHCP, in caso si registrino anche i ''bogon'') con l'opzione <code>-z</code>. | |||
Per funzionare, <code>arpwatch</code> richiede che sullo stesso PC sia installato un mail transfer agent (come ad esempio sendmail, postfix o exim). | |||
==Esempio di email di alert== | |||
Mail con oggetto "'''FLIP FLOP'''" o "'''Change ethernet address'''", come ad esempio la seguente, potrebbero essere la spia di un attacco in atto sulla LAN. | Mail con oggetto "'''FLIP FLOP'''" o "'''Change ethernet address'''", come ad esempio la seguente, potrebbero essere la spia di un attacco in atto sulla LAN. | ||
<pre> | <pre> | ||
Riga 45: | Riga 69: | ||
previous timestamp: Tuesday, June 25, 2008 23:47:21 +0100 | previous timestamp: Tuesday, June 25, 2008 23:47:21 +0100 | ||
</pre> | </pre> | ||
< | |||
< | ==Manuale== | ||
<code>man arpwatch</code> | |||
{{Autori | |||
|Autore= [[Utente:Ferdybassi|Ferdybassi]] | |||
|Estesa_da= | |||
:[[Utente:HAL 9000|HAL 9000]] | |||
|Verificata_da= | |||
:[[Utente:HAL 9000|HAL 9000]] 09:49, 28 lug 2019 (CEST) | |||
|Numero_revisori=1 | |||
}} | |||
---- | ---- | ||
[[Categoria: | [[Categoria:Configurazione ethernet]] | ||
[[Categoria: | [[Categoria:Monitoraggio]] | ||
Versione attuale delle 07:49, 28 lug 2019
Versioni Compatibili Debian 8 "jessie" Debian 9 "stretch" Debian 10 "buster" |
Monitorare l'attività di una rete LAN con Arpwatch: introduzione
Arpwatch è un ottimo strumento per sistemi Unix-like che tiene monitorata tutta l'attività ARP di una rete LAN Ethernet IPv4, intercettando ogni pacchetto di broadcast ARP che giunge sull'interfaccia di rete configurata. Appena avviato, Arpwatch genera un log contenente tutte le coppie Indirizzo IP / Indirizzo MAC associate ai PC della LAN, correlandole a un timestamp che indica quando la coppia monitorata è stata rilevata nella rete LAN.
Ogni cambiamento rispetto al database contenuto nel log, come ad esempio l'aggiunta di nuovo host o la modifica del MAC address di un host già aggiunto (sintomo o del cambio della scheda di rete di un computer o del cambio dell'host associato ad un IP o - e questo è l'aspetto più importante - di attività di ARP poisoning, tipiche di sniffer per ambienti switchati come ettercap
) viene notificato via mail (di default a root) e su syslog. Alla prima esecuzione è normale ricevere varie mail per tutti gli host in rete, successivamente verranno notificate solo le variazioni e su queste, se non sono previste, è sempre bene indagare. Nelle notifiche vengono segnalati l'indirizzo IP coinvolto e il vecchio e il nuovo MAC address.
Per la cattura dei pacchetti broadcast Arpwatch si appoggia alla libreria libpcap
.
Installazione
Per installare arpwatch
basta installare l'omonimo pacchetto. Per esempio con privilegi di amministrazione:
# apt install arpwatch
Configurazione
La configurazione è contenuta nel file /etc/arpwatch.conf
:
# /etc/arpwatch.conf: Debian-specific way to watch # multiple interfaces. # Format of this configuration file is: # #<dev1> <arpwatch options for dev1> #<dev2> <arpwatch options for dev2> #... #<devN> <arpwatch options for devN> # # You can set global options for all interfaces by editing # /etc/default/arpwatch eth0 -a -n 192.168.0.0/24 -m amministratore@dominio.local
In questo esempio si specifica di controllare la rete LAN 192.168.0.0/24, inviando mail all'indirizzo indicato per notifica, e includendo anche pacchetti bogon, ossia con indirizzi IP sorgente fasulli (opzione -a
) perché esterni alla LAN.
Il comportamento di default, in assenza di personalizzazioni in questo file (che inizialmente è interamente commentato), è di inviare una mail a root (localmente) e aggiornare i log del sistema per ogni inizializzazione e cambiamento apportato agli indirizzi MAC della rete, ignorando quelli relativi a pacchetti bogon (opzione -N
) e senza utilizzare una modalità promiscua (opzione -p
), ossia intercettando soltanto i pacchetti broadcast o comunque indirizzati all'host. Per modificare il solo default, basta modificare /etc/default/arpwatch
:
# Global options for arpwatch(8). # Debian: don't report bogons, don't use PROMISC. ARGS="-N -p" # Debian: run as `arpwatch' user. Empty this to run as root. RUNAS="arpwatch"
Per motivi di sicurezza il demone arpwatch
è eseguito come utente non privilegiato, con il nome utente definito dalla variabile RUNAS
.
Possibili variazioni:
- controllare tutti i pacchetti, anche relativi a bogon, indicando
-a
anziché-N
(generalmente sono filtrati); - modalità promiscua, rimuovendo l'opzione
-p
. Ha senso in particolare se l'host non deve soltanto proteggere la propria tabella di routing, ma monitorare tutte le variazioni nella LAN, in modo da proteggere anche gli altri host collegati; - non inviare mail, aggiungendo l'opzione
-Q
tutti i cambiamenti saranno registrati soltanto nei log; - ignorare un range di indirizzi IP (per esempio per non registrare DHCP, in caso si registrino anche i bogon) con l'opzione
-z
.
Per funzionare, arpwatch
richiede che sullo stesso PC sia installato un mail transfer agent (come ad esempio sendmail, postfix o exim).
Esempio di email di alert
Mail con oggetto "FLIP FLOP" o "Change ethernet address", come ad esempio la seguente, potrebbero essere la spia di un attacco in atto sulla LAN.
From: "Arpwatch" <arpwatch@dominio.local> To: <ferdy@dominio.local> Sent: Tuesday, February 26, 2008 4:13 PM Subject: flip flop (preview) eth0 hostname: vm-debian ip address: 192.168.0.42 interface: eth0 ethernet address: 0:40:f4:b1:a5:88 ethernet vendor: Cameo Communications, Inc. old ethernet address: 0:c:29:47:3f:f7 old ethernet vendor: Vmware Inc. timestamp: Tuesday, August 27, 2008 19:21:01 +0100 previous timestamp: Tuesday, June 25, 2008 23:47:21 +0100
Manuale
man arpwatch
Guida scritta da: Ferdybassi | Debianized 40% |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |