Как заблокировать tor browser mikrotik

Обновлено: 06.07.2024

Настройка черного и белого списков в роутерах Mikrotik

Ограничение доступа к тем или иным ресурсам сети интернет на основе списков достаточно популярный способ фильтрации, несмотря на его недостатки. Действительно, в большинстве случаев требуется заблокировать достаточно небольшой список ресурсов, скажем, соцсети, с чем данный метод вполне успешно справляется. В данной статье мы поговорим о том, как настроить фильтрацию по спискам на роутерах Mikrotik, тем более что RouterOS предоставляет нам для этого достаточно широкие возможности.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Из этого следует, что мы не можем блокировать отдельные страницы, но можем заблокировать домен целиком. Для большинства сценариев этого вполне достаточно. Но здесь нас подстерегает другая неприятность, многие сайты используют CDN (Content Delivery Network, сеть доставки контента), такие как CloudFlare и заблокировав нужный вам сайт вы можете также ограничить доступ к большому количеству сторонних ресурсов. Что из этого может выйти все мы видели во время ковровых блокировок РКН против Телеграм.

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

Создаем списки

Для настройки фильтрации нам понадобятся минимум два списка: список доменов и список пользователей. С доменами понятно, это те сайты, к которым мы хотим запретить доступ или, наоборот, разрешить. Создаются такие списки просто: IP - Firewall - Address Lists где добавляем новый адрес, в поле Name вписываем имя листа, если это первая запись, либо выбираем его из выпадающего списка. В поле Address указываем IP-адрес или доменное имя ресурса, при указании доменного имени в список будут внесены все IP-адреса сайта, и они будут обновляться с периодичностью указанной в TTL домена.

В командной строке это же действие можно выполнить так:

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

mikrotik-black-white-list-002.jpg

В данном примере реализовано два списка: WL - белый список и BL - черный список. Обычно в реальной жизни используется что-то одно, в нашем случае создание данных списков обусловлено сугубо учебными целями.

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

Также вспомним, что в руках у нас роутер, т.е. устройство, работающее на сетевом уровне (L3), а значит основные параметры, с которыми он может работать - это адрес источника и адрес назначения. Адрес назначения - это домен, выше мы его уже разобрали. Адрес источника - это как раз пользователь, точнее - сетевое устройство пользователя. В самом простом случае мы можем создать еще один список и добавить туда IP-адреса нужных устройств.

Но на практике адреса раздаются сервером DHCP, это не проблема, создаем резервирование IP-адреса, для чего следует перейти в IP - DHCP-Server - Leases и открыв запись нужного адреса нажать Make Static.

mikrotik-black-white-list-003-1.jpg

После чего закрываем и снова открываем запись и в поле Address List вводим, если это первая запись, или выбираем имя списка, куда будет добавлен IP-адрес данного компьютера, в нашем случае это список USER.

mikrotik-black-white-list-004-1.jpg

Либо через командную строку:

Таким образом мы получаем список пользователей, либо несколько списков, в которых указанные адреса будут находиться до тех пор, пока на сервере активно резервирование.

Черный список

Начнем с самого простого сценария - черного списка. Сначала настроим вариант, когда такой список применяется ко всем пользователям, кроме членов списка USER. Для этого перейдем в IP - Firewall - Filter Rules и создадим новое правило. На закладке General укажем Chain - forward и In. Interface - bridge1:

mikrotik-black-white-list-005.jpg

На закладке Advanced указываем Src. Address List - USER и ставим перед ним восклицательный знак (символ инверсии правила), что будет означать кроме входящих в группу. В поле Dst. Address List указываем BL - т.е. наш черный список доменов.

mikrotik-black-white-list-006.jpg

И наконец на закладке Action указываем действие, обычно везде в интернете указывают drop, хорошо, укажем и мы.

mikrotik-black-white-list-007.jpg

Данное правило должно располагаться самым первым в цепочке FORWARD, выше FastTrack.

Теперь попробуем посетить запрещенный сайт:

mikrotik-black-white-list-010.jpg

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

Теперь немного изменим задачу, применим черный список только к группе USER. Для этого немного изменим условия на закладке Advanced, а именно укажем Src. Address List - USER без восклицательного знака, в итоге условие будет читаться как: если источник в группе USER и назначение в группе BL.

