Mikrotik web proxy access: Управляем выходом в интернет через Mikrotik
Управляем выходом в интернет через Mikrotik
Прочитано:
8 881
Есть желание управлять доступом к ресурсам интернета для всех тех кто использует в корпоративной сети Wifi (или обычная LAN сеть) — это могут быть обычные клиенты которые находятся в зоне ожидания, так и офисные сотрудники с ноутбуками путешествующими по офисному зданию. Я предполагаю, а даже действительно знаю, что офисным сотрудникам в повседневной работе не нужен доступ к социальным сетям и многим засветившимся в логах ресурсам относящихся к отдыху.
Сегодня же я разберу для как активировать прозрачный для пользователей прокси с целью управления какие ресурсы можно, а какие нельзя. Все дальнейшие настройки будут происходить на Mikrotik 2011UiAS-2HnD.
Запускаю со своей рабочей системы (Lenovo E555 — Ubuntu 12.04.5 Desktop amd64 Gnome Classic) консоль командной строки: Приложения — Стандартные — Терминал и запускаю оснастку управления устройством(ами) Mikrotik:
ekzorchik@navy:~$ winbox
Winbox — IP&MAC — auth&pass — IP- Web Proxy
вкладка General:
Enabled: ставим галочку
Max Fresh Time: 1d 00:00:00
Serialize Connections: ставим галочку
остальные настройки оставляем дефолтными
(или же через консоль командной строки:
[ekzorchik@ekzorchik] > ip proxy set enabled=yes port=8080
)
Включаемм прозрачный прокси, т. е. все http запросы будем перенаправлять на порт proxy 8080:
Winbox — IP&MAC — auth&pass — IP — Firewall — вкладка NAT — Add
вкладка: General
Chain: dstnat
Protocol: 6 (tcp)
Dst. Port: 80
Src. Address: 192.168.1.0/24
вкладка: Action
Action: redirect
To Ports: 8080
(или же через консоль командной строки:
[ekzorchik@ekzorchik] > ip firewall nat add chain=dstnat src-address=192.168.1.0/24 dst-port=80 protocol=tcp action=redirect to-ports=8080 comment="Redirect to Proxy"
)
Если же помимо всех кому-то определенному нужен полный доступ в интернет (т. е. Без ограничений прокси), то настройки будут следующие:
Winbox — IP&MAC — auth&pass — IP — Firewall — вкладка: Address Lists — Add
Name: noProxy
Address: 192.168.1.5
и еще:
Name: toNotProxy
Address: либо сети локальной сети либо внешние узлы(ограниченные маской подсети): 10.7.8.0/24
А теперь расширенное правило вместо ранее добавленного для всех:
[ekzorchik@ekzorchik] > ip firewall nat add chain=dstnat src-address=192.168.1.0/24 dst-port=80 protocol=tcp action=redirect to-ports=8080 comment="Redirect to Proxy" src-address-list=!noProxy dst-address-list=!toNotProxy
а по настройкам без консоли это получается следующее:
Winbox — IP&MAC — auth&pass — IP — Firewall — Add
вкладка General:
Chain: dstnat
Protocol: 6 (tcp)
Dst. Port: 80
Src. Address: 192.168.1.0/24
вкладка Advanced:
Src. Address List: !noProxy
Dst. Address List: !toNotProxy
вкладка Action:
Action: redirect
To Ports: 80
Теперь можно регулировать доступ к узлам интернета, например запретим доступ к сайту vk.com,odnoklassniki.ru:
Winbox — IP&MAC — auth&pass — IP — Web Proxy — Access — Add
Src. Address: 192.168.1.0/24
Dst. Host: vk.com
Action: deny
После нажимаю Apply — Ok, а затем блокирующее правило нужно поставить первым, а все разрешающие после запрещающих.
По такому же принципу создаются новые правила для любых других ресурсов, также можно использовать символ звездочки, как элемент регулярных выражений.
Но вот каждый раз вносить новые узлы для блокировки через GUI не удобно, можно все то же самое делать из через подключение к Mikrotik через ssh:
ekzorchik@navy:~$ ssh -l ekzorchik 192.168.1.9
Отобразить текущие правила:
[ekzorchik@ekzorchik] > ip proxy access print
Flags: X — disabled
# DST-PORT DST-HOST PATH METHOD ACTION HITS
0 vk.com deny 2
Добавляю новые правила блокировки хостов:
[ekzorchik@ekzorchik] > ip proxy access add src-address=192.168.1.0/24 dst-host=*.odnoklassniki.ru action=deny
[ekzorchik@ekzorchik] > ip proxy access add src-address=192.168.1.0/24 dst-host=*.ok.ru action=deny
Еще одним напоминание пользователям будет использование настройки Redirect To: на сайт в Вашей внутренней сети на котором будет доходчиво доведено почему данный ресурс не открывается т. к. он не относится к рабочим моментам, а носит развлекательный характер.
Вот только данная возможность, как использование прозрачного прокси сервера с целью регулирования доступа к нежелательным ресурсам не распространяется на URL адреса в которых стоит префикс https (соединение происходит через 443 порт), а только на префикс http (соединение происходит через 80 порт). Префикс 443 предполагает что данные между Вами и удаленным ресурсом зашифрованы, а вот расшифровать данный вид трафика Mikrotik не умеет. Ну и что, не умеет и ладно, ведь не весь интернет базируется на безопасном исполнении.
Когда пользователь подключенный к Wifi обратится к ресурсам настроенным в правилах блокировки он получит вот такую вот дефолтную отбивку если конечно же не настроен редирект на поясняющую страницу:
ERROR: Forbidden
--------------------------------------------------------------------------------
While trying to retrieve the URL http://vk.com/:
•Access Denied
Your cache administrator is webmaster.
--------------------------------------------------------------------------------
Generated Mon, 06 Jun 2016 12:43:17 GMT by 192.168.1.9 (Mikrotik HttpProxy)
Теперь я хоть и в минимальном исполнении смогу регулировать доступ в интернет. Когда перед Вами стоит задача ограничить его использование даже любое действии хоть на малую часть выполняющее поставленную задачу во много раз лучше чем нечего не делание. Вот я и сделал один шаг, в дальнейшем я буду показывать все что узнал сам Вам, обучая других сам узнаешь больше. На этом я прощаюсь и до новых встреч, с уважением автор блога — ekzorchik.
Прозрачный Proxy-сервер с помощью MikroTik
В маршрутизаторы MikroTik встроен web-proxy, который можно использовать в режиме транспарентного прокси. Транспарентный — прозрачный для пользоватей прокси. Клиенты считают, что берут интернет с маршрутизатора используя NAT, но на деле все запросы к серверам до 80 порта переадресовываются на прокси MikroTik. Во первых как включается сам Web-proxy на MikroTik?. Во вторых как его можно использовать для ограничения доступа пользоватей к определённым сайтам? На эти вопросы ответит краткая статья по настройке Proxy на MikroTik
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Для тех кто не хочет тратить своё дорогое время на изучение данного мануала предлагаем нашу платную помощь.
Добавляется правило переадресующее запросы пользователей в ip/firewall/NAT Например для сети 10.0.0.0/24 оно выглядит так:
Можно использовать следующие комманды для терминала:
/ip firewall nat
add action=redirect chain=dstnat dst-port=80 protocol=tcp src-address=10.0.0.0/24 to-ports=8080
Активируем сам прокси. По умолчанию он работает на порту 8080. Идём в IP/Firrewall/Web Proxy и ставим галочку Enable
Комманда для терминала выглядит так:
/ip proxy
set cache-path=web-proxy1 enabled=yes max-cache-size=none parent-proxy=0.0.0.0
Теперь можно запрещать в настройках прокси-сервера доступ к узлам по url. Нажмём кнопочку Access и добавим например запрещающие правила на социальные сети и новостные сайты:
Правило будет переадресовывать пользователя обращающегося к www.tut.by на mail.tut.by
Правила фильтрации для терминала:
/ip proxy access
add action=deny dst-host=www.vk.com redirect-to=192.168.0.254
add action=deny dst-host=vk.com redirect-to=192.168.0.254
add action=deny dst-host=vkontakte.ru redirect-to=192.168.0.254
add action=deny dst-host=mamba.ru redirect-to=192.168.0.254
add action=deny dst-host=www.mamba.ru redirect-to=192.168.0.254
add action=deny dst-host=vkontakte.com redirect-to=192.168.0.254
add action=deny dst-host=www.vkontakte.com redirect-to=192.168.0.254
add action=deny dst-host=www.vkontakte.ru redirect-to=192.168.0.254
add action=deny disabled=yes dst-host=facebook.com redirect-to=192.168.0.254
add action=deny disabled=yes dst-host=www.facebook.com redirect-to=192.168.0.254
add action=deny dst-host=tut.by redirect-to=mail.tut.by
add action=deny dst-host=www.tut.by redirect-to=mail.tut.by
add action=deny disabled=yes dst-host=www.facebook.com redirect-to=192.168.0.254
Переадресация на 192.168.0.254 сделана не случайно — это сам MikroTik. Вместо этого рекомендуем сделать страничку на собственном Web сервере для указания того, что пользователям запрещён доступ к данному ресурсу…. Позволит уменьшить количество звонков на ваш мобильный.
В качестве дополнительной защиты рекомендуем с помощью DHCP раздать пользователям DNS сервера Yandex. Сервис позволяет ограничить доступ к сайтам со взрослым контентом и вирусами.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
IT Crowd | Настраиваем MikroTik
MikroTik — линейка довольно дешевого сетевого оборудования выпускаемого латвийской компанией Mikrotīkls Ltd.
Оборудование имеет большое количество возможностей и довольно удобный интерфейс настройки через фирменную программу WinBox.
Настройка происходила на маршрутизаторе MikroTik RB2011UiAS
1. Подключение к маршрутизатору MikroTik.
Настройка оборудования, как было написано выше, удобнее всего производить через WinBox
, доступный для скачки на официальном сайте MikroTik.
1.1 Подключение к маршрутизатору.
По умолчанию на ether1
порту установлен IP адрес 192.168.88.1
с маской подсети 255.255.255.0
, поэтому для простого подключения понадобится сдать сетевой карте компьютера IP-адрес из этой подсети. Логин для подключения admin
, а пароль — пустой.
1.2 Смена пароля пользователя.
Так как пароль по умолчанию отсутствует то необходимо его задать.
Сделать это можно в Systems - Users
. В появившемся окне открыть пользователя admin
и нажать кнопку Password
. В появившемся окне ввести новый пароль в полях New Password
и Confirm Password
.
1.3 Отключение и включение сервисов управления
Так же вам следует обратить внимание на сервисы управления маршрутизатором. Это можно сделать нажав IP - Services
. В появившемся окне будут указаны активированные и деактивированные сервисы управления. Можно оставить включенным только WinBox, если вы не собираетесь использовать другие. Важно обратить внимание на то, что бы указанные порты небыли доступны извне, что бы не нарушить безопасность оборудования.
2. Работа с IP-адресами.
2.1 Получение IP-адреса по DHCP.
Если требуется получить адрес от DHCP сервера провайдера или локального сервера, установленного в вашей сети то в WinBox необходимо нажать IP - DHCP Client
. В появившемся окне нажать «+» — это откроет диалог добавления DHCP клиента где в пункте Interfaces
необходимо выбрать порт, на котором необходимо получить адрес автоматически. В приведенном ниже примере DHCP клиент активирован на порту ether2-master.
2.2 Назначение IP-адреса интерфейсу.
Если вы собираетесь поднять DHCP сервер на вашем MikroTik маршрутизаторе то вам необходимо назначить нужным интерфейсам желаемые адреса. Для этого необходимо нажать IP - Addresses
. В появившемся окне нажать «+» — это откроет диалог назначения адреса. В приведенном ниже примере интерфейсу ether6-master назначен IP-адреса 10.100.0.254 с маской 255.255.255.0 и указана сеть этого адреса 10.100.0.0.
3 Включение DHCP сервера и назначение пулов адресов.
3.1 Создаем пул адресов для DHCP сервера.
Для правильной работы DHCP сервера необходимо создать пул адресов для необходимой нам сети. Для этого необходимо нажать IP - Pool
. В появившемся окне нажать «+» это откроет диалог создания пула адресов где необходимо указать имя пула в пункте Name
, указать диапазон адресов в пункте Addresses
и при необходимости указать дополнительный пул адресов на случай если создаваемый пул исчерпает свободные адреса. В приведенном ниже примере создан пул под названием DHCP Network Pool с диапазоном адресов от 10.100.0.2 до 10.100.0.200.
3.2 Запуск DHCP и DNS сервера на маршрутизаторе MikroTik.
Если в вашей сети нет DHCP сервера то встроенный в роутер DHCP сервер поможет решить эту проблему. Можно создать как для одной сети сервер так и для нескольких сетей. Для запуска сервера необходимо нажать IP - DHCP Server
. В появившемся окне, на вкладке DHCP необходимо нажать «+» — это откроет диалог создания DHCP сервера где необходимо в поле Name
ввести произвольное имя сервера, в поле Interface
выбрать интерфейс на котором будет работать данный DHCP сервер, в поле Lease Time
нужно указать срок аренды адресов, получаемых клиентами,в поле Address Pool
необходимо указать пул диапазонов адресов. В приведенном ниже примере создан сервер с именем Local на интерфейсе ether6-master с сроком аренды в 31 день и один час. Серверу назначен пул DHCP Network Pool, созданный в пункте 3.1
3.3 Определение параметров сети.
Для корректной работы клиентов необходимо чтобы DHCP сервер присылал правильные настройки сети. Задаются параметры в пункте IP - DHCP Server
. В появившемся окне, на вкладке Networks
необходимо нажать «+» — это откроет диалог создания параметров сети где в поле Address
вносим адрес сети, в поле Gateway
вносим адрес шлюза. Адрес шлюза это адрес интерфейса маршрутизатора «смотрящего» в эту сеть. В поле Netmask
вносим маску подсети — маску можно указать как в привычном формате 255.255.255.0 так и в формате бесклассовой адресации (CIDR) — 24. В поле DNS Servers
указываем адрес DNS сервера, который является адресом маршрутизатора. Его настройка рассмотрится в пункте 3.4. В поле Domain
вносим имя домена если есть. В приведенном ниже примере созданы параметры сети, адрес которой является 10.100.0.0/24, шлюзом 10.100.0.254. Маска подсети указана в формате CIDR — 24 что соответствует маске 255.255.255.0, а так же указано имя домена home.local.
Произведя изложенные выше манипуляции клиенты подключенные на интерфейс ether6-master будут получать IP-адрес из созданного пула и смогут взаимодействовать с маршрутизатором.
3.4 Создание DNS сервера.
Сервер имен не мало важен в сети, так как он позволяет обращаться к сайтам и устройство по их FQDN имени. В маршрутизаторах MikroTik есть встроенный DNS сервер и этот сервер работает по умолчанию. Если ваш маршрутизатор получает автоматический IP адрес от сервера провайдера или локального DHCP сервера, который выдает IP-адреса DNS сервера для ретрансляции то настройка данного пункта не понадобится. Но бывают случаи, что внешние DNS сервера работают более надежно, чем сервера провайдера. Поэтому можно настроить их адреса в разделе IP - DNS
. В появившемся окне, в пункте Servers
можно указать адрес DNS сервера для ретрансляции. В конце строки присутствуют стрелки при нажатии на которых появятся дополнительные строки для ввода дополнительных адресов. В приведенном ниже примере серверами ретрансляции указаны адреса серверов Google — 8.8.8.8 и 8.8.4.4. В поле Cache Size указан размер кэша в 2 мегабайта.
Так же в данном окне присутствует кнопка Static где можно сопоставить IP-адреса и FQDN хостов, которые вам необходимы.
4. Настройка Firewall-а.
Firewall в маршрутизаторе создан для обеспечения безопасности вашей локальной сети от вторжений извне. По умолчанию в маршрутизаторах уже есть правила, способствующие защите вашей сети. Но вы всегда можете донастроить ваш firewall согласно вашим требованиям. Мы лишь рассмотрим как создавать правила.
Маршрутизатор смотрит правила сверху вниз и применяет к пакетам правила под которые эти пакеты подпадают. Для удобства настройки в первую очередь необходимо разместить правила разрешающие нужный вам трафик, а в конце разместить правило запрещающие все остальное.
Настройка Firewall находится в IP - Firewall
, вкладка Filter Rule
где необходимо нажать «+» — это откроет диалог создания правил. В появившемся окне заполняем нужные строки:
Chain
— выбор фильтрации трафика в зависимости от его предназначения и имеет 3 варианта настройки это forward
— проходящий через маршрутизатор трафик, input
— входящий трафик для маршрутизатора, output
— исходящий трафик созданный маршрутизатором;
Src. Address
— исходный адрес;
Dst. Address
— адрес назначения;
Protocol
— тип протокола трафика;
Src. Port
— исходный порт;
Dst. Port
— порт назначения;
In. Interface
— интерфейс на который приходит трафик;
Out Interface
— интерфейс с которого уходит трафик;
На вкладке Action
, в пункте Action
необходимо выбрать что с таким трафиком делать. Accept
— принять, drop
— сбросить, reject
— отклонить, add dst to address list
— добавить адрес назначения в указанный лист, add src to address list
— добавить исходный адрес в указанный лист, fasttrack connection
— пересылка пакетов без обработки, jump
— перепрыгнуть в цепочку, passthrough
– игнорировать это правило и перейти к следующему, return
– вернуть пакет в цепочку, из которой он был переброшен, tarpit
– захватить и удерживать входящие TCP подключения.
5. Настройка NAT.
NAT позволяет преобразовывать IP-адреса транзитных пакетов. Данный функционал доступен в любом маршрутизаторе и позволяет транслировать адреса из одной сети в другую. Так же помогает пробрасывать порты. По умолчанию в маршрутизаторе есть правило, позволяющее взаимодействовать вашей локальной сети с сетью интернет. Создание NAT правил доступно в IP - Firewall
, вкладка NAT
где необходимо нажать «+» — это откроет диалог создания правил. Строки в данном окне имеют те же значения что и в вкладке Filter Rule, за исключением пункта Chain
имеющий два параметра srcnat
и dstnat
— это направление трафика. Srcnat
— из внутренней сети во внешнюю, dstnat
— из внешней во внутреннюю.
На вкладке Action
, в пункте Action
необходимо выбрать действие которое следует выполнить с подключением на указанный порт. Правило masquerade
— подмена внутреннего адреса на адрес маршрутизатора, netmap
— отображение одного адреса на другой; redirect
— перенаправляет данные на другой порт в пределах маршрутизатора; src-nat
— перенаправление данных из внутренней сети во внешнюю; dst-nat
— перенаправление данных из внешней сети во внутреннюю;
Ниже приведен пример проброса порта с внешнего интерфейса на нужный порт на хост внутри локальной сети.
На вкладке General в поле Chain указана цепочка dstnat — направление трафика из внешней во внутреннюю, по протоколу tcp, порт назначения 80, входящий интерфейс, направленный в сторону сети провайдера ether2-master.
На вкладке Action, в поле Action выбрано действие netmap, указан адрес хоста 10.100.4.1 в поле To address и порт хоста 80 в поле To Ports.
Данное правило позволяет ретранслировать все входящие пакеты, поступающий на 80 порт внешнего адреса маршрутизатора, на 80 порт указанного хоста.
Так же приведем пример мскарадинга трафика, который позволит хостам иметь доступ в интернет
На вкладке General в поле Chain указана цепочка srcnat — направление трафика из внутренней сети во внешнюю, исходящий интерфейс — интерфейс направленный в сторону сети провайдера ether2-master.
На вкладке Action, в поле Action выбрано действие masquerade — подмена внутреннего адреса на адрес маршрутизатора.
6. Настройка VPN.
VPN позволит вам установить защищенное соединение по небезопасной среде интернет и даст возможность получить доступ к внутренним ресурсам вашей сети.
Для настройки VPN необходимо нажать на пункт PPP
. В появившемся окне, на вкладке Interfaces
необходимо нажать «+» и выбрать L2TP Server Binding
— это откроет диалог создания параметров. Укажем имя интерфейса в поле Name
. В приведенном примере ниже указано имя l2tp
Далее в окне настроек PPP
щелкаем на кнопку L2TP Server
и в появившемся окне ставим галку Enable
, в пункте Authentication
выберем mschap2
и mschap1
. Поставим галку Use IPsec
и введем произвольный ключ в поле IPsec Secret
. Этот ключ будет вводится в раздел IPsec при настройке VPN на клиенте.
Далее на вкладке Secret
создаем пользователя где поле Name
указывается логин, в поле Password
— пароль, в поле Service
выбираем созданный ранее l2tp, в поле Profile
выбираем default-encryption
.
Теперь остается поправить default-encryption
профиль в вкладке Profiles
указав пулы адресов в полях Local Address
и Remote Address
, а так же DNS Server.
Данная настройка позволяет создать L2TP подключение с обязательным шифрованием с использованием IPsec. Что необходимо учесть при настройке подключения на клиенте.
7. Создание VLAN интерфейсов.
VLAN позволяет создать виртуальные сети используя одну физическую сеть. На одном интерфейсе могут быть несколько субинтерфейсов имеющие разные IP адреса и сети.
Для создания VLAN интерфейса необходимо нажать Interfaces
. В появившемся окне, на вкладке Interface
необходимо нажать «+» и выбрать VLAN
— это откроет диалог создания параметров. Укажем имя в поле Name
, укажем номер VLAN в поле VLAN ID
, в поле Interface
выберем интерфейс, субинерфейсом которого он будет. Настройка IP адреса, параметров сети, DHCP сервера для данного интерфейса происходит по аналогии с обычным интерфейсом, описанном в пункте 2 и его подпунктах.
Важно отметить, что оборудование на другом конце провода данного порта так же должно поддерживать технологию VLAN и настроено с тем же VLAN ID.
8. Настройка Web Proxy
В маршрутизаторе так же присутствует встроенный Web Proxy. Для его активации необходимо нажать IP - Web Proxy
. В появившемся окне поставить галочку Enable
. В поле Port
указывается порт на который прокси принимает соединения. По нажатию кнопки Access
открывается окно где можно запретить доступ к определенным ресурсам.
Для работы прокси необходимо весть трафик, идущий на 80 порт через маршрутизатор заворачивать на указанный в настройка прокси порт. Это делается в IP — FIrewall, вкладка NAT. В поле Chain указывается dstnat, в поле Scr. Address указывается адрес сети из которой мы хотим завернуть трафик на порт, в поле protocol указываем tcp, в поле Dst. port указываем 80 порт. На вкладке Action, в поле Action указываем redirect и в поле To ports указываем порт, назначенный в настройках Webproxy.
Подытожим что возможностей у данной железки достаточно если учитывать ее дешевизну.
Статистика посещений на Mikrotik с помощью WebProxy-Log. АйТи Решение
Очень часто руководители компаний просят предоставить статистику посещений сайтов своими сотрудниками. Этот вопрос легко решается при наличии развитой ИТ-инфраструктуры, путем установки дополнительного прокси сервера и организации на нем сбора статистики. Но что делать компаниям, которые не имеют или не готовы раздувать свою инфраструктуру «еще одной единицей» техники? В этой статье мы покажем пример использования сил только одного маршрутизатора mikrotik для решения задачи по сбору статистики посещений. Отчеты мы предлагаем формировать с помощью небольшой утилиты под windows — WebProxy-Log.
Далее по шагам:
— Открыть свой Mikrotik через Winbox.
— Зайти в IP => Web Proxy.
— Вкладка General.
— Установить галку рядом с Enabled.
— Указать порт 8080.
— Параметр Cache Administrator: на webmaster.
— Параметр Max. Cache Size: на unlimited.
— Параметр Max Cache Object Size: на 2048.
— Установить галку рядом с Cache On Disk.
— Параметр Max. Client Connections: на 600.
— Параметр Max. Server Connections: на 600.
— Параметр Max Fresh Time: оставить 3d 00:00:00.
— Параметр Cache Hit DSCP (TOS): оставить 4.
— Параметр Cache Path: на primary-master.
Нажимаем OK.
— Далее заходим в System => Logging.
— Вкладка Action.
— Нажимаем на +.
— Name: изменяем на WebProxyLog.
— Type: изменяем на remote.
— Remote Address: пишем адрес компьютера на котором установлена программа WebProxy-Log.
— Remote Port: оставляем 514 (порт udp).
— Нажимаем OK.
После чего наша настройка отразится во вкладке Action.
Переходим во вкладку Rules
— Нажимаем на +.
— Topics: выбираем web-proxy.
— Prefix: пишем Proxy.
— Action: выбираем WebProxyLog.
— Нажимаем OK.
Т. к. mikrotik при формировании логов делает очень много записей которые нам не нужны, мы добавим исключения. Добавим аналогично web-proxy правило со значением! debug (знак! определяет исключение).
После чего наша настройка отразится во вкладке Rules.
Теперь открываем New Termenal и пишем правило для NAT:
— /ip firewall nat
add action=redirect chain=dstnat comment=«Redirect port 80 request to Web Proxy» disabled=no dst-port=80 protocol=tcp to-ports=8080
— Открываем UDP порт под номером 514.
— chain=dstnat protocol=udp dst-port=514 action=dst-natto-addresses=192.168.0.200to-ports=514
Настройка Mikrotik завершена.
— Скачиваем программу WebProxy-Log.
https://code.google.com/p/webproxy-log/
— Устанавливаем и запускаем программу.
— В окне General settings указываем IP address: 192.168.0.200 (адрес компьютера).
— UDP Port: указываем 514.
— Buffer: указываем 400.
— Write log to: Указываем путь на каталог, где будет лежать файл журнала.
— Import from: Указываем путь на каталог откуда будет импортироваться файл журнала.
— Мои пути:
D:\Documents and Settings\god\Рабочий стол\
D:\Documents and Settings\god\Рабочий стол\New Folder
— DB location: этот путь мы оставляем по умолчанию.
— Устанавливаем галочку на Use insecure import.
— Устанавливаем галочку на Optimize database after log import.
— Нажимаем Apply.
— Далее заходим в File => Import logs.
— Снимаем галочку на Archive imported *.log files.
— Выбираем путь к файлу.
— Нажимаем Import.
— Соглашаемся со всем.
— Выбираем IP адрес в Select user:
— Выбираем дату с какого по какое в Select date range:
— Нажимаем кнопку Generate.
Получаем статистику, как показано ниже:
небольшие полезности. Часть 1 / Хабр
В данной статье я хочу поделиться небольшими находками и приспособлениями, которые мне удалось найти и реализовать в RouterOS. Все, что будет написано ниже, проверено и работает на Mikrotik RB 951 серии.
Сегодня я поделюсь следующими штуками в среде RouterOS:
1) Полуавтоматическое обновление прошивок устройств Mikrotik, уведомление по эл.почте и/или СМС
2) Автоматическое копирование настроек между устройствами
3) Блокировка трафика, заворот его в другой шлюз
Интересно? Тогда прошу под кат.
Пункт 1: Полуавтоматическое обновление прошивок устройств Mikrotik, уведомление по эл.почте и/или СМС
Как многие знают, прошивку для Микротика выходят регулярно, в каждом обновлении куча исправлений. Обновлять устройства нужно, от этого не уйти. Но мало того, что нужно обновлять ROS, нужно обновлять еще и FW самого устройства.
Честно скажу, мне лень следить за обновлениями. Я подписан на новости на сайте Микротик, но уже месяца 3 с этими новостями все очень плохо (писем просто нет). И все бы ничего, но у меня 3 устройства дома и 2 на предприятии.
Сначала немного теории: мой случай — это 3 устройства 951 серии, соединенные каждый с каждым по VPN. Одна из точек — мастер, остальные берут нужные обновления с мастера по внутреннему каналу. Мастер проверяет обновления через Интернет, автоматически скачивает их и высылает уведомление по почте и СМС.
Но есть один момент: по умолчанию файлы обновлений складываются в корень Files, только оттуда Микротик может обновиться при перезагрузке. Сразу после обновления файлы удаляются. Для моей схемы это критично, поэтому нужно сложить файлы в какую-то из папок, там они не удалятся и другие точки будут их видеть.
Что понадобится:
понадобится FTP-сервер на мастере.
опционально — настроенные ветки Email и SMS
Как сделать: Мастер
Необходим только скрипт, нужные переменные находятся в верхней части.
Скрипт обновления для версии <6.32.2
:local email "Ваш email"
:local user "Ваш пользователь"
:local pass "Ваш пароль"
:local folder "Имя папки куда копировать"
:local phone "Ваш номер мобильного с +"
#####
/system package update check-for-updates
:delay 3
:if ( [/system package update get installed-version] = [/system package update get latest-version] ) do={
/tool e-mail send to=$email subject="Обновление Mikrotik" body="Доступно обновление RouterOS! Новая версия - $[/system package update get latest-version]. Что нового - http://www.mikrotik.com/download"
/tool sms send usb1 channel=2 "$phone" message="New RouterOS version is available!"
/system package update download
:delay 20
:foreach i in=[/file find where package-version=[/system package update get latest-version]] do={
/tool fetch address=127.0.0.1 src-path="$[/file get number="$i" name]" dst-path="$folder/$[/file get number="$i" name]" user=$user password=$pass mode=ftp
}
}
Скрипт обновления для версии >=6.32.2
:local email "Ваш email"
:local user "Ваш пользователь"
:local pass "Ваш пароль"
:local folder "Имя папки куда копировать"
:local phone "Ваш номер мобильного с +"
#####
:if ( [/system package update get status] != "Downloaded, please reboot router to upgrade it" ) do={
/system package update check-for-updates
:delay 3
:if ( [/system package update get installed-version] != [/system package update get latest-version] ) do={
/system package update download
:delay 20
:foreach i in=[/file find where package-version=[/system package update get latest-version]] do={
/tool fetch address=127.0.0.1 src-path="$[/file get number="$i" name]" dst-path="$folder/$[/file get number="$i" name]" user=$user password=$pass mode=ftp
}
/tool e-mail send to=$email subject="Обновление Mikrotik" body="Доступно обновление RouterOS! Новая версия - $[/system package update get latest-version]. Что нового - http://www.mikrotik.com/download"
/tool sms send usb1 channel=2 "$phone" message="New RouterOS version is available!"
}
}
Скрипт для версии 6.32.2+ включает в себя проверку на уже скачанные обновления. Так же обратите внимание, что даже если обновления скачаны, check-for-updates устанавливает статус в «New version is available».
В зависимости от вашего интернет-канала нужно выставить соответствующий второй delay.
В расписании задаем нужный интервал проверки. Мой выбор — каждые 12 часов.
Примечание: начиная с версии 6.32.1 возникли проблемы с кодировкой e-mail сообщений.
Как сделать: Слейв
Необходимы настройка и 2 скрипта.
Нацеливание на мастер-точку
/system upgrade upgrade-package-source add address=xxx.xxx.xxx.xxx user=user
И введите пароль удаленного пользователя.
Скрипт обновления RouterOS
/system upgrade refresh
:delay 5
/system upgrade download-all reboot-after-download=yes
Скрипт обновления FW
:if ( [/system routerboard get current-firmware] < [/system routerboard get upgrade-firmware] ) do {
/system routerboard upgrade
/system reboot
}
В моем случае скрипты выполняются 1 раз в сутки, интервал между ними составляет 10 минуты.
Второй скрипт в расписании можно установить на стартап системы. Если кто не знает, startup означает запуск через 3 секунды после старта устройства.
«Почему бы не fetch’ить файлы прямиком на слейв-точки?» — спросите вы. Потому что на точках могут быть установлены разные пакеты. Лучше уж сами слейвы будут решать что им качать, а что нет.
Если у вас одно устройство Mikrotik, то вы можете скомпоновать скрипты для полностью автоматизированного обновления ПО.
Пункт 2: Автоматическое копирование настроек между устройствами
Как я уже сказал, лень мое второе имя. А еще у меня на каждом из устройств есть открытый гостевой Wi-Fi только «для своих», по MAC’ам. Поэтому было принято волевое решение иметь на всех точках одинаковый список разрешенных устройств. База располагается на одной из точек (Мастер) и будет копироваться раз в сутки на нужные устройства. Понадобятся FTP-серверы на точках, куда нужно копировать настройки.
Итак, есть 2 варианта: простой и правильный.
Простой:
Заключается в последовательной отправке 2х файлов.
Скрипт
:local ip "IP точки, на которую нужно скопировать МАС"
:local user "Пользователь"
:local password "Пароль"
#####
/interface wireless access-list export compact file=address
:delay 1
/tool fetch upload=yes address=$ip mode=ftp src-path=address_flush.rsc dst-path=address_flush.auto.rsc user=$user password=$password
:delay 1
/tool fetch upload=yes address=$ip mode=ftp src-path=address.rsc dst-path=address.auto.rsc user=$user password=$password
Содержимое файла address_flush.rsc
/interface wireless access-list remove [/interface wireless access-list find]
Правильный:
Предыдущий вариант не учитывает возможный разрыв соединения между fetch’ами. Если такая ситуация произойдет, access-list будет пуст со всеми вытекающими. Следовательно, нужна проверка наличия на наличие файла с настройками, а уже после — очистка текущего содержимого листа. Последнее действие скрипта — удаление файла. А именно:
Скрипт
:local ip "IP точки, на которую нужно скопировать МАС"
:local user "Пользователь"
:local password "Пароль"
#####
/interface wireless access-list export compact file=wifi2_mac
:delay 1
/tool fetch upload=yes address=$ip mode=ftp src-path=wifi2_mac.rsc dst-path=wifi2_mac.rsc user=$user password=$password
:delay 1
/tool fetch upload=yes address=$ip mode=ftp src-path=address_proc.rsc dst-path=address_proc.auto.rsc user=$user password=$password
:delay 10
/file remove [/file find where name=wifi2_mac.rsc]
Содержимое файла address_proc.rsc
#2015.09.11 - AcidVenom - Copy MAC to extertnal Script
:delay 5
:if ( [/file find where name=wifi2_mac.rsc] != "" ) do={
/interface wireless access-list remove [/interface wireless access-list find]
/import wifi2_mac.rsc
:delay 1
/file remove [/file find where name=wifi2_mac.rsc]
}
Строго говоря, файлы address_flush.rsc и address_proc.rsc могут иметь произвольные имена и расширения, но на выходе в dst-path их вид должен быть *.auto.rsc.
По образу и подобию вы можете копировать нужные вам настройки практически «на лету».
Пункт 3: Блокировка трафика, заворот его в другой шлюз
На тему блокировки определенного трафика статьи гуглятся, поэтому буду краток — Layer7 Protocol.
К примеру, блокировка телеметрии Microsoft:
/ip firewall layer7-protocol add name=telemetry regexp=^.+(data.microsoft.com|telemetry.microsoft.com).*$
/ip firewall filter add chain=forward protocol=tcp in-interface=bridge-local layer7-protocol=telemetry action=reject reject-with=tcp-reset
/ip firewall filter add chain=forward protocol=tcp out-interface=bridge-local layer7-protocol=telemetry action=reject reject-with=tcp-reset
Подробнее о L7 можно почитать на сайте проекта.
Следующий момент — заворот трафика отдельных машин в другой шлюз, который не по умолчанию.
/ip firewall mangle add chain=prerouting src-address=192.168.0.0/24 dst-address=!192.168.0.0/16 action=mark-routing new-routing-mark=another_gateway passthrough=yes
/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 check-gateway=ping type=unicast distance=1 routing-mark=another_gateway
Параметр Distance должен быть ниже, чем у шлюза по умолчанию. При необходимости вместо подсети источника можно указать единичный IP или адресный лист.
Таким образом можно завернуть весь исходящий наружу трафик на шлюз 192.168.1.1. Очень советую указывать шлюз через IP, иначе при разрыве правило в Route List просто стирается.
Ну и последняя фишка на сегодня — заворот только отдельных сайтов на шлюз не по умолчанию. Это очень полезно, если у вас есть прокси не на территории РФ, а вам хочется и/или нужно посетить заблокированный РКН сайт.
Это немного сложнее, т.к. L7 работает тогда, когда соединение уже установлено. Поэтому будем использовать адресные листы.
Для примера возьмем forum.mikrotik.com, для которого мой основной IP был в спам-диапазоне.
/ip firewall layer7-protocol add name=forum.mikrotik regexp=^.+(forum.mikrotik.com).*$
/ip firewall mangle add chain=prerouting src-address=192.168.0.0/24 dst-address=!192.168.0.0/16 layer7-protocol=forum.mikrotik action=add-dst-to-address-list address-list=forum.mikrotik.ip address-list-timeout=24:00:00
/ip firewall mangle add chain=prerouting src-address=192.168.0.0/24 dst-address=!192.168.0.0/16 dst-address-list=forum.mikrotik.ip action=mark-routing new-routing-mark=forum.mikrotik.rm passthrough=yes
/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 check-gateway=ping type=unicast distance=1 routing-mark=forum.mikrotik.rm
Минус данного решения — первое соединение закончится ошибкой, но последующие будут идти через нужный шлюз.
P.S.: обновлено 20.10.2015. Добавлен скрипт обновления для версии 6.32.2+
P.P.S.: С выходом версии 6.32.3 починили email-рассылку. Хочется думать, что на починку сподвигла данная статья.
P.P.P.S: обновлено 09.11.2015.
С выходом версии 6.33 выяснилась неприятность: микротик не может сравнивать версии разных порядков, т.е. 6.32.3 и 6.33.
Поэтому скрипт изменен с учетом этого казуса. Так же уведомления перенесены ниже для отправки в последняя очередь.
Mikrotik. Несколько веб серверов на одном внешнем ИП адресе – mikrotik-pro.ru
Работает только с http, https не работает.
Наша цель: У нас есть интернет в офисе с одним внешним ИП адресом (1.1.1.1). В локалке у нас есть куча веб серверов которые мы хотим опубликовать например:
One.com – 192.168.1.5
Two.com – 192.168.1.6
Nine.com – 192.168.1.7
Для того что бы это реализовать воспользуемся web proxy.
Включим и настроим web proxy:
/ip proxy
set enabled=yes max-cache-object-size=4096KiB
или
Далее создадим правила по которым закроем доступ по телнету и email relaying и разрешим доступ к нашим веб серверам:
/ip proxy access
add action=deny comment=”block telnet & spam e-mail relaying” disabled=yes dst-port=23-25
add comment=”Enable Http Connection” disabled=yes dst-port=80
add dst-host=one.com dst-port=80
add dst-host=two.com dst-port=80
add dst-host=nine.com dst-port=80
add action=deny
Далее для того что бы роутер знал где находятся наши веб сервера пропишем днс записи:
/ip dns static
add address=192.168.1.5 name=one.com
add address=192.168.1.6 name=two.com
add address=192.168.1.7 name=nine.com
Вот вроде и все осталось только зарулить все запросы из вне на наш прокси:
/ip firewall nat
add action=redirect chain=dstnat dst-port=80 in-interface=WAN protocol=tcp to-ports=8080
И не забываем в фаерволе разрешить доступ по порту 8080:
add action=accept chain=input comment=toProxy dst-port=8080 protocol=tcp
Вот и все. Осталось прописать глобальные dns записи типа А и все работает.
Вам нужно войти, чтобы лайкнуть этот пост: нажмите здесь
Загрузка…
Легкий способ защитить свой Mikrotik от атак / Хабр
Хочу поделиться с сообществом простым и рабочим способом, как при помощи Mikrotik защитить свою сеть и «выглядывающие» из-за него сервисы от внешних атак. А именно всего тремя правилами организовать на Микротике honeypot.
Итак, представим, что у нас небольшой офис, внешний IP за которым стоит RDP сервер, для работы сотрудников по удаленке. Первое правило это конечно сменить порт 3389 на внешнем интерфейсе на другой. Но это ненадолго, спустя пару дней журнал аудита терминального сервера начнет показывать по несколько неудачных авторизаций в секунду от неизвестных клиентов.
Другая ситуация, у Вас за Mikrotik спрятан asterisk, естественно не на 5060 udp порту, и через пару дней также начинается перебор паролей… да да, знаю, fail2ban наше вcё, но над ним еще попыхтеть придется… вот я например недавно поднял его на ubuntu 18.04 и с удивлением обнаружил, что из коробки fail2ban не содержит актуальных настроек для asterisk из той же коробки того же ubuntu дистрибутива… а гуглить быстрые настройки готовых «рецептов» уже не получается, цифры у релизов с годами растут, а статьи с «рецептами» для старых версий уже не работают, а новых почти не появляется… Но что-то я отвлекся…
Итак, что такое honeypot в двух словах — это приманка, в нашем случае какой-либо популярный порт на внешнем IP, любой запрос на этот порт от внешнего клиента отправляет src адрес в черный список. Все.
/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" \
address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" \
connection-state=new dst-port=22,3389,8291 in-interface=\
ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" \
address-list-timeout=30d0h0m chain=input comment=\
"block honeypot asterisk" connection-state=new dst-port=5060 \
in-interface=ether4-wan protocol=udp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
"Honeypot Hacker"
Первое правило на популярных TCP портах 22, 3389, 8291 внешнего интерфейса ether4-wan отправляет IP «гостя» в список «Honeypot Hacker» (порты для ssh, rdp и winbox заблаговременно отключены или изменены на другие). Второе делает то же самое на популярном UDP 5060.
Третье правило на стадии прероутинга дропает пакеты «гостей» чей srs-address попал в «Honeypot Hacker».
Спустя две недели работы моего домашнего Mikrotik список «Honeypot Hacker» включил в себя около полутора тысяч IP адресов любителей «подержать за вымя» мои сетевые ресурсы (дома своя телефония, почта, nextcloud, rdp) Brute-force атаки прекратились, наступило блаженство.
На работе не все так просто оказалось, там rdp сервер продолжают ломать перебором паролей.
Судя по всему номер порта определили сканером за долго до включения honeypot, а во время карантина не так-то легко перенастроить более 100 пользователей, из которых 20% старше 65 лет. В случае когда порт менять нельзя, есть небольшой рабочий рецепт. Подобное в интернете встречал, но тут присутствует допил и тонкая настройка:
Правила для настройки Port Knocking
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist \
address-list-timeout=15m chain=forward comment=rdp_to_blacklist \
connection-state=new dst-port=3389 protocol=tcp src-address-list=\
rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 \
address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 \
address-list-timeout=2m chain=forward connection-state=new dst-port=\
3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 \
address-list-timeout=2m chain=forward connection-state=new dst-port=\
3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 \
address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 \
address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 \
address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
protocol=tcp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
rdp_blacklist
За 4 минуты удаленному клиенту разрешается сделать только 12 новых «запросов» к RDP серверу. Одна попытка входа — это от 1 до 4 «запросов». При 12-ом «запросе» — блокировка на 15 минут. В моем случае злоумышленники сервер взламывать не перестали, подстроились под таймеры и теперь делают это очень медленно, такая скорость подбора сводит эффективность атаки к нулю. Сотрудники предприятия от принятых мер никаких неудобств в работе практически не испытывают.
Еще одна маленькая хитрость
Это правило включается по расписанию в час ночи и выключается в 5, когда живые люди точно спят, а автоматизированные подборщики продолжают бодрствовать.
/ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist \
address-list-timeout=1w0d0h0m chain=forward comment=\
"night_rdp_blacklist" connection-state=new disabled=\
yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8
Уже на 8ом по счету соединении IP злоумышленника отправляется в черный список на неделю. Красота!
Ну и в довесок к вышесказанному добавлю ссылку на Wiki статью, с рабочей настройкой защиты Микротика от сетевых сканеров. wiki.mikrotik.com/wiki/Drop_port_scanners
На моих устройствах эта настройка работает вместе с вышеописанными honeypot правилами, неплохо их дополняя.
UPD: Как подсказали в комментариях, правило дропа пакетов перемещено в RAW, для снижения нагрузки на роутер.
Конфигурация веб-прокси маршрутизатора
MikroTik Router
Прокси-сервер обычно размещается между пользователями и Интернетом, чтобы прокси-сервер мог отслеживать действия любого пользователя. Раньше прокси-сервер в основном использовался для кэширования статического содержимого любого веб-сервера, потому что скорость интернета была слишком низкой. Таким образом, пользователи получат высокую скорость просмотра, как если бы они просматривали локальный сервер. Но в настоящее время пропускная способность интернета увеличилась. Таким образом, прокси-сервер сегодня обычно не используется для веб-кэширования, а обычно используется в качестве сервера ACL (списка контроля доступа).MikroTik RouterOS может работать как прокси-сервер HTTP. В качестве прокси-сервера MikroTik Router имеет следующие особенности.
- Обычный прокси-сервер HTTP : MikroTik Router может работать как обычный прокси-сервер HTTP, где пользователь может указать прокси-сервер для него в своем браузере.
- Прозрачный прокси-сервер: MikroTik RouterOS также может работать как прозрачный прокси-сервер, где пользователи не знают о включенном прокси-сервере и не требуют дополнительной настройки браузера пользователя.
- Список контроля доступа: Он может создавать список доступа по источнику, назначению, URL-адресу и запрошенному методу (брандмауэр HTTP).
- Список доступа к кешу: MikroTik может указать, какой объект нужно кэшировать, а какой нет.
- Список прямого доступа: Чтобы указать, к каким ресурсам следует обращаться напрямую, а к каким — через другой прокси-сервер.
- Средство ведения журнала: Маршрутизатор MikroTik может хранить информацию о работе прокси или отправлять информацию журнала на другой сервер системного журнала.
Прокси-сервер может выглядеть, как показано на диаграмме ниже, где пользователи должны проходить через прокси-сервер для доступа в Интернет. Таким образом, с помощью этого прокси-сервера можно легко отслеживать активность пользователей.
Прозрачный веб-прокси
Настройка веб-прокси-сервера с помощью MikroTik
В этой статье мы узнаем, как превратить наш маршрутизатор MikroTik в прокси-сервер. Чтобы настроить полный прокси-сервер с маршрутизатором MikroTik, нам нужно выполнить следующие 4 шага.
- MikroTik Router Базовая конфигурация
- Конфигурация веб-прокси
- Конфигурация прозрачного веб-прокси
- Блокировка открытого прокси
Устройства и IP-информация, которые используются в этой статье для настройки веб-прокси, приведены ниже.
- MikroTik Router v5.20
- WAN IP: 192.168.30.2/30
- LAN IP: 192.168.20.0/24
Шаг 1: Базовая настройка MikroTik Router
Сначала нам нужно сделать MikroTik Router basic конфигурации (IP, Route, NAT и DNS) перед настройкой веб-прокси-сервера. Если у вас есть MikroTik Routerboard, следуйте моей статье о базовой настройке MikroTik Router с использованием Winbox и полной базовой настройке. Если вы планируете установить MikroTik OS на ПК, прочтите мою статью об установке MikroTik OS на ПК и выполните базовую настройку MikroTik Router, а затем продолжите оставшуюся часть этой статьи, чтобы настроить веб-прокси-сервер с MikroTik Router.
Шаг 2: Настройка веб-прокси
После завершения базовой настройки маршрутизатора MikroTik мы теперь включим службу прокси, чтобы наш маршрутизатор MikroTik работал как прокси-сервер. Итак, следуйте моим шагам ниже, чтобы включить прокси-сервис на вашем маршрутизаторе MikroTik.
- Перейдите в меню IP> Веб-прокси . Откроется окно настроек веб-прокси.
- Установите флажок включен и введите свой WAN IP-адрес (в этой статье 192.168.30.2), который будет использоваться в качестве адреса прокси-сервера, в поле ввода Адрес или оставьте его пустым.Если вы оставите поле пустым, все IP-адреса интерфейсов будут использоваться в качестве IP-адресов прокси-сервера. При желании вы можете изменить номер порта или оставить порт по умолчанию 8080.
- Если вы планируете использовать кэширующий прокси-сервер, выберите Макс. Размер кэша до без ограничений и установите флажок Кэш на диске . Но в этом случае MikroTik Router должен иметь достаточно памяти для кэширования веб-контента. Если у вас есть Routerboard, вам необходимо добавить дополнительный жесткий диск или вы можете запланировать установку MikroTik OS на ПК для получения дополнительного хранилища.
- Теперь нажмите Применить , а затем OK .
- В качестве альтернативы вы можете сделать это cmd: > ip proxy> set enabled = yes port = 8080 src-address = 192.168.30.2
Теперь ваш MikroTik Router превратится в обычный прокси-сервер. Если вы вручную установите этот IP-адрес и порт в настройках прокси-сервера вашего браузера, ваш браузер будет использовать MikroTik Router в качестве прокси-сервера. Но вам редко нужен обычный прокси-сервер. Итак, вам нужно превратить MikroTik Router в прозрачный прокси-сервер.Для этого должно применяться правило брандмауэра, которое я сейчас покажу.
Шаг 3: Настройка прозрачного веб-прокси
Теперь мы превратим наш прокси-сервер MikroTik в прозрачный прокси-сервер. Для этого мы должны применить правило NAT назначения, которое будет перенаправлять все 80-портовые (HTTP) запросы на 8080-порт (порт прокси-сервера), чтобы пользователи не могли знать о прокси-сервере, и не было никакой дополнительной настройки на стороне пользователя. Чтобы применить правило NAT к вашему маршрутизатору MikroTik, внимательно следуйте моим шагам ниже.
- Перейдите к IP> Брандмауэр и щелкните вкладку NAT , а затем щелкните PLUS SIGN (+), чтобы добавить новое правило NAT.
- Во вкладке General выберите Chain = dstnat , Protocol = 6 (tcp) и Port = 80 .
- На вкладке «Действие» выберите Действие = перенаправить и на порт = 8080 .
- Теперь нажмите Применить и ОК .
- В качестве альтернативы вы можете сделать это cmd:> ip firewall nat add chain = dstnat protocol = tcp dst-port = 80 action = redirect to-ports = 8080
Настройка прозрачного веб-прокси завершена.Теперь ваш прокси-сервер MikroTik можно использовать как прозрачный веб-прокси, так и как обычный веб-прокси одновременно. В прозрачном режиме его также можно использовать как стандартный веб-прокси.
Шаг 4: Блокировка открытого прокси
Теперь MikroTik Router — это прокси-сервер, к которому можно получить доступ из любого места, и это проблема. Тысячи хакеров в Интернете ищут такой прокси-сервер для преступных или нежелательных действий. Итак, мы должны заблокировать доступ пользователей Интернета к нашему прокси. Для этого внимательно выполните следующие шаги.
.
Как включить Mikrotik RouterOS Web Proxy в прозрачном режиме
Веб-прокси — это служба, которая размещается между клиентом и Интернетом для веб-серфинга HTTP . Он может кэшировать определенное содержимое / http-страницы в своем локальном кеше. Mikrotik имеет встроенный базовый пакет PROXY под названием WEB PROXY . Он подходит для базового кэширования в сетях малого и среднего размера.
Для расширенных возможностей кэширования используйте сторонний внешний прокси-сервер, например SQUID .
MikroTik WEB.PROXY Рекомендация
Всегда старайтесь НЕ использовать один и тот же диск для хранения кэша и ОС маршрутизатора, чтобы на диске ОС маршрутизатора всегда было достаточно места для журналов, обновлений / пакетов обновлений и резервных копий. Поэтому настоятельно рекомендуется хранить кэш веб-прокси на физически отдельном диске (хранилище), отличном от ОС маршрутизатора. Размещение кеш-памяти на отдельном диске обеспечивает максимальную производительность и уменьшает проблемы, если диск переполнится или выйдет из строя, так как при этом ОС будет по-прежнему иметь OK !
Кэширование. Доступ в Интернет потребует большого количества операций чтения и записи на диск. Выберите быстрый диск для максимальной производительности / поддержки одновременных запросов пользователей.
Производительность кэша
также во многом зависит от размера оперативной памяти. Чем больше оперативной памяти у вас на сервере, тем выше производительность.
Мы разделим эту статью на 3 части.
1 # Подготовка вторичного раздела для кэша
2 # Настройка веб-прокси
3 # Прозрачный прокси
Давайте НАЧАТЬ. . .
1 # Подготовка вторичного диска для кэширования
Сначала мы отформатируем вторичный жесткий диск (который будет использоваться для кеширования). ЕСЛИ ВЫ НЕ ХОТИТЕ ИСПОЛЬЗОВАТЬ ВТОРИЧНЫЙ ЖЕСТКИЙ ДИСК, Пропустите этот шаг.
Перейти СИСТЕМА> МАГАЗИНЫ> ДИСКИ
Выберите дополнительный жесткий диск и щелкните FORMAT DRIVE
Как показано на изображении ниже.
.
Теперь перейдите на вкладку МАГАЗИНЫ (перейдя в СИСТЕМА> МАГАЗИНЫ)
Выберите пакет WEB-Proxy и щелкните COPY
Вас спросят, куда копировать пакет WEB-Proxy , выберите Secondary Drive в поле TO .
Как показано на изображении ниже.
2 # Настройка веб-прокси
Теперь нам нужно включить Mikrotik Web Proxy , перейдя по адресу
IP> WEB PROXY
Как показано на изображении ниже.
.
Теперь нажмите «Включить»
в Порт , тип 8080
Максимальный размер кэша , выберите Без ограничений из раскрывающегося меню, ИЛИ, если у вас ограниченное дисковое пространство, используйте желаемый объем.
Вы должны указать пространство в килобайтах, например 1024 КБ = 1 МБ, поэтому, если вы хотите установить кэш 5 ГБ, используйте 5242880 , я использую 5 ГБ в этом примере. Размер кеша на самом деле зависит от того, сколько оперативной памяти у вас в машине
Как показано на изображении ниже . . .
.
Нажмите «Применить», и веб-прокси вашего Mikrotik готов к использованию, но каждый клиент должен установить адрес прокси, указывающий на IP Mikrotik, чтобы иметь возможность использовать прокси-сервис.
3 # Прозрачный прокси
Если мы хотим, чтобы каждый пользователь автоматически перенаправлялся на прокси-сервер, мы должны создать дополнительное правило для принудительного перенаправления пользователей на прокси-службу, которая называется ПРОЗРАЧНЫЙ ПРОКСИ.
.
Перейдите к IP> FIREWALL> NAT и создайте новое правило
В цепочке выберите dsntant ,
В протоколе , выберите 6 (tcp)
В Dst.Порт , тип 80
Как показано на изображении ниже . . .
.
Now goto Action Tab,
In Action , Select redirct
In To Ports , Type 8080
Как показано на изображении ниже . . .
.
Теперь ваше вновь созданное правило будет выглядеть примерно так, как показано на рисунке .
Как показано на изображении ниже .. .
ИЛИ версия CLI приведенного выше правила будет выглядеть примерно так, как показано ниже.
/ ip firewall nat add action = redirect chain = dstnat disabled = no dst-port = 80 protocol = tcp to-ports = 8080
Готово. Теперь веб-прокси Mikrotik будет работать как ПРОЗРАЧНЫЙ ПРОКСИ . Каждый пользовательский запрос HTTP PORT 80 будет автоматически перенаправлен на встроенный веб-прокси Mikrotik.
Вы можете просмотреть статус прокси и другую информацию, перейдя на IP> WEB PROXY> НАСТРОЙКИ> СОСТОЯНИЕ и другие вкладки в том же окне.
Как показано на изображении ниже . . .
=========================================
Советы по WEB-PROXY ‘N’ Трюки !! Автор: Zaib (декабрь 2011 г.)
=========================================
.
Как отправить кэшированное содержимое пользователю на полной скорости / игнорирование Предела QUEUE для пакетов с кешированными попаданиями, отмеченных 🙂
Первая отметка кэшируется по правилу MANGLE .
/ ip firewall mangle add action = mark-packet chain = output comment = "CACHE HIT / Zaib" отключено = no dscp = 4 \ new-packet-mark = cache-hits passthrough = no
Теперь создайте дерево очередей , которое будет отправлять пакетов попаданий в кэш пользователям на полной скорости LAN, игнорируя статические ИЛИ динамические ОЧЕРЕДИ пользователя
/ дерево очереди add burst-limit = 0 burst-threshold = 0 burst-time = 0s disabled = no limit-at = 0 \ max-limit = 0 name = "Неограниченная скорость для кеширования по zaib" packet-mark = cache-hits \ родитель = глобальный приоритет = 8 очередь = по умолчанию
Теперь попробуйте загрузить любой кэшируемый контент, например загрузите следующий файл,
http: // www.rarlab.com/rar/wrar410b5a.exe
После загрузки попробуйте снова загрузить его с любого другого компьютера или с того же тестового компьютера. Вы увидите очереди и правила в действии, отправляющие кеш-пакеты пользователям на полной скорости локальной сети. Помните, что веб-прокси Mikrotik — это очень простой и простой прокси-сервер с небольшими настройками и настройками ‘N’ Bolts, поэтому он будет кешировать что может. Для достижений используйте вместо этого SQUID.
Как показано на изображении ниже. . .
.
Также вы можете просмотреть содержимое кеша, перейдя по адресу IP> WEBPROXY> CACHE CONTENTS
Как показано на изображении ниже. . .
Как заблокировать веб-сайты по доменному имени
Вы можете заблокировать любой веб-сайт через доменное имя, как показано ниже.
/ ip прокси-доступ добавить действие = запретить отключено = нет dst-host = yahoo.com / ip proxy access add action = deny disabled = no dst-host = www.yahoo.com
Howto Block Downloading через File EXTENSION Types
Вы можете заблокировать загрузку по типам файлов, используя следующий код:
/ ip доступ к прокси добавить путь = *.mp3 действие = запретить
Howto Block OPEN PROXY
Убедитесь, что вы не используете свой прокси-сервер в режиме OPEN PROXY . В этом случае любой может использовать ваш прокси-сервис через Интернет и может использовать его для выполнения любых незаконных действий, и ваш IP-адрес прокси будет зарегистрирован на удаленном сервере, поэтому заблокируйте это немедленно.
Используйте следующее.
/ ip фильтр межсетевого экрана add action = drop chain = input comment = "Block Open PROXY 🙂 Zaib" disabled = no dst-port = 8080 in-interface = wan protocol = tcp src-address = 0.0,0.0 / 0
В в интерфейсе выберите интерфейс WAN .
Как добавить логотип и редактировать страницы ошибок прокси по умолчанию
Goto IP> WEB PROXY
Щелкните RESET HTML
Он спросит вас, что « Текущие страницы html будут потеряны! Сбросить anywa y? » Нажмите ДА
Как показано на изображении ниже. . .
,
Теперь перейдите к FILES , и вы увидите webproxy / error.html ,
Как показано на изображении ниже. . .
Просто скопируйте этот файл error.html на свой рабочий стол и отредактируйте его с помощью вашего любимого редактора HTML.
(Я лично использую MS FRONTPAGE 2003 из-за его простого и удобного интерфейса. Вы можете использовать блокнот для редактирования содержимого этого файла, так как он очень маленький и содержит только основной текст. Просто не связывайтесь с кодами, меняйте только текст, который вы хотите, например, номера поддержки имени сети и т. д. после сохранения загрузите его обратно в Mikrotiok в разделе веб-прокси.)
Как заблокировать веб-сайт для одного пользователя
Чтобы заблокировать любой веб-сайт для одного пользователя, используйте следующее…
/ IP доступ к прокси add action = deny comment = "Блокировать Yahoo для одного пользователя" отключено = no dst-host = www.yahoo.com src-address = 192.168.2.5 (192.168.2.5 - это ip пользователя)
Чтобы заблокировать отдельного пользователя и перенаправить его на страницу вашей политики на любом веб-сервере loacl с указанием причины его блокировки, используйте следующее.
/ IP доступ к прокси add action = deny comment = «Заблокировать Yahoo для одного пользователя» disabled = no dst-host = www.yahoo.com redirect-to = 192.168.2.3 / policy / deny.htm src-address = 192.168.2.5
( 192.168.2.3 — это IP-адрес веб-сервера, а 192.168.2.5 — это IP-адрес пользователя)
Как показано на изображении ниже. . .
.
.
Regard’s
SYED JAHANZAIB
24,851000
67,008300
Нравится:
Нравится Загрузка …
Связанные
.
MikroTik прозрачный веб-прокси Настройка HTTP / HTTPS — Artica Proxy
Маршрутизатор MikroTik был успешно протестирован с Artica v2.39.080400 или выше
В этой статье мы опишем, как создать правила MikroTik для пересылки HTTP / HTTPS-трафик на прокси.
Архитектура — пример:
Наш MikroTik управляет 4 основными сетями, каждая сеть имеет собственный интерфейс
- ЛВС 1: 192.168.1.0/24
- ЛВС 2: 192.168.200.0 / 24
- Ether 3: Выделенная сеть, на которой находится прокси.
- WAN: 192.168.20.0, где находится последний маршрутизатор.
1) Правила MikroTik:
Мы хотим, чтобы LAN 1 и LAN2 были перенаправлены на прокси, когда запросы пытаются достичь внешних портов 80/443.
Для этого мы должны использовать правило, которое «маркирует» пакеты в соответствии с портами назначения 80/443.
это правило «маркировки» будет обслуживать определенный маршрут, который будет разработан для пересылки пакетов на прокси.
Прокси-сервер действует как шлюз и может перехватывать TCP-пакеты перед запросом в Интернет.
A) Маркировка пакетов:
Выберите IP / Firewall на MikroTik
- Щелкните вкладку « Mangle »
- Добавить новый маршрут обхода.
- Цепь : предварительная маршрутизация
- протокол : TCP
- Порт DST : 80
- В интерфейсе : ! Важно , чтобы предотвратить зацикливание, когда прокси пытается выйти в Интернет, пакет не должен быть помечен.
Установите флажок и выберите интерфейс, предназначенный для прокси.
- Если вы хотите перенаправить SSL на прокси, используйте 80,443 в поле Dst Port
- Щелкните вкладку Действие
- В списке Action выберите « Mark routing »
- Установите тег в поле « New Routing Mark » (мы называем это «артика»).
Это правило исключения предназначено только для маркировки пакетов, пришедших со всех интерфейсов, кроме интерфейса, на котором расположен прокси.
C) Правило маскарада:
- Выберите вкладку NAT .
- Добавить новое правило.
- На General , в Chain выберите srcnat
- На вкладке Action в поле Action выберите « masquerade »
D) Пересылать пакеты
- Выберите IP / маршрутов на MikroTik
- Создать новый маршрут
- Dst Адрес: 0.0,0.0 / 0
- Шлюз: IP-адрес прокси-сервера .
- Check Gateway: «ping»
- Метка маршрутизации: тег, созданный в правиле Mangle (в нашем случае «artica»)
Маршрутизация может изменить следующий надежный шлюз (прокси) в соответствии с тегами, добавленными правилом исключения.
Теперь каждый запрос в Интернет через порт 80 или 443 будет перенаправляться на прокси
2) Обеспечьте соответствие Artica правилам MikroTik.
- Откройте веб-консоль Artica и перейдите к « Your Proxy / Listen ports »
- Нажмите Новый порт
- Выберите другие порты кнопку.
- Включите опцию Transparent Proxy (MikroTik) .
- Выберите правильный сетевой интерфейс
- Нажмите кнопку «Добавить».
- Порт прослушивания не важен, потому что он используется прокси внутри компании.
- Если вы перенаправили HTTP-запросы от MikroTik на прокси, создайте новый порт с включенной опцией MikroTik
- Включите Используйте параметр SSL-шифрование и выберите сертификат в раскрывающемся списке
- Щелкните опцию MikroTik в верхней таблице меню
- Включите опцию MASQUERADE
- Нажмите Применить
- Наконец, нажмите кнопку Apply в верхнем меню стола, чтобы перевести порты в рабочий режим.
Примечание: Artica устанавливает скрипт, который может перенастроить систему в соответствии с правилами MikroTik.
Вы можете выполнять следующие операции:
/etc/init.d/MikroTik перезапуск
/etc/init.d/MikroTik start
/etc/init.d/MikroTik stop
.
Как сделать веб-прокси прозрачным
Обзор
Веб-прокси — это служба, которая размещается между клиентом и Интернетом, специально для просмотра веб-страниц по протоколу HTTP. Кэшируется только HTTP-трафик — это нормально. Кэшировать и предоставлять веб-прокси для HTTPS и FTP не так-то просто. Поэтому следующий пример только показывает, насколько легко включить прозрачный веб-прокси для HTTP-трафика.
У использования веб-прокси есть два основных преимущества.
- Повышение безопасности для клиента и сети
- Повышение производительности и возможное снижение затрат для клиента и сети
Повышение безопасности
Безопасность повышается, поскольку клиент не подключен напрямую к веб-сайту, с которого он запрашивает данные.Клиент делает запрос на подключение к веб-прокси, и веб-прокси извлекает данные от имени клиента. Таким образом, Интернет подключен к интерфейсу веб-прокси, а не напрямую к клиенту. Использование веб-прокси также позволяет предоставлять другие услуги, такие как антивирусное сканирование, фильтрация и мониторинг контента или создание отчетов о запрашиваемых веб-сайтах.
Повышенная производительность
Повышается производительность, так как очень вероятно, что один и тот же идентичный веб-сайт запрашивается многими клиентами.Если веб-страница кэшируется, тогда веб-прокси может доставлять содержимое этой веб-страницы непосредственно из собственного кеша, а не извлекать его каждый раз, снова и снова, из Интернета. Это очень важно для спутниковых каналов или при ограниченном подключении к Интернету. Если сетевое соединение измеряется поставщиком услуг, любые средства уменьшения трафика принесут выгоду.
Обычно при размещении веб-прокси в сети клиентские веб-браузеры, такие как IE, Firefox, Safari, должны быть вручную настроены для направления запросов веб-страниц через веб-прокси.Однако удобнее перенаправить веб-трафик http через порт 80 на ваш веб-прокси без необходимости ручной настройки клиента. Это называется «прозрачный веб-прокси».
Требования к оборудованию
Важно учитывать уровень трафика, который будет обрабатывать веб-прокси, который в больших сетях может быть очень высоким. Убедитесь, что выбранное оборудование соответствует ожидаемому уровню трафика! Кэширование в средних и больших сетях потребует серьезного оборудования, поскольку любое узкое место в системе полностью сведет на нет любое улучшение скорости за счет использования локального кеша.Не используйте память NAND для кэширования. Всегда используйте настоящий жесткий диск или оперативную память. NAND изнашивается после конечного числа циклов чтения / записи и также будет медленным.
Также убедитесь, что кэш веб-прокси хранится на физическом диске (хранилище), отличном от ОС маршрутизатора. Размещение кэша в отдельном хранилище для ROS обеспечивает максимальную производительность и снижает проблемы, если диск переполняется или выходит из строя, так как при этом ОС все еще будет в порядке!
Каким образом
По умолчанию веб-прокси прослушивает порт 8080.Поэтому сначала нам нужно перенаправить весь трафик с порта 80 на порт 8080 с помощью правила брандмауэра DST-NAT и убедиться, что служба веб-прокси включена и прослушивает порт 8080.
Чтобы включить прозрачный веб-прокси на Mikrotik, выполните следующие действия:
ip firewall nat add in-interface = ether1 dst-port = 80 protocol = tcp action = redirect to-ports = 8080 chain = dstnat ip proxy set включен = да порт = 8080
Обратите особое внимание на блокировку безопасности веб-прокси.Прочтите о команде доступа к прокси / ip!
Также важно учитывать размер кеша и все различные другие параметры, которые вы можете изменить на веб-прокси, однако это выходит за рамки данной статьи.
Настройка страниц ошибок
Чтобы настроить отображение страницы веб-прокси при ошибке:
[admin @ MikroTik]> / ip-прокси reset-html Текущие html-страницы будут потеряны! Все равно сбросить? [да / нет]
Ответьте «да». Теперь HTML-файлы доступны для редактирования.(В настоящее время существует только один файл: error.html, содержащий сообщение об ошибке.)
[admin @ MikroTik]> / файл печати № ИМЯ ТИП РАЗМЕР ВРЕМЯ СОЗДАНИЯ 0 каталог веб-прокси 28 июля 2009 г. 12:07:51 1 файл webproxy / error.html .html 529 января / 02/1970 00: 03: 4 [admin @ MikroTik]> / file редактировать содержимое webproxy / error.html ...
Вы также можете просто заменить файл своим собственным.Синтаксис, используемый в файле, аналогичен синтаксису, используемому в файлах HTML горячих точек. Можно использовать предопределенные переменные (такие как $ error, $ url, $ admin
), а также операторы $ (if ...)
.
См. Также
http://www.mikrotik.com/testdocs/ros/3.0/pnp/proxy.php
http://wirelessconnect.eu/index.php?option=com_content&task=view&id=206&Itemid=454
.