
Netzwerkverkehrssensor
Tsusen (津波センサー) ist ein eigenständiger Netzwerksensor, der zur täglichen Erfassung von Informationen aus dem regulären Datenverkehr von außen (z. B. Internet) entwickelt wurde (z. B. Massen-Scans, Service-Scanner usw.). Auffälligkeiten sollten genau beobachtet werden, da sie eine gute Vorhersagebasis für bevorstehende Ereignisse bieten können. Beispielsweise sollte die Ausnutzung einer neu entdeckten Webservice-Sicherheitslücke (z. B. Heartbleed) einen sichtbaren „Ausschlag“ der Gesamtzahl der „Eindringlinge“ auf dem betroffenen Netzwerkport erzeugen.
Mit den folgenden Befehlen sollte Ihr Tsusen-Sensor betriebsbereit sein (standardmäßig mit Überwachungsschnittstelle any und HTTP-Berichtsschnittstelle auf Standardport 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
Die Ergebnisse des Sensors werden lokal in CSV-Dateien täglich gespeichert (z. B. 2015-10-27.csv) mit periodischem (Leeren-)Schreiben der Daten des aktuellen Tages (z. B. alle 15 Minuten). Beispielergebnisse sind wie folgt:
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
...
wobei proto (z. B. im ersten Eintrag TCP) das Protokoll darstellt, das vom Initiator von src_ip (z. B. im ersten Eintrag 222.186.56.107) zu unserem Dienst <dst_ip:dst_port> (z. B. im ersten Eintrag 192.165.63.181:1080) verwendet wurde. first_seen ist der Zeitpunkt des (ersten) Verbindungsversuchs des Tages im Unix-Timestamp-Format (z. B. im ersten Eintrag 1446188056, was Fr, 30. Okt. 2015 06:54:16 GMT entspricht). last_seen ist der (letzte) Verbindungsversuch des Tages (z. B. im ersten Eintrag identisch mit first_seen), und count enthält die Gesamtzahl der Verbindungsversuche.
Auf die Ergebnisse kann über die HTTP-Berichtsschnittstelle zugegriffen werden (Hinweis: Standardport ist 8339):
Diese Software wird unter einer MIT-Lizenz bereitgestellt. Weitere Informationen finden Sie in der beigefügten LICENSE-Datei.