mikrotik-black-white-list-011.jpg

Или в командной строке:

Таким образом фильтрация по черным спискам не представляет особых сложностей. Все упирается в эти самые списки, которые нужно составлять и поддерживать в актуальном состоянии. Загрузить в роутер готовые списки из интернета также не очень хорошая идея, потому как каждый пакет будет проверяться на вхождение в список, что может вызвать серьезную нагрузку на роутер, при том, что подавляющее большинство адресов из этого списка ваши пользователи могут никогда не посещать. Поэтому следует трезво оценивать собственные ресурсы и возможности и применять списки там, где это действительно нужно.

Белые списки

На первый взгляд организация доступа в сеть по белым спискам ничем принципиально не отличается от черных, однако это не так, выше мы уже говорили почему и далее покажем это на примерах. А пока реализуем схему с доступом по белым спискам для всех, кроме группы USER.

Снова перейдем в IP - Firewall - Filter Rules и создадим новое правило. На закладке General также укажем Chain - forward и In. Interface - bridge1 , на Advanced указываем Src. Address List - !USER и Dst. Address List - !WL:

mikrotik-black-white-list-012.jpg

И на закладке Action указываем действие reject. Таким образом данное правило будет блокировать все соединения, если адрес отправителя не входит в группу USER и адрес назначения не входит в белый список WL.

Аналогичное действие через консоль:

Данное правило также следует располагать первым в цепочке FORWARD.

Теперь попробуем открыть наш сайт. А вот тут первый неприятный сюрприз:

mikrotik-black-white-list-014.jpg

Что это значит? Браузер не может проверить подлинность сертификата, а так как наш сайт использует HSTS, то доступ к нему будет невозможен, потому как подобные действия могут указывать на атаку с понижением степени защиты, чему HSTS должен препятствовать.

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

Чтобы применить белый список только к участникам группы немного изменим правило: в Adwanced указываем Src. Address List - USER, т.е. без восклицательного знака. Теперь логика правила изменится и будут блокироваться все соединения для группы USER, кроме тех, которые разрешены белым списком.

mikrotik-black-white-list-016.jpg

Либо в командной строке:

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

Layer 7 protocol

Layer 7 protocol - это методика поиска определенных вхождений в ICMP/TCP/UDP потоках при помощи регулярных выражений. На первый взгляд достаточно интересная возможность, существенно расширяющая степень контроля над проходящим трафиком, но есть один существенный недостаток. Как уже понятно из названия, данный вид фильтрации работает на прикладном (L7) уровне, т.е. полностью обрабатывается CPU и даже при небольшом количестве правил способен создать сильную нагрузку на оборудование, особенно старые (не ARM) модели.

Использовать L7 для блокировки сайтов не рекомендуют сами разработчики Mikrotik, справедливо замечая, что в большинстве случаев это не будет работать так, как задумано, но при этом вы будете впустую растрачивать вычислительные ресурсы роутера. На наш взгляд использовать L7 для задач, связанных с доступом к сайтам вообще бессмысленно. Современный трафик в подавляющем большинстве шифрованный и различного рода конструкции для анализа URL просто не будут работать, а управлять доступом на основе доменного имени вполне можно и на L3 (чем мы занимались выше).

По этой же самой причине не будут работать многие размещенные в интернете инструкции, где трафик фильтровался по содержимому, типам файлов или потоков, использовал параметры запросов и т.д. и т.п. Хотя мы до сих пор встречаем статьи, в которых по L7 пытаются блокировать соцсети или Youtube, мотивируя это большим числом адресов, использованием CDN, поддоменов и т.д. и т.п. Однако все это не выдерживает никакой критики, соцсети и видеохостинги прекрасно блокируются по доменному имени.

Мы не рекомендуем использовать L7 во всех тех случаях, когда задачу можно решить иным образом, применяя его только для решения специфичных задач. Например, выявления и блокировки какого-либо вида трафика.

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

Для решения нашей задачи сначала перейдем в IP - Firewall - Layer 7 protocol и создадим новый фильтр: в поле Name напишем произвольное имя, в нашем случае SSH, а в поле Regexp внесем регулярное выражение паттерна:

mikrotik-black-white-list-017.jpg

Также можно выполнить команду в терминале:

