
Sensore di traffico di rete
Tsusen (津波センサー) è un sensore di rete autonomo progettato per raccogliere informazioni dal traffico regolare proveniente dall'esterno (cioè Internet) su base quotidiana (ad esempio scansioni di massa, scanner di servizi, ecc.). Ogni anomalia dovrebbe essere attentamente monitorata poiché può diventare una buona base di previsione per eventi imminenti. Ad esempio, lo sfruttamento di una vulnerabilità di un servizio web appena scoperta (es. Heartbleed) dovrebbe generare un visibile "picco" nel numero totale di "intrusi" sulla porta di rete interessata.
Il seguente insieme di comandi dovrebbe far funzionare il tuo sensore Tsusen (pronto all'uso con impostazioni predefinite e interfaccia di monitoraggio any e interfaccia di report HTTP sulla porta predefinita 8339):
sudo apt-get install python-pcapy
sudo pip install python-geoip python-geoip-geolite2
cd /tmp/
git clone https://github.com/stamparm/tsusen.git
cd tsusen/
sudo python tsusen.py
I risultati del sensore vengono memorizzati localmente in file CSV su base giornaliera (ad es. 2015-10-27.csv) con scrittura periodica (flush) dei dati del giorno corrente (ad es. ogni 15 minuti). Esempi di risultati sono i seguenti:
proto dst_port dst_ip src_ip first_seen last_seen count
TCP 1080 192.165.63.181 222.186.56.107 1446188056 1446188056 1
TCP 1080 192.165.63.181 64.125.239.78 1446191096 1446191096 1
TCP 1081 192.165.63.181 111.248.100.185 1446175412 1446175412 1
TCP 1081 192.165.63.181 111.248.102.150 1446183374 1446183374 1
TCP 1081 192.165.63.181 36.225.254.129 1446170512 1446170512 1
TCP 1095 192.165.63.181 36.229.233.199 1446177047 1446177047 1
TCP 111 192.165.63.181 80.82.65.219 1446181028 1446181028 1
TCP 111 192.165.63.181 94.102.52.44 1446181035 1446181035 1
TCP 11122 192.165.63.181 222.186.56.39 1446198391 1446198391 1
TCP 11211 192.165.63.181 74.82.47.43 1446200598 1446200598 1
TCP 135 192.165.63.181 1.160.12.156 1446163293 1446163294 3
TCP 135 192.165.63.181 104.174.148.124 1446178211 1446178212 3
TCP 135 192.165.63.181 106.242.5.179 1446180063 1446180064 3
TCP 135 192.165.63.181 173.30.55.76 1446184279 1446195229 6
TCP 135 192.165.63.181 174.100.28.2 1446179470 1446202911 9
TCP 135 192.165.63.181 218.253.225.163 1446174945 1446195646 9
TCP 135 192.165.63.181 219.114.66.114 1446169303 1446183947 6
TCP 135 192.165.63.181 222.186.56.43 1446165515 1446202626 5
...
dove proto (ad es. nel primo inserimento è TCP) rappresenta il protocollo utilizzato dall'iniziatore proveniente da src_ip (ad es. nel primo inserimento è 222.186.56.107) verso il nostro servizio <dst_ip:dst_port> (ad es. nel primo inserimento è 192.165.63.181:1080), first_seen rappresenta il tempo del primo tentativo di connessione (di quel giorno) espresso in formato Unix timestamp (ad es. nel primo inserimento è 1446188056, che corrisponde a Fri, 30 Oct 2015 06:54:16 GMT), last_seen rappresenta l'ultimo tentativo di connessione (di quel giorno) (ad es. nel primo inserimento è uguale al valore di first_seen), mentre count contiene il numero totale di tentativi di connessione.
I risultati sono accessibili tramite l'interfaccia di report HTTP (Nota: la porta predefinita è 8339):
Questo software è fornito sotto una licenza MIT. Consulta il file LICENSE allegato per maggiori informazioni.