Mikrotik история посещения сайтов

Представим ситуацию: вы работаете в офисе, где в качестве маршрутизатора используется Mikrotik, вы также знаете какой-то язык программирования, и вам необходимо реализовать сбор информации о посещении сайтов сотрудниками. Разберем процесс импорта статистики посещений с помощью маршрутизатора Mikrotik и простой утилиты под WindowsWebProxy-Log.

WebProxy-Log являет собой приложение, которое собирает логи с маршрутизатора Mikrotik для последующей обработки. Также данная программа имеет интерфейс просмотра журналов. Самое важное получить данный файл логов, а потом уже, с помощью созданного скрипта, можно выводить статистику в нужном нам формате.

Открываем панель управления маршрутизатором Mikrotik через Winbox. Далее вкладку "IP => Web Proxy". На вкладке General устанавливаем галку рядом с Enabled и вводим параметры точно так же, как на изображении:

Далее заходим в "System => Logging". На вкладке Action нажимаем на "+". Поле "Name" изменяем на "WebProxyLog", "Type" изменяем на "remote". В поле "Remote Address" пишем адрес компьютера на котором установлена программа WebProxy-Log.

Переходим во вкладку "Rules", нажимаем на "+". В поле "Topics" выбираем "web-proxy", в поле "Prefix" пишем "Proxy", а на вкладке "Action" выбираем "WebProxyLog".

Теперь открываем New Termenal и пишем правило для NAT:
И открываем UDP порт под номером 514.
На данном этапе настройка Mikrotik завершена. Теперь передаем эстафету программе WebProxy-Log.

Устанавливаем и запускаем программу, после чего в окне "General settings" указываем IP address: 192.168.1.50. "UDP Port" указываем 514, "Buffer" указываем "400", "Write log to" Указываем путь на каталог, где будет лежать файл журнала, в параметре "Import from" указываем путь на каталог, откуда будет импортироваться файл журнала, путь "DB location" оставляем по умолчанию.

Если файлы логов не создаются, проверьте параметры брандмауэра. Должен быть разрешен для входящих соединений 514 порт по протоколу UDP.

Далее с помощью программы мы можем получать статистику посещений, но, самое главное, у нас каждый день формируются текстовые файлы с записями логов, которые мы можем разбирать в любом необходимом нам формате.

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

Читайте также:  Как выровнять текст в инстаграме под фото

Также не забываем прописать правило разрешающее доступ из сети (на которой настроен 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

  • Chain: dstnat
  • Protocol: 17(udp)
  • Action: dst-nat
  • To Addrresses: 10.7.8.38
  • To Ports: 514

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

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

C:Windowssystem32>NetSh Advfirewall set allprofiles state off

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

C:Usersaollo>mkdir c:logsdaily

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

Читайте также:  Что такое телекард газпромбанк

C:Windowssystem32>icacls c:logs

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:logsdaily
  • Import from: (Месторасположение файл журнала при импорте):

C:logs

  • DB location: C:UsersaolloAppDataLocale-softwareWebProxydb.sqlite
  • Use insecure import: Отмечаю галочкой
  • Optimize database after log import: Отмечаю галочкой

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

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

C:Usersaollo>netstat -a | findstr :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

После чего уже в основном интерфейсе программы 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 обнаружите сформированные файлы:

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

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

Читайте также:  Msi z87 g43 драйвера

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

*.log files source location: c:logs

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

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

taskkill /F /IM wplcatcher.exe /T

taskkill /F /IM wplog.exe /T

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

На заметку: При перезагрузке системы WebProxy Log запуститься автоматически, т. к. он прописан в меню «Автозагрузка»: «C:UsersaolloAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupWebProxy Log Catcher.lnk»

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

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще 🙂

Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Логировать обращения к 443 порту?

Можно еще с Layer7 поколдовать.

У меня вопрос почти аналогичный.
Задача следующая, как организовать логирование всех посещенных сайтов с записью по DNS имени? по сути мне необходима запись доменного имени до 2 уровня (включая второго).

НА коммутаторе есть! возможность зеркалировать порт !
Если была подобная тема то поделитесь ссылкой