Что делать дальше? Самое очевидное решение - использовать данный фильтр в правилах брандмауэра является примером того, как делать не надо. В этом случае через L7 фильтр будет проходить каждый пакет, что вызовет сильную нагрузку на CPU роутера.

Поэтому мы пойдем другим путем и на основании L7 фильтра будем маркировать соединения, которых гораздо меньше, чем пакетов. Перейдем в IP - Firewall - Mangle и создадим новое правило: на закладке General выставляем Chain - prerouting, Protocol - tcp и Сonnection Mark - no mark:

На закладке Advanced указываем использование созданного нами фильтра Layer 7 Protocol - SSH:

mikrotik-black-white-list-019.jpg

В Action указываем действие mark-connection, задаем марку соединения New Connection Mark - SSH-CONN и обязательно ставим флаг Passthrough для прохождения пакета далее по цепочке:

mikrotik-black-white-list-020.jpg

Затем добавим еще одно правило: General - Chain - prerouting, Protocol - tcp и Connection Mark - SSH-CONN:

mikrotik-black-white-list-021.jpg

А в действиях добавим mark packet, New Packet Mark - SSH-PCK и снимем флаг Passthrough:

mikrotik-black-white-list-022.jpg

Все тоже самое быстро делается в командной строке:

Таким образом мы пометили все пакеты, относящиеся к SSH-соединениям, но L7 фильтр мы используем только для соединений, не нагружая роутер проверкой каждого пакета. Теперь запретим транзит таких пакетов, для этого вернемся в IP - Firewall - Filter Rules и создадим правило, на закладке General которого укажем: Chain - forward, Рrotocol - tcp, In Interface - bridge1 и Packet Mark - SSH-PCK:

mikrotik-black-white-list-023.jpg

На закладке Action ставим действие drop. То же самое в консоли:

Ставим это правило также в начало цепочки FORWARD и если вы все сделали правильно, то установить SSH-соединение из вашей сети больше никому не удастся.

mikrotik-black-white-list-024.jpg

Следует понимать, что выше был лишь пример того, как можно использовать Layer 7 protocol на Mikrotik, в реальной ситуации следует несколько раз подумать и прибегать к возможностям L7 только тогда, когда все остальные варианты исчерпаны. Также старайтесь как можно более подробно описывать условия, для правил использующих L7 фильтры, чтобы максимально уменьшить нагрузку на процессор роутера.

Фильтрация по MAC-адресам

Среди условий в правилах брандмауэра есть опция MAC-адреса, но в одном правиле можно указать только один адрес, т.е. для каждого MAC вам придется создать свою копию правила, что увеличит нагрузку на устройство и сделает набор правил трудночитаемым.

В тоже время MAC-адрес нам нужен для одной единственной цели - идентифицировать пользователя, что мы также можем сделать и по IP-адресу, для этого нам нужно будет преобразовать MAC в IP, который уже можно добавить в один из списков и использовать представленные нами выше правила. В этом нам снова поможет таблица Mangle.

Откроем IP - Firewall - Mangle и добавим правило, на закладке General укажем Chain - prerouting, In Interface - bridge1, на Advanced в поле Src. MAC Address укажем MAC-адрес нужного устройства.

mikrotik-black-white-list-025.jpg

И на закладке Action добавим действие add src to address list, где в поле Address List укажем требуемый список пользователей, в нашем случае USER, а в поле Timeout укажите требуемое время жизни записи, это нужно для того, чтобы запись обновилась при смене обладателем MAC IP-адреса. На скриншоте мы, в тестовых целях, использовали 5 секунд, в реальной жизни руководствуйтесь здравым смыслом и выбирайте более высокие значения.

mikrotik-black-white-list-026.jpg

Это же правило в командной строке:

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

Заключение

Как видим возможности RouterOS позволяют решать достаточно сложные задачи используя даже недорогие роутеры. Но следует понимать ограничения всех вышеперечисленных методов, осознавая их достоинства и недостатки. А также соотносить свои требования с возможностями оборудования. Если понимать и принимать во внимание эти факторы, то фильтрация по спискам на Mikrotik будет эффективным инструментом в руках администратора. В противном случае вы получите только разочарование и иные негативные последствия. Поэтому пожелаем вам благоразумия и напомним: хороший администратор выбирает для каждой задачи наиболее подходящий инструмент, что является признаком профессионализма. А фанатизм еще никого до добра не доводил.

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Прозрачный обход блокировок при помощи Mikrotik и Tor

