Как заблокировать или разблокировать веб-сайт в Mikrotik

Иногда есть необходимость запрещать доступ к веб-сайтам социальных сетей, таким как VK, YouTube, Telegram и другим. Также может возникнуть потребность блокировать все веб-сайты, кроме одного.

В этой статье я представил три различных метода блокировки веб-сайтов на Mikrotik. В отличие от других устройств брандмауэра, брандмауэр MikroTik автоматически разрешает все веб-сайты. Поэтому для запрета доступа к конкретному веб-сайту необходимо создать правило брандмауэра.

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

Приглашаю вас принять участие в тестировании моего бота EasyTools в Telegram.

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

Многообразие IT-инструментов доступно во вкладке «Утилиты».


Брандмауэр MikroTik как решение для блокировки веб-сайтов

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

  • Conditional part: В данном разделе условия сопоставляются с использованием различных атрибутов, таких как протокол уровня 7, порт источника, порт назначения, протокол, chain и т.д.
  • Action part: Этот фрагмент блокирует доступ к любому веб-сайту с применением одного действия “drop”.

Примечание: Если условия правила фильтрации соблюдаются, брандмауэр MikroTik сбросит соединение. Таким образом, пользователь не сможет использовать маршрутизатор MikroTik для доступа к данному веб-сайту.

Роль протокола уровня 7

Брандмауэр MikroTik может блокировать любой веб-сайт, использующий протокол уровня 7 вместе с его исходными или целевыми адресами. Для поиска ключевого слова в URL протокол уровня 7 использует Perl Regex (регулярное выражение). При совпадении срабатывает правило фильтрации, использующее этот протокол уровня 7, и принимаются соответствующие меры. Чтобы запретить доступ к веб-сайтам, содержащим определенное ключевое слово, такое как Facebook, YouTube и другие, мы будем использовать регулярные выражения для создания протокола уровня 7, который затем применим в наших правилах фильтрации.

Весь процесс создания правила фильтрации включает в себя два этапа:

  1. Создание протокола уровня 7 для выбора необходимого веб-сайта.
  2. Создание правила брандмауэра для блокировки выбранного веб-сайта.


Метод 1. Использование веб-прокси для блокировки веб-сайта

Чтобы воспользоваться этим методом блокировки веб-сайта на Mikrotik, необходимо активировать и настроить веб-прокси на вашем сервере.

Для просмотра настроек доступа к веб-прокси, следуйте по указанному пути:

  • Перейдите в меню “IP” > “Веб-прокси” (в самом нижнем разделе), чтобы просмотреть настройки.
  • Найдите навигацию справа на странице под General опцией веб-прокси и выберите “Access”.

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

Вышеуказанные выделенные опции функционируют следующим образом:

  • Dst Port: заполняется портом, используемым пользователями для просмотра веб-сайтов.
  • Dst Host: заполняется адресом веб-сайта, который вы хотите заблокировать.
  • Actions: Заблокируйте адрес веб-сайта, который вы написали, в поле “Dst Host”
  • Redirect to: Перенаправьте заблокированный сайт на другой.

Когда вы заполните, нажмите кнопку “OK”.

Таким образом, после перехода по адресу, который вы указали в поле “Dst Host”, вы увидите “Access Denied”.

Как использовать веб-прокси для блокировки веб-сайтов в MikroTik

Одним из недостатков использования веб-прокси для блокировки веб-сайтов является невозможность блокировки HTTPS-сайтов, таких как Facebook и YouTube. Поэтому для блокировки HTTPS-сайтов используйте функции протокола уровня 7 и Mangle, о которых подробно рассказал в следующих разделах.


Метод 2. Использование протоколов уровня 7 (L7P) для блокировки веб-сайта

Пройдем к описанию второго метода блокировки веб-сайтов на Mikrotik, где мы рассмотрим использование протокола уровня 7 для этой цели. В данном случае приводится пример того, как заблокировать доступ к Facebook на Mikrotik с использованием протоколов уровня 7.

Для доступа к протоколам уровня 7 следуйте указанному пути:

  • Нажмите в меню “IP” > “Firewall”.
  • Выберите вкладку “Layer 7 Protocols”.

Затем требуется создать и настроить сценарий L7P. Для этого:

  • Нажмите синий знак +, чтобы открыть новое окно “Firewall L7 Protocol”.
  • В колонке с именем укажите название сценария и регулярного выражения. Например, чтобы заблокировать Facebook, введите в поле ввода “Regexp” следующее регулярное выражение: ^.+(Facebook.com).*$
  • Нажмите Apply и OK
  • Для блокировки желаемых вами веб-сайтов необходимо использовать собственные протоколы уровня 7 в правилах фильтрации, которые вы создали. Таким образом, следующим шагом является создание правила фильтрации для нашего брандмауэра.

