Стоит у нас на работе оранжевая такая Safe@Office 500 “дура” от CheckPoint. Потипу роутер + антивирус, МЭ, VPN и все-что-нужно-для-маленького офиса.

Собственно брали потестить, но прижилась. Одна проблема – отчеты, она их не умеет, точнее показывает лог за небольшой период (ну или я не нашел :) ).  Они с одной стороны не нужны никому, а с другой стороны всетаки обидно – может кто то к нам ломится, а я и не знаю. По идее я и не должен знать,  должность другая,  но мне же интересно!

В итоге давно, когда читал про syslog, завернул какие-то логи с этой “дуры” на другую машину, и там они долго-долго копились. А тут мы взяли сотрудника на испытательный срок, он его успешно провалил и стало интересно, чем же он вместо работы занимался…

Итак – общий смысл такой, сначала делаем из общего лога (логов) интересующую выборку (например все пакеты от “Васи”, или все “прибитые пакеты”), и анализируем ее, например, по следующим критериям:

“Анализ пользователя”
1. Список хостов, которые посещал Вася, (с сортировкой по популярности + первые 20 отдельно резолвятся в имена)
2. Список портов, на который ломился Вася (с сортировкой по популярности)

Все “прибитые пакеты”
1. Список таргет-хостов – “куда хотели прорваться пакеты” с сортировкой по популярности
2. Отдельный список из 20 таргет хостов, с именами (отрезолвлеными).
3. Список популярных заблокированных портов (с сортировкой по популярности)
4. Список сорс-хостов – “потенциальных нарушителей”.

В моем случае стало видно что:
1. В инет рвутся восновном внутренние виртуалки, которым настройки прописаны но доступ не дан.
2. Нарушители рвутся восновном на корневые днс сервера, и на сервера апдейтов касперского. см п.1.
3. По портам нарушители DNS, SAMBA и DHCP. Что впрочем правильно (DNS наружу разрешен только нашему DNS)
4. С наружи к нам особо никто не ломится.

Выводы..  Скрипты в общем то жуть какие простые, но в этом и в общем соль, все оказалось просто. Но с точки зрения статистики неудобно анализировать пользователей – мало что говорят цифры 20 000 посещений сервера крупного хостера, например cp333.agava.net… но – каков лог, таков и приход. :)

Скрипты вложил, основные скрипты
analyse [Ip.addr.e.s] (анализ пользователя)
secreport (отчет по заблокированным пакетам)

При этом “внутре” этих скриптов нужно прописать путь к логам и куда класть статистику.

Кусок изначального лога:

Nov  1 00:00:00 webserver newsyslog[19521]: logfile turned over
Nov  1 00:00:01 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:08 00:08:da:56:1c:90 <50000> Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1073 Dst:94.100.177.6 DPort:110 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:34 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:17 00:08:da:56:1c:90 <50000> Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:128.8.10.90 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:44 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:36 00:08:da:56:1c:90 <50000> Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.41.0.4 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:46 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:38 00:08:da:56:1c:90 <50000> Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1074 Dst:74.125.79.111 DPort:995 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 <50000> Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.32.64.12 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 <50000> Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:193.0.14.129 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:49 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:44 00:08:da:56:1c:90 <50000> Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:192.36.148.17 DPort:53 IPP:17 Rule:39 Interface:LAN

Пример отчета (заблокированные порты):

37757 53
3650 137
1368 67
288 80
179 123
63 138
22 5222
18 8080
8 6881
6 2002

Порты пользователя:

10820 80
240 443
68 53
10 5222
8 6881
6 5190
6 123

Заблокированные таргет-хосты:

4338 193.0.14.129 129.14.0.193.in-addr.arpa domain name pointer k.root-servers.net.
4330 198.41.0.4 4.0.41.198.in-addr.arpa domain name pointer a.root-servers.net.
4330 198.32.64.12 12.64.32.198.in-addr.arpa domain name pointer as-20144-has-not-registered-the-use-of-this-prefix.
4329 192.36.148.17 17.148.36.192.in-addr.arpa domain name pointer i.root-servers.net.
4311 192.58.128.30 30.128.58.192.in-addr.arpa domain name pointer j.root-servers.net.
3722 202.12.27.33 33.27.12.202.in-addr.arpa domain name pointer m.root-servers.net.

Статистика по хостам пользователя:

242 88.212.196.101 101.196.212.88.in-addr.arpa is an alias for 101.64/26.196.212.88.in-addr.arpa. 101.64/26.196.212.88.in-addr.arpa domain name pointer host01.rax.ru.
233 91.212.60.162 162.60.212.91.in-addr.arpa domain name pointer h0001.friendit.net.
233 78.140.142.125 Host 125.142.140.78.in-addr.arpa. not found: 3(NXDOMAIN)
223 88.212.196.102 102.196.212.88.in-addr.arpa is an alias for 102.64/26.196.212.88.in-addr.arpa. 102.64/26.196.212.88.in-addr.arpa domain name pointer host02.rax.ru.
219 94.100.178.219 219.178.100.94.in-addr.arpa domain name pointer top9.mail.ru.
191 83.222.4.246 Host 246.4.222.83.in-addr.arpa. not found: 3(NXDOMAIN)
191 217.73.200.222 222.200.73.217.in-addr.arpa domain name pointer tns-counter.ru.
190 93.186.225.1 1.225.186.93.in-addr.arpa domain name pointer cs11.vkontakte.ru.
175 174.37.230.144 144.230.37.174.in-addr.arpa domain name pointer 174.37.230.144-static.reverse.softlayer.com.
160 93.186.224.23 23.224.186.93.in-addr.arpa domain name pointer cs23.vkontakte.ru.

Пример работы:

[dimka@webserver ~]$ analyze 192.168.0.131
rm: /hdd2/stat/192.168.0.131.dat: No such file or directory
rm: /hdd2/stat/192.168.0.131.hosts: No such file or directory
rm: /hdd2/stat/192.168.0.131.stat: No such file or directory
analysing /var/log/checkpoint.0.bz2...
analysing /var/log/checkpoint...
get dest ports...
counting port stats...
get unique destinations...
counting destination stats...
sorting...
resolving...
[dimka@webserver ~]$

PS врятли кому то интересно, но файл со скриптом я счас попробую залить. Хотябы для себя )  Архив