Потребность в блокировке вредоносного контента была, и остается одной из основных потребностей для улучшения безопасности сети. А с уменьшением возраста пользователей, блокировка «взрослого» контента стала актуальна не только для офиса, а и для домашней сети.
В данной статье будет рассмотрено несколько способов блокировки контента, как веб сайтов, так и приложений в целом. В данном примере мы не будем рассматривать подробную настройку маршрутизатора, а только отдельные компоненты в приделах тематики данного материала. (Пример настройки оборудования торговой марки MikroTik вы сможете найти в статье Базовая настройка роутера MikroTik https://deps.ua/knowegable-base-ru/primery-tehnicheskih-reshenij/66995.html). В данной статье мы рассмотрим три метода блокировки. Эти методы можно применять на устройствах торговой марки MikroTik под управлением операционной системы RouterOS версии не ниже 6.30.
1. Черный список адресов (Blacklist)
Ранее для блокировки веб сайтов по протоколу HTTP, использовался механизм Proxy. Но ввиду массового перехода на шифрованный протокол HTTPS, механизм Proxy стал не актуальным, по крайней мере до его модернизации использовать его бессмысленно. И для блокировки контента мы воспользуемся фильтром firewall, но мы не буем создавать для каждого веб сайта отдельное правило, а будет блокировать список адресов. Для создания такого механизма нам потребуется выполнить два этапа.
Этап первый. Создаем список веб сайтов которые нужно заблокировать: Главное меню – IP – Firewall вкладка Address Lists и нажимаем кнопку «+» для создания записи. В строке Name даем имя нашему листу, в нашем случае «Blacklist». Далее в строке Addresses вводим домен сайта. А в строке Timeout - можно указать время действия записи, после истечения которого запись будет автоматически удалена, если запись будет постоянная, то эту строку оставляем не заполненной. Далее нажимаем кнопку «OK» и запись появляется в нашем списке. Для создания следующей записи снова нажимаем кнопку «+», и так для каждого веб сайта.
Для ускорения процесса можно воспользоваться терминалом: Главное меню – Terminal и вводим следующую команду: «/ip firewall address-list add address= www.usb.com list=Blacklist» - где Blacklist – это название нашего списка веб сайтов, а сайт www.usb.com выбран в качестве примера вредоносного сайта.
Этап второй: Следующим этапом будет непосредственное создание запрещающего правила. Гланое меню – IP – Firewall вкладка Filter Rules нажимаем кнопку «+» для создания правила.
Настраиваем правило следующим образом: (для тех кто еще не знаком с правилами firewall и зачем они нужны, советую прочитать статью «Настройка оборудования MikroTik» раздел «Базовые правила Firewall MikroTik»)
Вкладка General: Chain – forward
Вкладка Advance: Dst. Address List – Blacklist (здесь мы в качестве адреса назначения подставляем созданный нами ранее список сайтов, и если название сайта на который отправил запрос пользователь совпадет с сайтом в списке, то с этим соединением будет выполнено действие которое будет настроено во вкладе Action)
Вкладка Action: Action – reject, Reject With- icmp network unreachable (будет выполняться следующие действие – запрос буде отклонен так как сеть недоступна. В отличии от «drop», это действие проинформирует браузер о невозможности соединения, и браузер перестанет посылая запросы на установления соединения. В итоге это позволит уменьшить нагрузку на процессор).
Нажимаем кнопку «ОК» провело готово.
ВАЖНО!!! В случае если у вас уже существуют правила firewall, наше правило по блокировки веб страниц нужно перенести в начало списка, иначе оно не будет работать.
2. Блокировка при помощи DNS
Второй метод более практичный и быстрый, так как работу по поиску и актуализации вредоносных сайтов занимается сторонняя компания. На просторах интернет можно найти много разных компаний, но я свой выбор остановил на компании Norton, эта компания предоставляет услугу по использованию своих DNS серверов. Что не маловажно это быстрый и совершенно бесплатный сервис для частного использования в домашней сети. На выбор предлагается три варианта:
Политика |
IP-адреса |
Описание |
Политика 1. Безопасность |
199.85.126.10 199.85.127.10 |
Блокирует все вредоносные программы, которые могут размещаться сайтами, а также фишинговые и мошеннические сайты. |
Политика 2. Безопасность + порнографическое содержимое |
199.85.126.20 199.85.127.20 |
Помимо блокирования небезопасных сайтов, также запрещает доступ к сайтам, содержащим материалы сексуальной направленности. |
Политика 3. Безопасность + порнографическое содержимое + другое |
199.85.126.30 199.85.127.30 |
Идеально подходит для семей с малолетними детьми. Помимо блокирования сайтов с небезопасным и порнографическим содержимым, предотвращает доступ к сайтам, на которых размещены материалы, связанные с контентом для взрослых, абортами, алкоголем, преступлениями, культами, наркотиками, азартными играми, нетерпимостью, сексуальной направленностью, самоубийствами, табакокурением и насилием. |
Итак выбрали DNS и прописываем его в нашем маршрутизаторе: Главное меню – IP – DHCP Server вкладка Networks, выбираем существующую сеть двойным кликом проваливаемся в нее и заполняем строку DNS Server. Нажимаем «ОК», готово.
И теперь при переходе на вредоносный сайт мы будем получать уведомление о блокировке данного ресурса.
Важно!!! Для того чтобы избежать ситуации, когда пользователь вручную прописывает на своем устройстве DNS сервера, нужно изменить параметры ARP записей на MikroTik. Для этого нам потребуется выполнить всего одно действие.
Делаем изменение настроек на интерфейсе, к которому подключены пользователи: Главное меню – Interfaces вкладка Interface, так как все порты в нашем примере объединены в один Bridge выбираем его. Двойным кликом заходим на Bridge, вкладка General изменяем параметры ARP на reply-only и нажимаем кнопку «ОК».
После выполнения этих простых действий пользователи которые будут статически прописывать IP или DNS адреса на своем устройстве, попросту не будут подключаться к сети.
3. Блокировка приложения
В том случае, когда нужно заблокировать не доступ к сайту, а приложение, которое установлено на устройстве. Ни один из выше перечисленных вариантов не сработает, в этом случае мы можем воспользоваться блокировкой на уровне приложении (Layer 7 Protocols). Как пример, заблокируем социальную сеть Facebook. Главное меню – IP – Firewall, вкладка Layer 7 Protocols. Нажимаем кнопку «+» и создаем фильтр с названием facebook и в поле Regexp вводим слово, по которому будет осуществляться фильтрация, в нашем случае это слово - facebook, нажинаем кнопку «ОК».
Если создать обычное правило фильтрации в 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:
Цепочка forward:
Вкладка Gwneral: Chain-forward, Packet Mark - facebook_packet
Вкладка Action: Action – drop, жмем «ОК».
Цепочка input:
Вкладка Gwneral: Chain- input, Packet Mark - facebook_packet
Вкладка Action: Action – drop, жмем «ОК».
Итак в данной статье мы рассмотрели, как можно заблокировать доступу не благонадежным ресурсам тем самим подняв безопасность собственной сети. В вышеописанных примерах правила фильтрации применялись на общую сеть, также их можно применять и для выделенной подсети или определенного IP адреса.