
Сетевой сенсор трафика
Tsusen (津波センサー) — это автономный сетевой сенсор, предназначенный для сбора информации из обычного трафика, поступающего извне (т.е. из Интернета) на ежедневной основе (например, массовые сканирования, сканирования сервисов и т.д.). Любые аномалии следует внимательно отслеживать, так как они могут стать хорошей основой для прогнозирования предстоящих событий. Например, эксплуатация недавно обнаруженной уязвимости веб-сервиса (например, Heartbleed) должна вызвать заметный «всплеск» общего числа «вторжений» на затронутый сетевой порт.
Следующий набор команд поможет запустить ваш сенсор Tsusen (из коробки с настройками по умолчанию, интерфейсом мониторинга any и HTTP-интерфейсом отчетности на порту по умолчанию 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
Результаты работы сенсора сохраняются локально в CSV-файлах на ежедневной основе (например, 2015-10-27.csv) с периодической (сбросовой) записью данных текущего дня (например, каждые 15 минут). Пример результатов:
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
...
где proto (например, в первой записи это TCP) обозначает протокол, использованный инициатором с адреса src_ip (например, в первой записи это 222.186.56.107) по направлению к нашему сервису <dst_ip:dst_port> (например, в первой записи это 192.165.63.181:1080), first_seen — это время (первой за этот день) попытки подключения в формате Unix timestamp (например, в первой записи это 1446188056, что соответствует Fri, 30 Oct 2015 06:54:16 GMT), last_seen — (последняя за этот день) попытка подключения (например, в первой записи она совпадает со значением first_seen), а count содержит общее количество попыток подключения.
Доступ к результатам можно получить через HTTP-интерфейс отчетности (Примечание: порт по умолчанию — 8339):
Данное программное обеспечение предоставляется по лицензии MIT. См. прилагаемый файл LICENSE для получения дополнительной информации.