Анализ посещаемости интернета через Mikrotik

Posted by

Когда используется прозрачный для пользователь прокси сервер умеющий лишь ограничивать доступ к ресурсам работающим через не зашифрованное соединение, то хочет даже и для этого иметь возможность формировать статистику, отчеты. Лучше все же иметь такую заметку по шагам проделывающую и достигающую поставленной задачи, чем ждать когда вдруг попросят такое предоставить — а нужно это будет вот прям сейчас, а не потом. Действия системного администратора (настоящего, а не ленивого, который ждет когда его смена закончится и можно будет строить планы на выходные) не должны зависеть от задачи которая в будущем будет поставлена, лучше опередить события. Короче, ранее я показал как настроить Web Proxy на сетевом оборудовании производителя , сейчас же я на основе нее разберу как сформировывать отчет использования интернета на рабочих местах.

Также не забываем прописать правило разрешающее доступ из сети (на которой настроен Web Proxy) на адрес системы где развернуто приложение по анализу проходящего трафика, ниже настройка правила для моего случая:

[admin@MikroTik] > ip firewall address-list print

Flags: X — disabled, D — dynamic

# LIST ADDRESS TIMEOUT

0 local 10.7.8.0/24

1 local 192.168.13.0/24

2 local 10.7.7.0/24

[admin@MikroTik] > ip firewall filter print

Flags: X — disabled, I — invalid, D — dynamic

0 chain=forward action=drop src-address=192.168.44.0/24

dst-address=!10.7.8.38 dst-address-list=local log=no log-prefix=»»

После того, как WebProxy на Mikrotik настроен и используется переходим в элемент логирования:

windox — IP&MAC — user&pass — System — Logging — вкладка Actions — Add

  • Name: WebLogProxy
  • Type: remote
  • Remote Address: 10.7.8.38
  • Remote Port: 514
  • Src. Address: 0.0.0.0
  • BSD Syslog: Отмечаю галочкой
  • Syslog Facility: 5 (syslog)

А после нажимаем ApplyOK, затем все также находясь в элементе логирования Logging переходим на вкладку Rules (Правила) — Add

  • Topics: web-proxy, !debug (не включать события отладки)
  • Prefix: делаю пометку и пишу proxy
  • Action: WebLogProxy

А после нажимаем ApplyOK

После чего нужно добавить еще одно правило в NAT для пересылки всех сообщений генерируемых Mikrotik на систему в частности это будет рабочая станция под управлением Windows 7 Professional SP1 на которую в последствии будет развернута программа по сбору и обработке логов именуемая, как WebProxy-Log:

windox — IP&MAC — user&pass — IP — Firewall — вкладка NAT — Add

General:

  • Chain: dstnat
  • Protocol: 17(udp)

Action:

  • Action: dst-nat
  • To Addrresses: 10.7.8.38
  • To Ports: 514

А после нажимаем ApplyOK, где 10.7.8.38 — это IP-адрес рабочей станции (W7X86) на которую я сейчас поставлю приложение WebProxy-Log предварительно скачав его с официального сайта:

https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/webproxy-log/webproxy-log-setup-1504b.exe

Отключаю брандмауэр на системе прежде чем запустить установщик:

C:\Windows\system32>NetSh Advfirewall set allprofiles state off

ОК.

Создаю каталог для хранения логов:

C:\Users\aollo>mkdir c:\logs\daily

Права доступа у этого каталога должны быть следующими:

C:\Windows\system32>icacls c:\logs

c:\logs BUILTIN\Администраторы:(OI)(CI)(F)

NT AUTHORITY\система:(OI)(CI)(F)

NT AUTHORITY\Прошедшие проверку:(OI)(CI)(M)

Если по-русски, то отключено наследование, и у всех пользователей прошедших проверку на запись полный доступ в данный каталог.

Запускаю установщик скачанного приложения (webproxy-log-setup-1504b).

Select the language to use during the installation: English

Select Components: Full db access, log catching and import