Привет. Всем известно что каждый день Роскомнадзор блокирует десятки или даже сотни сайтов. Как же быть если в бан попал ваш любимый сайт? Вариантов решения данного вопроса может быть несколько. Например купить VPS за границей, куда цепкие лапы Роскомнадзора не дотянутся, и сделать VPN или SSH туннель до вашего сервера. Либо можно использовать различные анонимайзеры. Либо можно использовать Тор сеть для доступа к заблокированным ресурсам, например можно поставить Tor Browser и радоваться жизни. Все эти методы хороши, но требуют от пользователя дополнительных действий, или дополнительных затрат на VPS.

В общем долго я пользовался Tor Browserом, но в итоге надоело что то дополнительно запускать, буть то даже другой браузер. И решил я подумать, как бы сделать так, что бы блокировки обходились прозрачно. В итоге надумал, что можно поставить tor как прокси, и заворачивать трафик из локальной сети на заблокированные ресурсы, на этот прокси.

Но даже так — уже большое облегчение жизни. Т.к. можно заходить абсолютно с любого устройства из домашней сети на заблокированные сайты.

О том как это сделать, спешу рассказать вам, может кому пригодится.

Видеоуроки по настройке MikroTik
Нет возможности пройти очный тренинг MTCNA? Ему есть альтернатива. Минус – не будет официального сертификата. Плюсов гораздо больше. Во-первых, не надо никуда ехать, смотрите и пересматривайте видеоуроки тогда, когда вам удобно и столько раз, сколько нужно. Во-вторых, в курсе упор на практику, ее примерно в 4 раза больше, чем на очном обучении. Подробнее о курсе на странице « ]]> Настройка оборудования MikroTik ]]> », там же можно заказать бесплатно ]]> первые 25 уроков ]]> .

Я все ставил на Ubuntu Server 16.04. Для других систем процедура не должна сильно отличаться.

находим строчку listen-address, она должна выглядеть примерно так:

Соответсвенно за место 192.168.1.10 нужно вписать адрес вашего сервера, куда ставиться privoxy.
Так же находим следующую строчку, и задаем значение 1 (это нужно для прозрачного проксирования):

И в конец файла добаляем строчки, что бы privoxy подключался к tor proxy.

forward-socks5 / localhost:9050 .
forward-socks4 / localhost:9050 .
forward-socks4a / localhost:9050 .

Обратите внимание, на точки в конце строк. Они обязательны.

Перезапускаем tor и privoxy

Нам нужно заворачивать трафик направленный на заблокированные ресурсы на наш прокси сервер, для этого запускаем winbox и подключаемся к нашему mikrotikу.
Переходим в IP — Firewall — Layer7 Protocol, добавляем новый протокол, в поле Regexp вводим:

Соответственно через знак | можно добавлять доменные имена заблокированных ресурсов, к которым вы хотите получить доступ.

Layer7 Protocol

Затем переходим во вкладку Mangle и добавляем новое правило:

Во вкладке General:

Chain — prerouting
Src. Address - !192.168.1.10 (это адрес вашего прокси сервера, нужен для того что бы не образовывалось петель)
Protocol — 6 (tcp)
Dst. Prot — 80

mangle general

Во вкладке Advanced задаем:

Dst. Address List: !unblocked
Layer7 Protocol: unblock

mangle advanced

Во владке action:

Action — add dst to address list
Address List — unblocked

mangle action

Далее переходим во вкладку NAT, и добавляем новое правило:
Во влкадке General:

Chain — dstnat
Src. Address - !192.168.1.10
Protocol — 6 (tcp)
Dst. Port: 80

nat general

Во влкадке Advanced:

nat advanced

Во вкладке Action:

Action — dst-nat
To Addresses — 192.168.1.10
To Ports: 8118

nat action

В общем то все, прозрачный обход блокировок у нас готов, можно попробовать проверить. Для проверки удобно пользоваться сайтом ident.me (который вы могли заметить в регулярном выражении приведенном выше).

Сперва скриншот с выключенным правилом:

