Что такое белые списки и зачем они нужны
Белый список (whitelist) — это перечень разрешённых доменов, IP-адресов или URL-адресов, доступ к которым разрешён для пользователей сети. Всё, что не входит в этот список, блокируется на уровне роутера. Такой подход противоположен чёрным спискам, где запрещается только то, что явно указано.
Основная цель белых списков — ограничить доступ к интернету до заранее определённого набора ресурсов. Это может быть полезно для родительского контроля, в образовательных учреждениях, в офисах с жёсткими политиками безопасности или для защиты детей от нежелательного контента. В отличие от чёрных списков, которые требуют постоянного обновления для блокировки новых сайтов, белые списки по своей природе более строгие: всё, что не разрешено, запрещено.
Однако у белых списков есть и серьёзные недостатки. Многие современные сайты используют внешние ресурсы: CDN, шрифты, скрипты, стили, аналитику. Если эти ресурсы не включены в белый список, сайт может отображаться некорректно или вообще не работать. Кроме того, HTTPS-соединения требуют проверки сертификатов, и если адрес центра сертификации не разрешён, браузер не сможет установить защищённое соединение.
Как работают белые списки на уровне роутера
Роутер работает на сетевом уровне (L3) и принимает решения на основе адресов источника и назначения. Когда пользователь пытается открыть сайт, роутер проверяет IP-адрес назначения: если он есть в белом списке, трафик пропускается, если нет — блокируется. Для блокировки обычно используется действие reject, которое отправляет отправителю сообщение о недоступности ресурса, или drop, которое просто отбрасывает пакеты без ответа.
Важно понимать, что при использовании HTTPS роутер видит только домен назначения, а не конкретные страницы. Поэтому блокировка или разрешение происходит на уровне домена целиком. Это означает, что если вы разрешаете yandex.ru, пользователь получит доступ ко всем сервисам Яндекса, включая почту и облако, если их домены также разрешены.
Ещё один нюанс: домены www.example.com и example.com — это разные записи, которые могут указывать на разные IP-адреса. Для корректной работы необходимо включать в белый список оба варианта, иначе сайт может открываться с ошибками.
Подготовка к настройке: что нужно знать
Прежде чем приступить к настройке белых списков, важно определиться с политикой доступа. Существует два основных сценария:
- Белый список для всех, кроме отдельных пользователей — когда большинство устройств в сети имеют доступ только к разрешённым сайтам, а для некоторых (например, администраторов) ограничения сняты.
- Белый список только для определённой группы — когда ограничения применяются только к выбранным устройствам (например, детским компьютерам), а остальные работают без ограничений.
Для реализации любого из этих сценариев потребуется:
- Список доменов или IP-адресов, которые нужно разрешить.
- Список пользователей (устройств), к которым применяется политика.
- Понимание, какие внешние ресурсы необходимы для корректной работы разрешённых сайтов.
Также стоит учесть, что белые списки на роутере не являются панацеей: они не защищают от угроз внутри разрешённых сайтов и не заменяют антивирус или VPN. Это лишь инструмент фильтрации трафика.
Настройка белого списка на роутерах MikroTik
MikroTik предоставляет гибкие возможности для фильтрации трафика через Address Lists и Firewall Filter Rules. Рассмотрим пошаговую настройку.
Шаг 1. Создание списка доменов.
Перейдите в IP → Firewall → Address Lists. Нажмите «+» и создайте новый список, например, с именем WL (whitelist). В поле Address укажите домен, например yandex.ru. MikroTik автоматически разрешит все IP-адреса этого домена и будет обновлять их по TTL. Аналогично добавьте другие разрешённые домены.
В командной строке это выглядит так:
/ip firewall address-list add address=yandex.ru list=WLШаг 2. Создание списка пользователей.
Если вы хотите применять белый список только к определённым устройствам, создайте список USER и добавьте в него IP-адреса этих устройств. Чтобы адреса не менялись, настройте резервирование в IP → DHCP Server → Leases: выберите нужную запись, нажмите Make Static, затем откройте её и в поле Address List укажите USER.
Шаг 3. Создание правила фильтрации.
Перейдите в IP → Firewall → Filter Rules. Создайте новое правило:
- General:
Chain = forward,In. Interface = bridge1(или ваш LAN-интерфейс). - Advanced:
Src. Address List = !USER(если применяем ко всем, кроме USER) илиSrc. Address List = USER(если только для USER).Dst. Address List = !WL— то есть назначение не в белом списке. - Action:
reject(лучше, чем drop, так как пользователь сразу увидит сообщение о недоступности).
Правило должно быть первым в цепочке FORWARD, выше FastTrack.
Пример команды:
/ip firewall filter add action=reject chain=forward dst-address-list=!WL in-interface=bridge1 reject-with=icmp-network-unreachable src-address-list=!USERПосле этого все устройства, кроме тех, что в списке USER, смогут открывать только сайты из WL.
Настройка белого списка на роутерах ASUS
Роутеры ASUS предлагают более простой, но менее гибкий интерфейс для настройки белых списков через URL-фильтр.
Шаг 1. Вход в веб-интерфейс.
Подключитесь к роутеру и введите в браузере http://www.asusrouter.com или IP-адрес роутера (обычно 192.168.1.1). Введите имя пользователя и пароль.
Шаг 2. Переход к настройкам фильтра.
В меню выберите Брандмауэр → Фильтр URL-адресов.
Шаг 3. Включение фильтра.
Переключите тумблер, чтобы включить фильтрацию URL.
Шаг 4. Выбор типа списка.
В таблице фильтров выберите тип Белый список. Это означает, что будут разрешены только те URL, которые вы добавите.
Шаг 5. Добавление URL.
Введите URL-адрес, который хотите разрешить, и нажмите «+», чтобы добавить его в список. Повторите для всех нужных сайтов.
Шаг 6. Применение настроек.
Нажмите Применить, чтобы сохранить изменения.
Важно: фильтр URL на ASUS применяется ко всем устройствам в сети. Нельзя настроить белый список только для конкретного устройства через веб-интерфейс. Для этого придётся использовать другие методы, например, родительский контроль или MAC-фильтрацию.
Особенности работы с HTTPS и CDN
Современный интернет почти полностью перешёл на HTTPS, что создаёт дополнительные сложности при использовании белых списков.
Проблема проверки сертификатов.
Когда браузер открывает HTTPS-сайт, он проверяет SSL-сертификат через центры сертификации (CA). Если адрес CA не включён в белый список, браузер не сможет проверить подлинность сертификата и заблокирует доступ. Например, для сайта с сертификатом Let's Encrypt может потребоваться разрешить ocsp.int-x3.letsencrypt.org. Адреса CA можно найти в самом сертификате сайта.
Проблема CDN.
Многие сайты используют CDN (Content Delivery Network), такие как Cloudflare. Если вы разрешили домен example.com, но его контент раздаётся с IP-адресов CDN, которые не входят в белый список, сайт будет загружаться частично или не будет работать вовсе. В худшем случае блокировка одного сайта может затронуть множество других, использующих тот же CDN.
Проблема внешних ресурсов.
Современные сайты часто подгружают скрипты, шрифты, стили и изображения с других доменов. Например, Яндекс использует mc.yandex.ru для метрики, yastatic.net для статики. Без этих доменов сайт может выглядеть «голым» или вообще не работать. Поэтому для каждого разрешённого сайта нужно проанализировать, какие внешние ресурсы он использует, и добавить их в белый список.
Практические примеры: настройка для популярных сценариев
Рассмотрим несколько типичных сценариев использования белых списков.
Сценарий 1: Родительский контроль.
Вы хотите, чтобы ребёнок мог пользоваться только образовательными сайтами и Википедией. Создайте белый список с доменами: wikipedia.org, ru.wikipedia.org, school.ru, uchi.ru. Добавьте устройства ребёнка в список USER и примените правило только к нему. Не забудьте разрешить ocsp.digicert.com и другие CA, если сайты используют HTTPS.
Сценарий 2: Офисная сеть.
В офисе нужно разрешить доступ только к рабочим сервисам: корпоративной почте, CRM, бухгалтерии. Создайте белый список с доменами этих сервисов. Для сотрудников, которым нужен полный доступ (например, директору), создайте отдельную группу и исключите её из-под действия правила.
Сценарий 3: Гостевой Wi-Fi.
Для гостей можно ограничить доступ только к нескольким сайтам, например, к поисковику и картам. Это снизит нагрузку на сеть и повысит безопасность. Настройте отдельный SSID для гостей и примените к нему белый список.
Ограничения и подводные камни белых списков
Несмотря на кажущуюся простоту, белые списки имеют ряд серьёзных ограничений.
1. Необходимость постоянного обслуживания.
Сайты меняют IP-адреса, добавляют новые поддомены, переходят на другие CDN. Белый список нужно регулярно обновлять, иначе сайты перестанут работать. Это трудоёмкий процесс, особенно если разрешённых сайтов много.
2. Риск блокировки легитимных ресурсов.
Из-за CDN можно случайно заблокировать доступ к большому количеству сайтов, как это было при блокировках Telegram, когда Cloudflare оказался затронут.
3. Сложность с HTTPS.
Как уже упоминалось, HTTPS требует разрешения CA, иначе браузер не сможет проверить сертификат. Это добавляет дополнительные адреса в список.
4. Невозможность блокировать отдельные страницы.
Белый список работает на уровне домена, поэтому нельзя разрешить только главную страницу сайта, а форум запретить.
5. Нагрузка на роутер.
Каждый пакет проверяется на вхождение в список. Если список очень большой, это может замедлить работу роутера и увеличить задержки.
6. Обход фильтрации.
Пользователи могут использовать VPN или прокси, чтобы обойти белый список. Поэтому белые списки эффективны только в сочетании с другими мерами контроля.
Белые списки и VPN: как они сочетаются
В контексте обсуждения белых списков важно понимать, как они взаимодействуют с VPN. Если на роутере настроен белый список, а пользователь включает VPN на своём устройстве, трафик шифруется и направляется на VPN-сервер. Роутер видит только IP-адрес VPN-сервера, который, скорее всего, не входит в белый список, и блокирует соединение. Таким образом, белый список может препятствовать использованию VPN.
С другой стороны, белые списки могут использоваться для разрешения доступа к VPN-серверу, если это необходимо. Например, в корпоративной сети можно разрешить IP-адрес корпоративного VPN-шлюза, чтобы сотрудники могли подключаться к внутренним ресурсам.
В некоторых случаях провайдеры внедряют «белые списки» на уровне всей сети, что фактически означает, что доступ разрешён только к определённым ресурсам. Это вызывает обеспокоенность пользователей, так как ограничивает свободу интернета. В таких условиях пользователи ищут способы обхода, используя сложные схемы с VPS, прокси и маскировкой трафика. Однако это уже выходит за рамки настройки роутера и требует отдельных решений.
Рекомендации по выбору стратегии фильтрации
Прежде чем внедрять белые списки, оцените, подходит ли этот метод для ваших задач.
Когда белые списки оправданы:
- Нужно ограничить доступ к небольшому числу ресурсов (например, только к образовательным сайтам).
- Требуется строгий контроль доступа в детских учреждениях или закрытых корпоративных сетях.
- Вы готовы тратить время на поддержание списка в актуальном состоянии.
Когда лучше использовать чёрные списки:
- Нужно заблокировать несколько конкретных сайтов (например, соцсети).
- Список разрешённых сайтов слишком велик и постоянно меняется.
- Нет возможности регулярно обновлять конфигурацию.
Альтернативы:
- Родительский контроль на уровне ОС (например, Microsoft Family Safety).
- Специализированные DNS-фильтры (например, AdGuard DNS).
- Прокси-серверы с аутентификацией.
В любом случае, перед настройкой рекомендуется протестировать белый список на небольшой группе пользователей, чтобы выявить проблемы с загрузкой сайтов и вовремя скорректировать список.
Вопросы и ответы
Чем белый список отличается от чёрного на роутере?
Белый список разрешает доступ только к указанным ресурсам, всё остальное блокируется. Чёрный список, наоборот, блокирует только указанные ресурсы, а всё остальное разрешено. Белые списки обеспечивают более строгий контроль, но требуют тщательного составления и поддержания списка разрешённых доменов.
Можно ли настроить белый список только для одного устройства на роутере ASUS?
Стандартный URL-фильтр на роутерах ASUS не поддерживает применение белого списка к конкретным устройствам — он действует на всю сеть. Для выборочного ограничения можно использовать родительский контроль или MAC-фильтрацию, но они работают иначе. На MikroTik такая возможность есть благодаря спискам адресов.
Почему сайт не открывается, хотя домен добавлен в белый список?
Причин может быть несколько: сайт использует внешние ресурсы (CDN, шрифты, скрипты), которые не добавлены в список; не разрешён адрес центра сертификации для проверки SSL; домен www и без www имеют разные IP-адреса; сайт перенаправляет на другой домен. Проверьте консоль браузера (F12) и добавьте недостающие адреса.
Как узнать, какие внешние ресурсы нужны для работы сайта?
Откройте сайт в браузере, нажмите F12 и перейдите на вкладку Network. Обновите страницу и посмотрите список запросов. Обратите внимание на домены, отличные от основного. Также можно использовать сервисы анализа зависимостей сайта. Добавьте эти домены в белый список.
Влияет ли белый список на скорость интернета?
Да, может влиять, особенно если список большой. Каждый пакет проверяется на соответствие списку, что создаёт дополнительную нагрузку на процессор роутера. На слабых устройствах это может привести к снижению скорости и увеличению задержек. Рекомендуется использовать белые списки с умеренным количеством записей.
Можно ли обойти белый список с помощью VPN?
Да, если пользователь может установить VPN-соединение, трафик будет зашифрован и направлен на VPN-сервер, IP-адрес которого, скорее всего, не входит в белый список. Роутер заблокирует это соединение, если VPN-сервер не разрешён. Однако некоторые VPN-протоколы могут маскироваться под обычный HTTPS-трафик, что усложняет блокировку.
Какие действия лучше использовать для блокировки: drop или reject?
Для внутренних сетей рекомендуется использовать reject, так как он отправляет отправителю сообщение о недоступности ресурса, и браузер сразу показывает ошибку. drop просто отбрасывает пакеты, из-за чего браузер продолжает попытки загрузить страницу, что создаёт впечатление зависания. reject более дружелюбен к пользователю.