На этом этапе, когда вы создали сценарий L7P, вы готовы создавать правила фильтрации для запуска этого сценария. Итак, следуйте следующим шагам:

  • Перейдите в меню “IP” > “Firewall” на вкладку “Filter Rules”.
  • Чтобы создать новую конфигурацию, нажмите знак +.
  • Заполните столбец “Chain” на вкладке “General” значением “forward”.

На вкладке “Advanced” введите имя ранее созданного сценария L7P в поле “Layer 7 Protocols”.

Как показано на следующем скриншоте, выберите “drop” и нажмите “OK” на вкладке “Action”.

Таким образом, доступ к Facebook на вашем ПК будет закрыт.

Примечание: Все пользователи, посещающие веб-сайт, созданный с использованием L7P (на вкладке “Advanced”), будут переадресованы (Chain: Forward) и получат запрет на выполнение действий (Action: Drop).

Это был второй метод блокировки веб-сайтов в Mikrotik. Есть еще один способ!


Метод 3. Использование Mangle для блокировки HTTPS

Если предыдущие два варианта вас не устраивают или не работают в вашей системе, вы можете воспользоваться этим методом, используя Mangle в правилах фильтрации для блокировки веб-сайтов на Mikrotik.

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

  • Перейдите в меню “IP” > “Firewall”.
  • Выберите вкладку “Mangle.
  • Нажмите знак + для создания настроек.

Затем на вкладке “General”:

  • Заполните поле “Chain” значением “Forward”.
  • Поле “SRC. Address” должно быть заполнено IP-сетью, которую вы собираетесь заблокировать.

Примечание: Если вы используете более одной сети, заполните 0.0.0.0/0 (применяется ко всем сетям).

На вкладке “Advanced:

  • В поле “Content” введите имя целевого веб-сайта, который вы хотите заблокировать.

На вкладке “Action” в настройках Mangle:

  • Заполните столбец “Action” значением “add to address list”.
  • В поле “Address list” укажите название списка IP-адресов для заблокированных сайтов.

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

  • Проверьте в прокси-сервере в меню “IP” > “Firewall” > вкладка “Address List”.

Примечание: Конфигурация Mangle успешна, если на вкладке “Address List” есть содержимое в виде IP-адреса. Теперь вы можете создать новое правило фильтрации.

Чтобы создать новое правило фильтрации:

  • Заполните поле “Chain” значением “Forwards”.

На вкладке “Advanced”:

  • В поле “Dst. Address List” укажите название списка, который вы только что создали.

Наконец, на вкладке “Action:

  • В поле “Reject With укажите “icmp network unreachable”.
  • Нажмите ОК.

Примечание: Каждый пользователь, посещающий веб-сайт, который включен в список адресов “Dst. Address”, получит ответ “Reject” и увидит уведомление о недоступности сети в своем веб-браузере “Reject With”.


Разрешение доступа к заблокированному веб-сайту для определенного пользователя

До этого вы ознакомились с тем, как заблокировать веб-сайт на Mikrotik с использованием трех различных методов. Таким образом, вы настроили правило фильтрации, которое запрещает доступ всем пользователям в вашей локальной сети. Тем не менее иногда возникает необходимость предоставить доступ к ограниченному веб-сайту (например, Facebook, YouTube) определенным лицам.

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

  • Чтобы создать новое правило фильтрации, перейдите на вкладку “Filter Rules” и нажмите знак плюс (+). В результате откроется новое окно для настроек брандмауэра.
  • На вкладке “General выберите “forward” в выпадающем меню “Chain”.
  • Введите IP-адрес вашего пользователя в поле ввода “Address input box“, чтобы предоставить ему доступ к веб-сайтам, которые обычно запрещены.
  • Выберите “tcp” из выпадающего меню “Protocol”, сделав клик по нему.
  • Укажите порты 80 и 443 в поле ввода “Dst. Port”.
  • На вкладке “Advanced” выберите из выпадающего меню “Layer7 Protocol” протокол уровня 7, который пользователь может использовать.
  • На вкладке “Action” выберите “accept” из выпадающего меню “Action”.
  • Нажмите Apply и OK.

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


Заключение

В этой статье вы узнали, как заблокировать веб-сайты на Mikrotik. В разумных целях увеличения рабочего времени, обеспечения безопасности и управления сетью такое действие может быть полезным. Блокировка сайтов с помощью веб-прокси, блокировка сайтов с применением протоколов уровня 7 и блокировка HTTPS-сайтов с использованием Mangle – это три решения, которые вы можете попробовать, чтобы заблокировать или разблокировать веб-сайты на Mikrotik.

Подпишись на канал автора в Telegram
This is default text for notification bar

Что будем искать? Например,Cisco