ip with proxy

Пару слов о том как это работает. Mangle правило - сравнивает dns имя узла назначения с Layer7 списком ресурсов, если dns соответсвует внесенному туда ранее адресу, то IP адрес ресурса добавляется в Address List — unblocked. Далее NAT праавило смотрит на этот список адресов, и если в запросе есть нужный адрес — заворачивает трафик по 80 порту на наш прокси сервер.

UPD: Столкнулся с тем, что выходные ноды могут находиться в России, и как следсвие доступ к ресурсам на них заблокирован, что бы этого избежать нужно в конфиг /etc/tor/torrc добавить строчку:

Как не сложно догадаться, эта сточка указывает, что бы Tor не подключался к exit nodes расположенным в России, Белорусии или Украине.

Request for blocked URL, Block reason: Path matches generic block pattern.

В этот файл нужно добавить строчки:

После чего нужно переезапустить privoxy.

UPD2. Столкнуся с тем, что если на микротике masquerade настроин на использование "выходного" интерфейса, а не внутренней сети, то страницы, которые должны проксироваться в тор сеть не открываются. Т.е. для работы вышеописанной схемы, у вас в srcnat правиле, в котором atcion - masquerade должна быть прописана ваша внутренняя сеть в src address, соответсвенно out interface должен быть пустой.

Популярная серия бюджетных маршрутизаторов из Латвии на базе RouterOS предоставляет пользователям широкие возможности по настройке. Сегодня я подробно рассмотрю возможности mikrotik по блокировке сайтов, рекламы, социальных сетей, по созданию списка запретов на доступ. Все эти средства присутствуют в роутерах из коробки и не требуют специальных знаний для настройки, кроме стандартных средств управления.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Данная статья является частью единого цикла статьей про Mikrotik.

Как быстро закрыть доступ к сайту

Блокировка сайта в Mikrotik

Нажимаем на + и создаем список для блокировки сайта:

Блокируем одноклассники

Мы заполнили 2 поля:

  1. Name - имя списка. Может быть любым.
  2. Address - адрес сайта. Параметр может принимать значения как ip адреса, так и доменного имени.

После добавления списка с адресом в виде доменного имени, происходит автоматический резолв имени в ip адрес. После этого создаются динамические записи в списке уже из конкретных IP адресов. Эти IP адреса берутся из записей типа A в DNS.

ip адреса одноклассников

У сайта может быть несколько разных доменных имен. Они могут резолвиться в разные IP адреса, так что имеет смысл добавить в список все домены, которые вам известны.

Полный список адресов и доменов для блокировки

Теперь настраиваем правило блокировки с использованием созданного ранее списка. Для этого идем на вкладку Filter Rules и добавляем новое правило.

Правило блокировки сайта в firewall

  • Chain - forward. Цепочка для транзитных пакетов, которые идут через роутер. В том числе все, что проходит из локальной сети.
  • Src. Address - 192.168.13.16. IP ардес, для которого будет работать блокировка. Если хотите заблокировать сайт для всех, можно просто не заполнять это поле. Вместо ip адреса можно указать разом всю подсеть - 192.168.13.0/24.
  • Protocol - tcp. Если не указывать протокол, то тоже будет работать блокировка, но чем более конкретно указано правило, тем лучше в общем случае.

Переходим на вкладку Advanced и указываем там список odnoklassniki, который создали ранее.

Выбор адреса назначения в виде списка

Далее открываем вкладку Action .

Действие - reject

Тут все просто - отбрасываем указанные пакеты, отправляя в ответ ошибку icmp - icmp-network-unreachable. На время отладки можете поставить галочку log, чтобы в логе видеть все сработанные правила с блокировкой социальной сети.

Лог заблокированных запросов

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

Список правил в firewall

Работа блокировки сайта

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

Черный список сайтов для фильтрации

Блокирование сайтов в mikrotik по списку

На основе этого списка сформировался набор динамических записей с ip адресами добавленных доменов.

Полный список доменов и ip адресов

Дальше точно так же создаем правило блокировки в firewall, как мы это сделали в предыдущем примере с одним сайтом, только указываем наш список видеохостингов. В данном случае принципиальной разницы нет, один у нас сайт или список.

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

Запретить социальные сети в mikrotik

