Блокировка сайтов в MikroTik без Layer7 Protocols

MikroTik

Года эдак два назад я решил обзавестись домашней точкой доступа (в простонародии роутер) и выбор пал на оборудование фирмы MikroTik. Я не был знаком с их интерфейсом и возможностями, поэтому, когда мне понадобилось выборочно заблокировать сайты, я полез в гугл, который мне выдал всего пару вариантов для реализации этой затеи. Выделю три основных:

  • Фильтровать пакеты с помощью Layer7 Protocols
  • Банально задать статические DNS записи для нужных доменов
  • Использование WebProxy

РЕКОМЕНДУЕМ:
Настройка безопасности MikroTik

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

Layer7 Protocols

На первый взгляд идеальное решение. Однако, загружает CPU «микрота» и требует отключения fasttrack`а. В дополнение к этому, лично у меня так и не вышло настроить эту фичу нужным мне образом. Либо блокировалось всё, либо ничего.

Статические записи в DNS

Естественно, для этого сам микротик должен выступать в роли DNS-сервера в сети. Но основной недостаток этого метода — если нужно работать с сайтами в режиме «белого списка», т.е. блокировать всё, кроме нужных доменов — он бесполезен. Ну либо придётся добавить весь интернет в такие записи.

WebProxy

Тут даже говорить не о чем, он банально не работает с HTTPS.

Собственно, долго и упорно я гуглил другие методы, коих так и не смог найти нигде. Однако, пытаясь решить данную задачу другим путём, совершенно случайно набрёл на удобную фичу, что мне помогла решить эту проблему в полной мере — Addresses Lists.

А конкретнее…

Присутствует в микротике такая замечательная функция, как Firewall -> Addresses Lists.

Позволяет создавать списки IP-адресов. Так вот начиная с RouterOS 6.36 она умеет генерировать динамические адреса на основе указанного домена. Если ещё не уловили основную суть, то прошу под кат.

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

Проделывать я всё буду в Winbox, т.к. статья всё-таки для таких же новичков, как и я, и GUI здесь будет понятнее намного.

Идём в обозначенный выше пункт IP -> Firewall -> Addresses Lists.

IP — Firewall — Addresses Lists

Создаём новый список, обзываем как душе угодно, в поле Address прописываем домен нужного нам сайта и нажимаем «ОК».

Создание нового списка

Через секунду после добавления такого правила микротик автоматически добавит в список все IP-адреса указанного сайта и подпишет каждый комментарием, к какому именно DNS-адресу принадлежит данный IP.

Смотрим динамически созданные адреса

Далее переходим в соседнюю вкладку «Filter Rules»

Смотрим, где она

Добавляем новое правило со следующими параметрами:

  • Вкладка General
    • Chain: forward
  • Вкладка Advanced
    • Dst. Address List: Выбираем наш свежеиспечённый список, у меня он называется «VK»
  • Вкладка Action
    • Action: drop
Наглядно картинками

Сохраняем правило, размещаем выше запрещающих и бинго… Указанный сайт заблокирован без каких-либо сложных манипуляций. А, главное, можно в одно движение инвертировать правило, и оно станет работать как «белый список». Все сайты, кроме тех, что в списке адресов, будут заблокированы. Для этого достаточно установить чекбокс слева от пункта Dst. Address List на вкладке Advanced.

Изменённый пункт выделен синим

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

РЕКОМЕНДУЕМ:
Как работает уязвимость в ModSecurity WAF

Заключение

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

Понравилась статья? Поделиться с друзьями:
Комментарии: 1
  1. Alexander

    Разве с Ютюбом такой фокус прокатит ? Они постоянно создают новые адреса.

Добавить комментарий