DNS-фильтрация — это простой способ не дать устройствам в сети открыть фишинговый сайт ещё до того, как браузер начнёт загрузку страницы. Вы поднимаете Pi-hole или AdGuard Home на отдельном устройстве, направляете на него DNS-запросы домашней или офисной сети и добавляете списки известных вредоносных доменов. Если кто-то кликнет по ссылке из письма с просьбой «срочно войти в банк» или «подтвердить аккаунт», устройство не сможет преобразовать домен в IP-адрес и откроет пустую страницу вместо поддельного сайта.
Это не заменяет антивирус, обучение сотрудников и проверку подозрительных писем. Но как первый защитный слой работает хорошо: многие фишинговые домены живут недолго, и если их быстро добавить в блокировку, они перестают быть опасными для всей сети сразу.
- Что именно делает DNS-фильтр против фишинга
- Pi-hole или AdGuard Home: что выбрать
- Как устроить DNS-фильтрацию правильно
- Какие списки блокировки добавить
- Как добавить собственную блокировку домена
- Как понять, что блокировка реально работает
- Что делать с обходом через DoH, DoT и DoQ
- Как настроить блокировку фишинга в домашней сети
- Как настроить блокировку фишинга в небольшом офисе
- Как уменьшить ложные срабатывания
- Сценарии выбора: какой подход лучше
- Частые ошибки при блокировке фишинга через DNS
- 1. Фильтр стоит, но клиенты его не используют
- 2. Включили слишком много списков
- 3. Не смотрят в логи
- 4. Думают, что DNS-фильтр ловит весь фишинг
- 5. Не учитывают зашифрованный DNS
- 6. Блокируют слишком широкими правилами
- Практические рекомендации
- Минимальная рабочая схема
- Итог
Что именно делает DNS-фильтр против фишинга
Когда браузер открывает сайт, он сначала спрашивает DNS-сервер: «какой IP-адрес у этого домена?». Например, устройство спрашивает адрес для login-example.ru. Если этот домен есть в вашем чёрном списке, Pi-hole или AdGuard Home отвечает: «такого адреса нет» или «иди на локальный адрес-заглушку». В итоге сайт не открывается.
Для фишинга это особенно полезно, потому что злоумышленники часто используют обычные домены, купленные на пару дней, поддомены или похожие названия вроде:
bank-login.exampleвместо настоящего домена банка;paypa1.exampleс цифрой вместо буквы;support-service.exampleвместо официального адреса службы;- поддомены вида
example.com.sign-in.example, где первая часть выглядит знакомой, но настоящий домен — последний.
DNS-фильтр не читает письмо и не анализирует страницу. Он работает ниже: блокирует обращение к домену. Поэтому его главная задача — отрезать массовый и уже известный фишинг, а не ловить абсолютно все новые угрозы.
Pi-hole или AdGuard Home: что выбрать
Оба решения делают одно и то же: принимают DNS-запросы из сети, проверяют домены по спискам и правилам, а потом либо пропускают запрос, либо блокируют его. Разница больше в удобстве, интерфейсе и дополнительных функциях.
| Критерий | Pi-hole | AdGuard Home |
|---|---|---|
| Главный фокус | DNS-блокировка рекламы, трекеров и вредоносных доменов | DNS-блокировка рекламы, фишинга, вредоносных доменов и родительский контроль |
| Интерфейс | Простой, с понятными логами и статистикой | Более «домашний» интерфейс, много настроек в одном месте |
| Работа со списками | Удобно добавлять списки блокировки и белых списков | Удобно управлять списками, правилами, DNSSEC и фильтрами |
| Регулярные выражения | Есть, удобно блокировать шаблоны доменов | Есть, можно задавать правила по доменам и маскам |
| Локальные DNS-записи | Есть через Local DNS Records | Есть через DNS Rewrites |
| Когда я бы выбрал | Если нужен лёгкий, стабильный DNS-фильтр без лишних функций | Если хочется сразу закрыть рекламу, фишинг, родительские фильтры и DNS-настройки |
Для домашней сети я обычно выбираю так: если устройство слабое, например Raspberry Pi или небольшая виртуальная машина, и нужна именно блокировка доменов — Pi-hole. Если хочется более цельную панель управления для семьи или небольшого офиса — AdGuard Home.
Как устроить DNS-фильтрацию правильно
Главная ошибка новичков — поставить Pi-hole или AdGuard Home, но не перенастроить сеть. В таком случае блокировка будет работать только для самого фильтра, а не для всех устройств. Правильная схема такая: устройства получают DNS-адрес от роутера, а роутер или сами устройства отправляют DNS-запросы на Pi-hole/AdGuard Home.
- Выберите отдельное устройство. Лучше всего — Raspberry Pi, мини-ПК, небольшой сервер, NAS или виртуальная машина. Главное, чтобы оно работало постоянно. Если DNS-фильтр выключен, интернет у клиентов может начать открываться медленнее или перестать резолвиться через ваш DNS.
-
Назначьте фильтру статический IP-адрес. Например,
192.168.1.10. Важно, чтобы адрес не менялся после перезагрузки роутера. Это делается либо резервированием в DHCP-сервере роутера, либо статической настройкой на самом устройстве. - Установите Pi-hole или AdGuard Home. Для домашней сети достаточно локального Linux-сервера. Если ставите на NAS или виртуальную машину, следите, чтобы служба запускалась автоматически.
- Настройте роутер. В DHCP-настройках роутера укажите DNS-сервером адрес вашего фильтра. Тогда телефоны, ноутбуки, телевизоры и умные устройства начнут использовать Pi-hole или AdGuard Home без ручной настройки каждого клиента.
-
Проверьте, куда смотрят клиенты. На компьютере в командной строке или терминале можно проверить DNS-сервер. В большинстве случаев клиент должен видеть адрес вашего фильтра, например
192.168.1.10. - Добавьте списки блокировки. Не ставьте один список и не надейтесь на чудо. Для фишинга нужны отдельные списки вредоносных и фишинговых доменов. Хороший набор — это несколько источников, которые обновляются автоматически.
- Настройте обновление списков. Для фишинговых доменов обновление должно быть частым: хотя бы раз в день, а лучше несколько раз в сутки. Фишинг живёт коротко: сегодня домен активен, завтра уже исчез.
- Проверьте работу через журнал запросов. В интерфейсе Pi-hole или AdGuard Home должны быть видны DNS-запросы. Если клиент пытается открыть заблокированный домен, вы увидите событие в логах.
Какие списки блокировки добавить
Не нужно слепо подключать десять огромных списков «на всякий случай». Чем больше списков, тем выше шанс ложных срабатываний: может перестать открываться обычный сайт, сервис оплаты, облако или рекламная CDN-сеть, от которой зависит часть сайта.
Для блокировки фишинга я бы начинал с такой схемы:
- 1–2 крупных универсальных списка с рекламой, трекерами и вредоносными доменами.
- 1–3 списка именно с malware/phishing доменами от источников, которые публикуют индикаторы компрометации.
- Списки от Abuse.ch или похожих проектов, если вам подходят их форматы и условия использования.
- Собственные правила для доменов, которые вы уже видели в подозрительных письмах.
Если список обновляется редко, выглядит заброшенным или не показывает дату обновления, лучше не полагаться на него. Для фишинга актуальность важнее размера. Маленький свежий список полезнее огромного архива на полгода.
Как добавить собственную блокировку домена
Иногда списки не успевают за ситуацией. Например, вам пришло письмо с поддельной ссылкой, вы проверили домен и хотите закрыть его для всех устройств в сети. В таком случае добавьте домен вручную.
В Pi-hole это делается через Groups → Domains: добавляете домен, выбираете тип блокировки и группу. В AdGuard Home — через Фильтры → Правила блокировки или через настройки DNS-переписывания, если хотите перенаправить домен на заглушку.
Примеры правил:
phishing-example.ru— блокировка конкретного домена;||phishing-example.ru^— правило в стиле AdGuard, блокирует домен и его поддомены;/login-example\.(ru|com)$/— регулярное выражение для похожих доменов, если вы понимаете, как оно работает.
С регулярными выражениями нужно быть аккуратнее. Слишком широкое правило может заблокировать нормальные сайты. Например, правило по части слова login может задеть легальные сервисы, где это слово встречается в домене.
Как понять, что блокировка реально работает
Проверять лучше не переходом на реальные фишинговые сайты, а через безопасные тесты и журнал DNS-запросов. Практически это выглядит так:
- Добавьте в ручной блок-лист тестовый домен, который не нужен в сети.
- Откройте его на клиентском устройстве.
- В Pi-hole или AdGuard Home посмотрите, появился ли запрос и был ли он заблокирован.
- Проверьте, что ответ приходит от вашего DNS-фильтра, а не от DNS провайдера или публичного резолвера.
- Убедитесь, что после удаления правила сайт снова открывается.
Если в логах нет запроса к подозрительному домену, это ещё не значит, что фильтрация не работает. Возможно, устройство вообще не использует ваш DNS. Это одна из самых частых проблем.
Что делать с обходом через DoH, DoT и DoQ
Современные браузеры и операционные системы могут использовать зашифрованный DNS: DoH, DoT или DoQ. Если устройство отправляет DNS-запросы напрямую в браузер или системный сервис, ваш Pi-hole или AdGuard Home его не увидит.
Что с этим делать:
- В домашней сети можно отключить зашифрованный DNS в браузерах и проверить настройки Windows, macOS, Android и iOS.
- В небольшой организации лучше управлять этим централизованно: политиками, MDM, профилями устройств или настройками роутера.
- На продвинутом уровне можно блокировать на роутере внешние DNS-порты и DoH-сервисы, но это требует аккуратной настройки, чтобы не сломать нормальную работу.
Если пользователь вручную прописал себе 1.1.1.1, 8.8.8.8 или включил «безопасный DNS» в браузере, ваша локальная DNS-защита для него работает хуже. Это не повод отказываться от Pi-hole или AdGuard Home, но повод понимать границы метода.
Как настроить блокировку фишинга в домашней сети
Для дома задача обычно такая: закрыть от случайных переходов детей, пожилых родственников и всех, кто иногда кликает быстрее, чем думает. Здесь не нужно строить сложную инфраструктуру. Достаточно стабильного фильтра, нескольких списков и нормальной настройки роутера.
Практичная схема:
- Pi-hole или AdGuard Home на Raspberry Pi, мини-ПК или NAS.
- Статический IP-адрес фильтра.
- DNS от роутера к фильтру через DHCP.
- Несколько актуальных списков блокировки.
- Ручной блок-лист для доменов из подозрительных писем.
- Отдельная гостевая Wi-Fi-сеть, если роутер умеет её изолировать.
Гостевая сеть полезна не только для безопасности. Когда к вам приходят друзья и подключаются к Wi-Fi, их устройства не должны видеть ваши домашние устройства. А DNS-фильтр при этом может продолжать защищать их от очевидных фишинговых доменов.
Как настроить блокировку фишинга в небольшом офисе
В офисе stakes выше: один клик по фишинговой ссылке может привести к утечке паролей, доступу к почте, бухгалтерии или CRM. Здесь DNS-фильтрация полезна как массовый барьер, особенно если сотрудники не всегда проходят обучение по кибербезопасности.
Что я бы сделал в небольшой организации:
- Поднял бы Pi-hole или AdGuard Home на отдельной виртуальной машине или мини-сервере.
- Настроил бы резервирование: второй DNS-фильтр или понятный план восстановления.
- Запретил бы клиентам использовать случайные внешние DNS, если это технически возможно.
- Добавил бы списки с актуальными IoC: фишинговыми и вредоносными доменами.
- Настроил бы уведомления или регулярную проверку логов.
- Вёл бы короткий список ложных срабатываний и быстро добавлял бы домены в whitelist.
Для офиса особенно важно не просто поставить блокировку, а иметь процесс. Кто добавляет домен в ручную блокировку? Кто проверяет ложное срабатывание? Что делать, если сотрудник увидел подозрительное письмо? Без процесса DNS-фильтр быстро превращается в «поставили и забыли».
Как уменьшить ложные срабатывания
Ложные срабатывания бывают всегда. Даже хорошие списки иногда блокируют нормальные домены: CDN, рекламные сети, партнёрские ссылки, сервисы аналитики, почтовые рассылки. Если сайт «не работает», не всегда виноват сам сайт. Иногда его ломает слишком агрессивный список.
Порядок действий такой:
- Откройте журнал DNS-запросов в Pi-hole или AdGuard Home.
- Посмотрите, какой именно домен был заблокирован.
- Проверьте, из какого списка пришло правило.
- Если домен явно легальный, добавьте его в whitelist.
- Если список часто ломает обычные сайты, замените его на более аккуратный.
Whitelist лучше вести аккуратно. Не стоит добавлять туда весь домен, если заблокирован только один поддомен. Например, если проблема в bad.service.example, не всегда правильно добавлять example целиком. Так можно случайно открыть лишнее.
Сценарии выбора: какой подход лучше
| Ситуация | Что делать | Почему |
|---|---|---|
| Дом, 5–15 устройств, хочется закрыть рекламу и фишинг | Pi-hole или AdGuard Home на Raspberry Pi/мини-ПК | Дёшево, тихо, хватает мощности, легко обслуживать |
| Дом с детьми, нужны фильтры сайтов и DNS-блокировка | AdGuard Home или Pi-hole + отдельные списки | Можно закрыть не только фишинг, но и нежелательные категории |
| Небольшой офис до 20–30 человек | Pi-hole или AdGuard Home на виртуальной машине, DHCP через роутер указывает на фильтр | Один центр управления для всех устройств |
| Есть пользователи, которые умеют менять DNS и включать DoH | Политики устройств, MDM, блокировка внешних DNS на уровне сети | Иначе часть трафика обойдёт локальный фильтр |
| Нужно быстро закрыть домен из подозрительного письма | Добавить домен в ручной блок-лист | Это быстрее, чем ждать обновления публичных списков |
| После настройки перестал открываться нормальный сервис | Проверить логи, найти заблокированный домен, добавить в whitelist | Часто проблема не в интернете, а в одном заблокированном поддомене |
Частые ошибки при блокировке фишинга через DNS
Большинство проблем с DNS-фильтрацией не в самом Pi-hole или AdGuard Home, а в настройке и ожиданиях. Вот что я чаще всего вижу на практике.
1. Фильтр стоит, но клиенты его не используют
На роутере DNS не поменяли, а на устройствах остались DNS провайдера или публичные резолверы. В итоге Pi-hole или AdGuard Home показывает тишину, а фишинговые сайты открываются.
2. Включили слишком много списков
Человек подключает десять списков, часть из них устарела, часть слишком агрессивная. Через пару дней начинают жаловаться, что «интернет сломался». На самом деле сломался не интернет, а нормальные домены попали под блокировку.
3. Не смотрят в логи
Без логов DNS-фильтр — чёрный ящик. Если что-то не открывается, нужно видеть, какой домен был заблокирован, кем был сделан запрос и из какого списка пришло правило.
4. Думают, что DNS-фильтр ловит весь фишинг
Не ловит. Новые домены могут появиться раньше, чем попадут в списки. Кроме того, фишинг может быть размещён на временно скомпрометированном легальном домене. DNS-блокировка снижает риск, но не закрывает тему полностью.
5. Не учитывают зашифрованный DNS
Если браузер сам решает DNS-вопросы через DoH, локальный фильтр может не видеть эти запросы. Особенно это касается современных браузеров и мобильных устройств.
6. Блокируют слишком широкими правилами
Регулярное выражение «на всякий случай» может закрыть больше, чем нужно. В DNS-фильтрации лучше точное правило, чем красивая, но опасная маска.
Практические рекомендации
Если хотите, чтобы Pi-hole или AdGuard Home действительно помогали против фишинга, я бы держался такой схемы:
- Используйте статический IP-адрес для DNS-фильтра.
- Настройте DHCP на роутере так, чтобы клиенты получали именно ваш DNS.
- Не ставьте десятки списков без проверки.
- Выбирайте списки, которые регулярно обновляются.
- Добавьте хотя бы один источник именно по phishing/malware доменам.
- Раз в неделю проверяйте топ заблокированных доменов и ложные срабатывания.
- Подозрительные домены из писем добавляйте в ручную блокировку сразу.
- В офисе контролируйте DoH и ручные DNS-настройки на клиентах.
- Не блокируйте весь домен, если достаточно заблокировать один поддомен.
- Держите whitelist, но добавляйте туда только после проверки.
Отдельно: не используйте публичные фишинговые ссылки для «проверки» на рабочих компьютерах. Безопаснее добавить домен в блок-лист и посмотреть событие в логах. Если нужно проверить письмо, лучше использовать отдельную песочницу или сервис анализа ссылок, а не открывать ссылку на основном устройстве.
Минимальная рабочая схема
Если нужно сделать быстро и без лишней сложности, я бы сделал так:
- Поставил бы Pi-hole или AdGuard Home на отдельное устройство в сети.
- Задал бы ему постоянный адрес, например
192.168.1.10. - В DHCP роутера указал бы этот адрес как DNS-сервер.
- Добавил бы 2–4 нормальных списка блокировки, включая список фишинговых доменов.
- Настроил бы обновление списков хотя бы раз в день.
- Проверил бы на одном клиенте, что DNS-запросы уходят на фильтр.
- Добавил бы подозрительный тестовый домен вручную и проверил блокировку в логах.
Этого уже достаточно, чтобы закрыть большую часть бытового фишинга: ссылки из спама, поддельные страницы входа, одноразовые домены и массовые рассылки.
Итог
DNS-фильтрация через Pi-hole или AdGuard Home — это не «волшебная кнопка от фишинга», а нормальный защитный слой для всей сети. Она хорошо работает против известных фишинговых доменов, особенно если списки обновляются часто, клиенты реально используют ваш DNS, а подозрительные домены можно быстро добавлять вручную.
Для дома достаточно одного стабильного фильтра, нескольких актуальных списков и настройки DHCP на роутере. Для офиса лучше добавить контроль за внешними DNS, DoH, резервирование и понятный процесс обработки подозрительных ссылок.
Начните с малого: поставьте Pi-hole или AdGuard Home, направьте на него DNS-запросы, добавьте свежие списки и научитесь читать логи. Именно логи покажут, что происходит в сети, какие домены блокируются и где настройка требует доработки.