Сейчас на примере списка социальных сетей разберу еще один подход к блокировке сайтов в mikrotik. Он будет основываться не на резолве доменных имен в ip адреса, а на анализе содержимого пакетов с помощью Layer7 Protocol. Его преимущество именно в том, что он анализирует содержимое пакетов. Теоретически, это более надежный способ блокировки, так как ip адреса сайтов могут меняться. В случае статических правил с ip адресами это может приводить к тому, что в какой-то момент они станут не актуальны. С эти тоже можно бороться, обновляя списки, но это отдельная тема.

Я расскажу, как использовать Layer7 Protocol в микротике для блокировки социальных сетей просто для примера, чтобы вы знали, что есть такой механизм и его можно использовать.

Для этого создаем правило Layer7 Protocol в соответствующем разделе Winbox IP -> Firewall -> Layer7 Protocols для блокировки социальной сети facebook.

Блокировка социальных сетей в микротике

Теперь нам нужно промаркировать все соединения и пакеты в dns запросах, где будет совпадение с созданным ранее правилом. Идем во вкладку Mangle и добавляем правило маркировки соединений.

Маркировка соединений
Маркировка соединений

Маркировка соединений

Чтобы не перепутать какие-то параметры, можете просто ввести в консоли команду и проверить созданное правило.

И еще одно правило для маркировки пакетов на основе промаркированного выше соединения.

Маркировка пакетов
Маркировка пакетов

Пакеты промаркировали. Теперь создаем 2 блокирующих правила для цепочек input и forward. Для этого идем во вкладку Filter Rules и добавляем 2 правила. Я не буду показывать картинки, их и так уже полно в статье. Правила простые, введите их в консоль сами.

Далее важно эти правила правильно расположить в списке правил. Они обязательно должны быть выше разрешающих правил для цепочек input и forward. Примерно так.

На время отладки я включаю логирование правил, обнуляю счетчики и начинаю тестировать. Если что-то пойдет не так, проверьте так же счетчики в разделе Mangle . Если там будет пусто, значит ошибка либо в правиле Layer7 Protocols, либо в самих правилах маркировки. Я, когда тестировал, неправильно расположил правила в Firewall. В итоге в правилах маркировки счетчики росли, пакеты маркировались, но блокировки не было. Это было видно по нулевым счетчикам в Firewall. После того, как правильно расположил правила, блокировка социальной сети facebook заработала как надо.

Объясняю логику работы данной блокировки. Мы маркируем все соединения к dns серверу, удовлетворяющие указанному regex в правиле Layer7. Далее маркируем все пакеты из этого соединения. Потом в фаерволе блокируем эти соединения. Если клиент использует DNS сервер на микротике, запросы блокируются правилом цепочки input, если используется сторонний, то в блок пакеты попадают по правилу цепочки forward. В итоге у клиента не работает резолвинг доменного имени в ip и он не может попасть на сайт через браузер. Конечно, при желании, эту блокировку соцсети можно обойти. Для наибольшей эффективности надо комбинировать оба предложенных в статье способа.

Для тех, кому интересно, почему я описал именно такой способ блокирования нежелательных сайтов, поясню. Подсмотрел его в недавно переведенной мной презентации от сотрудника Mikrotik, где он дает рекомендации по настройке. Я просто попробовал его реализовать и все получилось. Решил его добавить в эту статью. Все вопросы и претензии по реализации прошу отправлять автору метода, не мне :) Мопед, как говорится, не мой.

Блокировка рекламы средствами mikrotik

С помощью изученного средства по ограничению доступа к сайтам достаточно просто блокировать любую рекламу. Для примера рассмотрим вариант по блокировке рекламы в Skype. Так как я знаю адреса серверов, куда скайп лезет за рекламой, я могу его заблокировать в mikrotik. У меня есть список:

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

Дальше как обычно создаем regexp выражение для списка адресов:

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

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Материала в интернете по Микротику много. Я сам пока разбирался в данном вопросе перечитал кучу статей. И все они какие-то недоделанные. Либо вопрос слабо раскрыт, либо что-то вообще не работает. Не знаю, в чем причина такой ситуации. Возможно что-то меняется в настройках и информация становится неактуальной. Сходу у меня не заработала фильтрация на основе Layer7 Protocols, пришлось повозиться, покопаться в regexp, в правилах, в их расположениях. Надеюсь мой материал немного исправит данную ситуацию.

