Анализ произвольных логов самописными скриптами
Posted on Ноябрь 2nd, 2009 in Checkpoint, FreeBSD, Linux | 2 Comments »
Стоит у нас на работе оранжевая такая 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 врятли кому то интересно, но файл со скриптом я счас попробую залить. Хотябы для себя ) Архив
2 Responses
Чем провалившийся “Вася” занимался, выяснили в итоге?
Вообще, лучше отдельный сквид поднять для таких целей, разруливание офисного доступа в инет на 3 уровне ни к чему хорошему не приведет.
Вася сидел вконтакте и на почте какого то футбольного сервера… И на каком то хостинге.. =(
Конечно – сквид решает, но я пока разгребал то что есть… Сквид у меня дома стоит, вместе с биндом.
“Это” не претендует на полноценное разруливание офисного доступа, это анализ лога произвольного формата “руками”. А сквид я планирую прикрутить втихаря в прозрачном режиме, как будет время =)
И.. спасибо за ваше мнение! =)