Привет, Хабр!
В статье расскажу как в гостевой Wi-Fi сети блокировал сайты с контентом 18+ (для взрослых) на межсетевых экранах Zyxel моделей VPN / ATP / USG Flex (все со встроенным контроллером точек доступа), чтобы гости в публичных сетях или персонал в пользовательской сети не могли загрузить такие сайты, нередко оказывающиеся вредоносными.
Мои предыдущие статьи:
В конце текста информация обо мне.
Вообще, у межсетевых экранов Zyxel VPN / ATP / USG Flex есть свой функционал блокировки сайтов для взрослых, называется "Контентная фильтрация". Познакомиться с ним можно тут и тут.
В силу различных причин не всем удаётся его приобрести для продления просроченной лицензии. Первый год на новых межсетевых экранах лицензия на контентую фильтрацию бесплатно работает, потом требует ключ для продления лицензии. На это, как обычно, денег не дают, либо считают, что обойдёмся без неё, либо это иностранное ПО, не всем можно его закупить. И много других причин.
Поэтому альтернативным путём заблокируем сайты для взрослых с минимумом затраченного времени, не затрагивая гостевые и пользовательские устройства. Всё делаем только на одном межсетевом экране.
Пример настройки блокировки взрослого контента производился на межсетевом экране (МСЭ) Zyxel VPN100 с дефолтной конфигурацией. Настройки подойдут и другим межсетевым экранам как ATP и USG Flex. Отличий между ними в настройках нет.
Примечание: в статье гостевая Wi-Fi сеть или пользовательская подключена к порту P4 (зона lan1). Интернет-кабель подключён к порту P2 (зона WAN). Порт P2 в некоторых местах веб-интерфейса и в консоли обозначен как ge2.
С веб-интерфейсом вышеуказанных МСЭ можно познакомиться в виртуальной лаборатории Zyxel:
Приступаем к настройке.
1) Заходим на сайт https://dns.yandex.ru, переписываем IP адреса режима "Семейный", это 77.88.8.7 и 77.88.8.3 (рис.1).
На момент публикации статьи технические подробности Яндекс.DNS были такими (рис.2).
Очень здорово, что помимо блокировки сайтов для взрослых, возможно заблокировать рекламу для взрослых.
2) Заходим на веб-страницу МСЭ и добавим адреса Яндекс.DNS в "КОНФИГУРАЦИЯ -> Система -> DNS" (рис.3).
После добавления DNS адресов, должно быть вот так, как на рис.4.
Либо в консоли пропишем (рис.5).
Набранный текст команд для копипаста:
configure terminal
ip dns server zone-forwarder insert 1 * user-defined 77.88.8.7 interface ge2
ip dns server zone-forwarder insert 2 * user-defined 77.88.8.3 interface ge2
write
-
exit
Проверка записей добавленных DNS серверов:
show ip dns server database
Примечание: адреса других DNS не рекомендуется оставлять или добавлять.
3) "КОНФИГУРАЦИЯ -> Сеть -> Интерфейс -> Вкладка Ethernet -> Строка #4 lan1" (рис.6).
Примечание: lan1 по умолчанию назначен физическому порту P4 МСЭ VPN100.
Далее прокручиваем страницу до "Настройки DHCP -> Первый DNS-сервер:". В выпадающем списке выберите "ZyWALL" (рис.7).
Для второго и третьего DNS-серверов оставляем "None" (рис.8).
Или в консоли (рис.9)
Набранный текст команд для копипаста:
configure terminal
ip dhcp pool LAN_POOL
first-dns-server ZyWALL
exit
write
-
exit
Проверка внесённых изменений:
show ip dhcp pool LAN_POOL
Для справки, команды удаления второго и третьего DNS-серверов:
no second-dns-server
no third-dns-server
Теперь DNS запросы от гостей или пользователей МСЭ через себя направляет на Яндекс.ДНС Семейный. В итоге, сайты с взрослым контентом не загружаются, либо сообщает, что по их запросу ничего не нашлось.
Примечание: перед проверкой на загрузку взрослого контента обязательно чистим кэш браузера и удаляем DNS-записи в ОС (в командной строке Windows - это ipconfig /flushdns ).
Далее добавим правило в файрволл, блокирующее DNS запросы из гостевой или пользовательской зоны LAN1 к другим DNS серверам в интернете (зона WAN), чтобы гости или пользователи не могли по другим DNS серверам выходить в интернет.
4) "КОНФИГУРАЦИЯ -> Безопасность -> Политики" (рис.11)
Или в консоли (рис.12)
Готовые наборы команд для копипаста:
configure terminal
secure-policy insert 1
name LAN1_Outgoing_Stop_DNS
from LAN1
to WAN
service DNS
action deny
log
exit
write
-
exit
Проверка добавленного правила:
show secure-policy 1
Правила в файрволле действуют снизу вверх, новое правило "LAN1_Outgoing_Stop_DNS" должно быть выше правила "LAN1_Outgoing". По такому алгоритму сначала действует правило "LAN1_Outgoing", затем "LAN1_Outgoing_Stop_DNS".
Следовательно, запретили отправку трафика от гостей/пользователей зоны lan1 на 53 порт DNS-серверов, находящиеся в зоне wan. Правило коснётся тех, у кого прописаны другие DNS серверы в настройках сетевой карты. Нормальной работы в интернете (сёрфинг) не будет вследствие отброса DNS запросов правилом "LAN1_Outgoing_Stop_DNS".
Поэтому гости/пользователи должны вернуть автоматические сетевые настройки для DNS адресов (рис.13), после чего DNS запросы из LAN1 будут обрабатываться по правилу "LAN1_to_Device" (рис.14), где Device, ZyWALL - это сам МСЭ VPN100.
Дальше МСЭ запросы DNS от гостей/пользователей сам направит DNS серверам, указанные на рис.4. Поэтому очень важно, чтобы первым DNS сервером был ZyWALL, а второй и третий DNS серверы были None, всё как на рис.8
Отмечу интересную возможность, точнее лайфхак, если DNS сервер "ZyWALL". Необходимо было запретить сайты, например, youtube.com или vk.com. Указал их поочерёдно в "КОНФИГУРАЦИЯ -> Система -> DNS" (рис.15) с направлением на любой серый IP, который нигде не установлен и никогда никому не назначал (по дефолту DHCP раздаёт адреса из диапазона 192.168.1.33-192.168.1.232).
Или в консоли (рис.16):
Готовые наборы команд для копипаста:
configure terminal
ip dns server a-record youtube.com 192.168.1.1
ip dns server a-record vk.com 192.168.1.1
write
-
exit
Проверка добавленных записей:
show ip dns server database
В итоге, гостя/пользователя, набравшего youtube.com или vk.com, отправляло на несуществующий адрес, который указан в рис.15-16. В браузерах сообщалась ошибка загрузки страницы youtube.com или vk.com.
Рассмотрим на живом примере (рис.17). До добавления записей FQDN сайты youtube.com и vk.com пинговались и были доступны (выделены КРАСНЫМ). Затем добавил FQDN записи как на рис.15, либо рис.16 и повторно пингую. Теперь эти сайты недоступны и в браузере не открываются (выделено ЗЕЛЁНЫМ), что и хотели сделать, чтобы пользователи не отвлекались на посторонние ресурсы в рабочее время.
Помимо этого способа, сайты можно блокировать другими способами, как:
внесением FQDN имени в запрещающее правило файрволла, пример тут;
контент-фильтром (необходима лицензия) (рис.18).
Ещё лайфхак. Если в ранее созданном правиле (рис.11 или 12) установить log alert (рис.19) и установить галочку как на рис.20 (туда добираться по пути "КОНФИГУРАЦИЯ -> Логи и отчёты -> Настройки лога -> Строка #1 System Log"), то МСЭ будет отсылать на E-Mail log alert сообщения об отброшенном трафике с такого то IP на такой то IP на 53 порт. Очень удобно, будете уведомлены, кто сейчас подключается к посторонним DNS серверам. Лишь бы почтовый сервер не тормозил.
Вот и всё.
Примечание: вышеописанные способы блокировки не являются 100% гарантией блокировки контента для взрослых, но даёт возможность быстро, с минимальными вложениями ограничить контент 18+, не получив при этом половину неработающих нормальных и безобидных сайтов, необходимые для работы и сёрфинга, потратив немного времени на настройку только одного МСЭ, не затрагивая гостевые и пользовательские устройства.
Об авторе:
Кто я? Меня зовут Александр. 16 лет профессионально занимаюсь СКС и сетевым оборудованием. Больше времени провожу с СКС (монтаж, обслуживание), чем с настройкой сетевого оборудования, поэтому на настройки времени особо нет, но получил много опыта работы с сетевым оборудованием различных вендоров. Приветствую простоту и дружелюбность конфигурирования/мониторинга сетевого оборудования, ответственность вендора за качество выпускаемой продукции и готовность исправлять недостатки, чтобы не тормозили сдачу новых проектов в назначенные сроки. Меня можно встретить и лично пообщаться в Телеграме - @NSanchez13, так что, если будут вопросы, комментарии, мнения – милости прошу.
Полезные ссылки:
Русскоязычная документация на контроллеры точек доступа Zyxel с функцией межсетевого экрана http://download.from.Zyxel.ru/e2a9ef2c-8a04-4531-99ac-723ae068c44e/NXC2500_NXC5500_V4.10_UG-Rus.pdf
Новостной канал в Telegram - https://t.me/zyxel_news
Телеграм-чат поддержки для специалистов - https://t.me/zyxelru
Форум для специалистов - https://community.zyxel.com/ru/categories
Свежие новости в FaceBook - https://www.facebook.com/Zyxel.Russia
Полезные и интересные статьи в блоге Zyxel на Хабре - https://habr.com/company/zyxel
Наш YouTube - https://www.youtube.com/channel/UCcNN2UCEz1e49PEaAisN5ow
Реализованные проекты - https://www.zyxel.com/ru/ru/solutions/success_stories_list.shtml
База знаний и обращение в техподдержку - https://support.zyxel.eu/hc/ru
Выставочный стенд с ATP800 - https://support.zyxel.eu/hc/ru/articles/360006445519
Выставочный стенд с USG Flex 200 - https://support.zyxel.eu/hc/ru/articles/360014708840
Выставочный стенд с остальным оборудованием Zyxel - https://support.zyxel.eu/hc/ru/sections/360001858040
Ещё оборудования на выставочном стенде - https://support.zyxel.eu/hc/ru/articles/360014652580
Мастер выбора оборудования - select.zyxel.ru
Центр обучения Zyxel - https://academy.zyxel.eu/zcne-ru
Постановление Правительства РФ №758 от 31 июля 2014 года - http://publication.pravo.gov.ru/Document/View/0001201408050024
Постановление Правительства РФ №801 от 12 августа 2014 года - http://publication.pravo.gov.ru/Document/View/0001201408190035
№ 436-ФЗ - https://digital.gov.ru/ru/documents/3795
Размеры штрафов - https://digital.gov.ru/ru/events/33687
Примеры штрафов - https://mediapravo.com/ilaw/wi-fi-prokuratura.html
Памятка для ЮЛ и ИП - https://77.rkn.gov.ru/directions/p30822
Комментарии (25)
AcidVenom
01.02.2022 12:39+6как в гостевой Wi-Fi
Кто ж в гостевой сети будет пользоваться вашим DNS? Только как транспортной сетью.
PhoenixMSTU
01.02.2022 12:46+11Хабр содержит контент для взрослых (18+), согласно пользовательскому соглашению. Его, я так понимаю, заблокировать не удалось?
avk013
01.02.2022 13:53+1В одной из школ, провайдер блокировал выделенный канал Интернет минут через 20, после того как начинались занятия, аргументируя чрезмерной нагрузкой по UDP (ну было по 200 телефонов в сети) , мало указать "ДНС с защитой контета", нужно еще отлавливать все пакеты на 53 порт и перенаправлять на собственные кэшириющие DNS, но и не забывать про DNS-over-TLS где не только 853 порт, вобщем куча телефонного зоопарка из китая "убивает" сеть - пришлось отлавливать сервера по количеству пакетов на UDP к которым идет подключение, и блокировать эти сервера на тайм-лимит в несколько часов. В целом базовый интернет у всех есть, жалобы сейчас не частые.
Saymon
01.02.2022 14:56и у него прям в договоре прописано ограничение на UDP сессии?
avk013
01.02.2022 15:33+2Провайдер действительно имел право так считать, мой NAT тяжело умирал от количества запросов, просто провайдер был крайней точкой принявшей решение.
Формулировка со стороны провайдера: вирусная активность вероятно бот-нет.
Я наблюдал за активностью WireShark-ом, оказывается что каждый андроидный китаец сливает уйму данных, кроме того похищение данных о клиенте, треккинги тача у этих хостов это "как здрасти", не говоря о треккерах и т.п. Аналогично ведут себя и устройства Apple со своими облаками. Мне пришлось зарезать сайты и многие хосты производителей телефонов регулярками, ну а после уже по количеству запросов на хост.
Соответвенно пользователи WiFi получают легкий интернет, администрация - полный с небольшими коррективами. Ужас с подключением в этой школе 14 точек доступа в качестве бриджей позволил сыграть с разделением сетей для каждой группы доступа.
avk013
01.02.2022 13:58-2перенаправлять запрещенки лучше на 255.255.255.255 а не на IP. Ничего лишнего в запросах не висит нигде, мгновенный отказ.
ifap
01.02.2022 22:59+1Бродкастить блокируемый хост? Ааааригинально...
avk013
02.02.2022 07:46;) а какие у Вас будут предложения, при открытии страницы, если реклама формируется с определенного хоста, треккеры встроены в большинство станиц... подсеть 127.0.0.х делает задержку, любой несуществующий адрес делает время ожидания. И получается что страница уже готова для отображения но чего-то еще ждет. У нас определенные соцсети заблокированы, если в странице есть кнопка "поделиться" запрещенной соц.сети, то страница тупит, так как ждет ответ от левого адреса. "Дропать" пакеты накладно по нагрузке на маршрутизатор, посылать абы куда тоже не вариант из-за задержки отказа.
ifap
02.02.2022 12:20Опередили https://habr.com/ru/company/zyxel/blog/646613/comments/#comment_24020685
zemeroff
02.02.2022 08:53+3С подключением Вас Александр, работающий 16 лет с СКС и сетевым оборудованием! Описаный Вами способ с блокировкой хостов на dns использовали ещё в начале 2000х. Он и тогда не работал и сейчас не работает. Количество порно сайтов превышает все возможные базы где их пытаются записывать и семейный Яндекс dns это не решение
olegtsss
02.02.2022 08:58На оборудовании MikroTik возможностей для решения подобной задачи гораздо больше.
net_racoon
02.02.2022 09:55Регулярками на софт-роутере?
olegtsss
02.02.2022 11:15Да, конечно. Именно так). А если серьезно, то ни первому, ни по второму пункту я с вами скорее не соглашусь, чем соглашусь.
nnstepan
03.02.2022 13:00А что мешает использовать другой днс или прокси?
AcidVenom
03.02.2022 13:47Далее добавим правило в файрволл, блокирующее DNS запросы из гостевой или пользовательской зоны LAN1 к другим DNS серверам в интернете (зона WAN), чтобы гости или пользователи не могли по другим DNS серверам выходить в интернет.
Как по мне, это спорное решение. Лучше бы сделать редирикт на себя.
IGR2014
03.02.2022 21:47Перечитывая заголовок уже в 3-й раз, хочется всё-таки уточнить кто же такой этот Как?
amarao
DoH?