Буду рад любым замечаниям к статье, так как сам учусь в процессе написания. В своей работе лично я не использую какие либо ограничения доступа к сайтам, так как считаю это бесполезным занятием. Но многие пользуются, поэтому разбираться в этом вопросе считаю полезным делом. К тому же эти блокировки с помощью микротика могут быть актуальны дома для ограничения доступа детей к нежелательным сайтам. Так же можно по расписанию отключать доступ к youtube, к примеру, после 22 часов.

Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.

Блокирование сайтов и настройка родительского контроля в роутере MikroTik

Потребность в блокировке вредоносного контента была, и остается одной из основных потребностей для улучшения безопасности сети. А с уменьшением возраста пользователей, блокировка «взрослого» контента стала актуальна не только для офиса, а и для домашней сети.

Содержание:

1. Черный список адресов (Blacklist)

Этап первый. Создаем список веб сайтов которые нужно заблокировать: Главное меню – IP – Firewall вкладка Address Lists и нажимаем кнопку «+» для создания записи. В строке Name даем имя нашему листу, в нашем случае «Blacklist». Далее в строке Addresses вводим домен сайта. А в строке Timeout - можно указать время действия записи, после истечения которого запись будет автоматически удалена, если запись будет постоянная, то эту строку оставляем не заполненной. Далее нажимаем кнопку «OK» и запись появляется в нашем списке. Для создания следующей записи снова нажимаем кнопку «+», и так для каждого веб сайта.

1 этап - Создание списка сайтов для блокировки. Скрин 1 1 этап - Создание списка сайтов для блокировки. Скрин 2

Этап второй: Следующим этапом будет непосредственное создание запрещающего правила. Гланое меню – IP – Firewall вкладка Filter Rules нажимаем кнопку «+» для создания правила.

Создание запрещающего правила - скрин 1

2 этап - Создание запрещающего правила

Настраиваем правило следующим образом: (для тех кто еще не знаком с правилами firewall и зачем они нужны, советую прочитать статью «Настройка оборудования MikroTik» раздел «Базовые правила Firewall MikroTik»)

Вкладка General: Chain – forward

Вкладка Advance: Dst. Address List – Blacklist (здесь мы в качестве адреса назначения подставляем созданный нами ранее список сайтов, и если название сайта на который отправил запрос пользователь совпадет с сайтом в списке, то с этим соединением будет выполнено действие которое будет настроено во вкладе Action)

Вкладка Action: Action – reject, Reject With- icmp network unreachable (будет выполняться следующие действие – запрос буде отклонен так как сеть недоступна. В отличии от «drop», это действие проинформирует браузер о невозможности соединения, и браузер перестанет посылая запросы на установления соединения. В итоге это позволит уменьшить нагрузку на процессор).

Нажимаем кнопку «ОК» провело готово.

ВАЖНО. В случае если у вас уже существуют правила firewall, наше правило по блокировки веб страниц нужно перенести в начало списка, иначе оно не будет работать.

2 этап - Настройка запрещающего правила. Скрин 1 2 этап - Настройка запрещающего правила. Скрин 2 2 этап - Настройка запрещающего правила. Скрин 3

2. Блокировка при помощи DNS

Второй метод более практичный и быстрый, так как работу по поиску и актуализации вредоносных сайтов занимается сторонняя компания. На просторах интернет можно найти много разных компаний, но я свой выбор остановил на компании Norton, эта компания предоставляет услугу по использованию своих DNS серверов. Что не маловажно это быстрый и совершенно бесплатный сервис для частного использования в домашней сети. На выбор предлагается три варианта:

Политика

IP-адреса

Описание

Политика 1. Безопасность

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

Политика 2. Безопасность + порнографическое содержимое

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

Политика 3. Безопасность + порнографическое содержимое + другое

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

Итак выбрали DNS и прописываем его в нашем маршрутизаторе: Главное меню – IP – DHCP Server вкладка Networks, выбираем существующую сеть двойным кликом проваливаемся в нее и заполняем строку DNS Server. Нажимаем «ОК», готово.