После запускаю с рабочего стола ярлык: WebProxy Log (wplog.exe) и тут ну в прочем как обычно чего-то в системе Windows 7 x86 не хватает, а именно: Macromedia Flash ActiveX Control 6.0.0.0 (https://get.adobe.com/ru/flashplayer/), можно прервать установку и устранить, а можно проигнорировать — я выбрал пока второй вариант, следом появилось запущенное окно настроек программы где нужно указать:

  • IP address: 10.7.8.38
  • UDP Port: 514
  • Buffer: 200
  • Write log to: (Месторасположение файла журнала): C:\logs\daily
  • Import from: (Месторасположение файл журнала при импорте):

C:\logs\

  • DB location: C:\Users\aollo\AppData\Local\e-software\WebProxy\db.sqlite
  • Use insecure import: Отмечаю галочкой
  • Optimize database after log import: Отмечаю галочкой

и не забываем сохранить и применить внесенные изменения нажатием по кнопке ApplyДаДаOK (надпись: Settings are successfully saved!) — Да, окно настроек можно закрыть крестиком.

Проверяю, что система ожидает прием логов на порт 514:

C:\Users\aollo>netstat -a | findstr :514

UDP 10.7.8.38:514 *:*

Все отлично двигаюсь дальше.

На заметку:

  • WebProxy Log Cathcer — утилита целью которой является поднятие syslog сервера на платформе Windows, в него точно такие же задачи как если бы я его развернул на Ubuntu системе, а именно: сбор логов. Плохо то что это просто утилита, а не сервис.
  • WebProxy Log — оболочка посредством которой происходит визуализация накопленных логов в базу данных db.sqlite

После в окне программы (WebProxy Log * 1.5.0.4 BETA) проделываем следующее:

File — Import Logs —

*.log files source location: C:\logs\

Archive import *.log files: снимаем галочку, т. к. хотим видеть статистику посещений за больший период.

Следом нажимаем Import

Успешно импортировались логи с Mikrotik'а

После чего уже в основном интерфейсе программы WebProxy Log (1.5.0.4 BETA),

выбираю пользователя (Select user: 192.168.44.254), у меня один тестовый компьютер который подключен к сети 192.168.44.0/24, затем выбираю дату или диапазон (From: 25.06.2016 To: 25.06.2016) и нажимаю Generate.

Вот она статистика

Вот она статистика - но информативности в ней ноль

На заметку: может так случиться что Ваша система не будет подхватывать логи посылаемые ей другими системами, в этом случае попробуйте просто ее перезагрузить и после зайдя в каталог c:\logs\ обнаружите сформированные файлы:

Куда складываются логи получаемые с Mikrotik'а

Чтобы подгрузить новую статистику порядок действий следующий:

На заметку: Порой Вам будет казать, что все это не работает, но я хочу разубедить Вас — оно работает, просто по большей части большинство популярных ресурсов переходят с http на https префикс в доступе к своим ресурсам, а данный web proxy это не понимает и потому и не логирует.

Пуск — Все программы — WebProxy Log —File — Import logs, проверяю, что

*.log files source location: c:\logs\

и галочки сняты с настроек: Backup database & Archive imported *.log files

а после нажимаем кнопку Import, если же файл текущей даты не изменился, к примеру как у меня: C:\logs\daily2016-06-25.log. То нужно завершить процесс организации syslog-сервера на этот системе и запустить все заново, к примеру через bat-файл запущенный с правами Администратора:

taskkill /F /IM wplcatcher.exe /T

taskkill /F /IM wplog.exe /T

После запускаем все по новой или же подождать и снова попробовать Import.

На заметку: При перезагрузке системы WebProxy Log запуститься автоматически, т. к. он прописан в меню «Автозагрузка»: «C:\Users\aollo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WebProxy Log Catcher.lnk»

Итак, я смог самое главное для себя разобрать как сформировывать отчеты включенной настройки прокси на Mikrotik’е, вот только они не особо информативны и вызывают стойкое желание вообще забросить эту идею, сюда бы sarg было бы более информативно. На кого рассчитана эта программа не известно. Вообще я просто хотел опробовать многочисленные упоминания встречаемые мною в интернете дабы потом уже на основе этого усовершенствовать формирование логов хождения пользователями по всемирной паутине. Ладно хватит шутить на эту тему, более или менее заметка работоспособна и цель поставленная в самом начале данной заметки выполнена. А пока собственно и все, с уважением автор блога — ekzorchik.