Блокировка при помощи DNS. Скрин 1 Блокировка при помощи DNS. Скрин 2

И теперь при переходе на вредоносный сайт мы будем получать уведомление о блокировке данного ресурса.

Блокировка при помощи DNS - скрин 3

Блокировка при помощи DNS. Скрин 3

Важно. Для того чтобы избежать ситуации, когда пользователь вручную прописывает на своем устройстве DNS сервера, нужно изменить параметры ARP записей на MikroTik. Для этого нам потребуется выполнить всего одно действие.

Делаем изменение настроек на интерфейсе, к которому подключены пользователи: Главное меню – Interfaces вкладка Interface, так как все порты в нашем примере объединены в один Bridge выбираем его. Двойным кликом заходим на Bridge, вкладка General изменяем параметры ARP на reply-only и нажимаем кнопку «ОК».

Блокировка при помощи DNS - скрин 4

Блокировка при помощи DNS. Скрин 4

После выполнения этих простых действий пользователи которые будут статически прописывать IP или DNS адреса на своем устройстве, попросту не будут подключаться к сети.

3. Блокировка приложения

В том случае, когда нужно заблокировать не доступ к сайту, а приложение, которое установлено на устройстве. Ни один из выше перечисленных вариантов не сработает, в этом случае мы можем воспользоваться блокировкой на уровне приложении (Layer 7 Protocols). Как пример, заблокируем социальную сеть Facebook. Главное меню – IP – Firewall, вкладка Layer 7 Protocols. Нажимаем кнопку «+» и создаем фильтр с названием facebook и в поле Regexp вводим слово, по которому будет осуществляться фильтрация, в нашем случае это слово - facebook, нажинаем кнопку «ОК».

Блокировка социальной сети Facebook на роутере Mikrotik

Блокировка социальной сети Facebook на роутере Mikrotik

Если создать обычное правило фильтрации в Firewall то весь трафик без разбору будет проходить через это правило что приведет к большой нагрузке на центральный процессор маршрутизатора и увеличит задержку (в сети с небольшим количеством пользователей прямое правило фильтрации не сильно повлияет на работоспособность устройства и сети в целом). Для того что бы облегчить обработку, следует промаркировать трафик и уже после этого его фильтровать.

1. Маркируем трафик. Главное меню – IP – Firewall, вкладка Mangle, нажимаем «+» для создания правила:

Маркировка трафика

Маркировка трафика

Создаем правило маркировку соединения:

Вкладка Gwneral: создаем цепочку Chain – prerouting, выбераем Connection Mark – no-mark

Вкладка Advanced: выбираем ранее созданный нами фильтр Leyer 7 Protocol – facebook

Вкладка Action: Action –mark connection, и задаем имя New Connection Mark – facebook_connection, нажимаем кнопку «ОК», ми создали маркировку соединения, снова нажимаем кнопку «+» и добавляем правило для маркировки пакетов.

Создание правила маркировки соединения

Создание правила маркировки соединения

Создаем правило маркировку пакетов:

Вкладка Gwneral: создаем цепочку Chain – prerouting, и выбираем созданное нами значение Connection Mark – facebook_connection

Вкладка Action: Action – mark packet, задаем имя промаркированным пакетам New Connection Mark – facebook_packet, нажимаем кнопку «ОК» и переходим ко второму этапу.

Создание правила маркировки пакетов

Создание правила маркировки пакетов

2. Создаем правила для блокировки. Главное меню – IP – Firewall, вкладка Filter Rules. Нажимаем кнопку «+» и создаем правила фильтрации. (Не забываем переместить правило в вверх для корректной работы)

Создание правила для блокировки

Создание правила для блокировки

Создаем две цепочки правил forward и input:

Вкладка Gwneral: Chain-forward, Packet Mark - facebook_packet

Вкладка Action: Action – drop, жмем «ОК».

Вкладка Gwneral: Chain- input, Packet Mark - facebook_packet

Вкладка Action: Action – drop, жмем «ОК».

Создание двух цепочек правил forward и input. Скрин 1 Создание двух цепочек правил forward и input. Скрин 2

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

Следите за последними новостями компании DEPS и телекоммуникационного рынка на нашем Telegram канале.

Если хотите стать автором в нашем блоге, то переходите по ссылке и пишите нам!

Читайте также: