Фильтрация dns что это
AdGuard DNS: Как работает защита данных через DNS
Команда AdGuard инвестирует много времени и усилий в разработку решений защиты конфиденциальности пользователей, и многие пользователи ценят продукты AdGuard именно по этой причине. Самым большим вызовом для разработчиков AdGuard является не только обеспечение эффективной защиты, но и предоставление ее любому пользователю, независимо от используемого устройства.
Как раз для этого был создан AdGuard DNS – DNS-служба с акцентом на защиту конфиденциальности, которая блокирует трекеры, рекламные блоки где угодно, будь то стационарные компьютеры, мобильные устройства или смарт-ТВ и устройства «Интернета вещей». Официальный запуск AdGuard DNS состоялся в прошлом году, 18 декабря 2018 года, спустя два года после начала разработки службы.
Что такое DNS?
DNS – в образном смысле, это «адресная книга» Интернета. Каждый раз, когда вы открываете веб-сайт, отправляете электронное письмо или высылаете фотографию кота вашему другу, используемое вами приложение или браузер должно сопоставить имя домена (например, yahoo.com, легко запомнить, что не имеет смысла для компьютера) с IP-адресом, который фактически используют компьютеры. Для этого браузер или приложение отправляет специальный DNS-запрос DNS-преобразователю или резольверу. DNS-резольвер выполняет операцию преобразования доменного имени в IP-адрес и отправляет его обратно.
Схематическое изображение работы DNS
На самом деле система DNS является более сложной, но этой информации достаточно, чтобы получить базовое понимание. Обычно ваш интернет-провайдер (или оператор используемой сети) сам решает, какой DNS-преобразователь следует использовать.
Проблема конфиденциальности DNS
Заметили ли вы проблему на схеме выше? Действительно, случайное лицо, которое предоставляет вам доступ в Интернет, знает каждый домен, который вы посетили и когда происходил сеанс посещения. Одно из исследований на практике продемонстрировало, что модель поведения, полученная путем анализа исключительно данных DNS, позволила правильно идентифицировать 86% пользователей.
Это звучит не очень хорошо, особенно если учесть, сколько усилий многие люди прилагают для защиты своей конфиденциальности: использование HTTPS, VPN-сервисов, блокировщиков рекламы и др. Все эти активности можно отследить с помощью DNS с последующей монетизацией Интернет-провайдерами. Думаете, они не будут получать дополнительную прибыль при наличии соответствующей возможности?
DNS-трафик уязвим для злоумышленников
К счастью, существуют эффективное решение данной проблемы. Почти все устройства, которые позволяют вам выходить в Интернет, также дают возможность выбрать собственный преобразователь DNS. Какой выбрать? На рынке доступно много различных вариантов, но не все из них ставят в приоритет конфиденциальность. AdGuard предлагает сервис, который не только сохранит ваши действия в Интернете в тайне, но и предоставит дополнительные возможности защиты от сетевых угроз.
Давайте подробнее рассмотрим AdGuard DNS и выясним, почему это один из самых безопасных для вас вариантов на сегодняшний день.
Тернистая дорога к безопасности
Выбор альтернативного DNS-резольвера является первым шагом для повышения конфиденциальности, но этого может быть недостаточно. Если никто не может иметь доступ к вашему DNS-трафику сейчас, это не значит, что никто не мог ранее. Протокол DNS совсем не новый, и тогда, когда он был разработан, стандарты конфиденциальности практически отсутствовали. В результате сегодня существует высокий риск того, что ваши DNS-запросы могут быть подслушаны или даже изменены злоумышленниками. Чтобы противостоять им, команда AdGuard приняла несколько действенных мер.
DNSCrypt
DNSCrypt стал первой попыткой обезопасить DNS-трафик от злоумышленников. Это специальный протокол, который зашифровывает связь между вашим устройством и DNS-сервером, защищая его от несанкционированного доступа и атак типа «человек посередине» (MITM-атаки). AdGuard DNS уже давно поддерживает эту технологию.
С AdGuard DNS ваш трафик защищен
Проблема DNSCrypt заключается в том, что протокол никогда не становился официальным стандартом и не получал документ RFC (документ с техническими спецификациями) в отличие от его альтернатив: DNS-over-HTTPS и DNS-over-TLS. Ожидается, что со временем DNSCrypt станет менее популярным и не получит особой поддержки на уровне операционной системе. К счастью, существуют и другие современные инструменты, которые не так широко распространены, но обеспечивают гораздо более высокий уровень безопасности и могут стать новыми стандартами конфиденциальности DNS в обозримом будущем.
DNS-over-TLS
DNS-over-TLS или DoT – протокол шифрования DNS-запросов и передачи по TLS-протоколу. DoT более надежен, чем DNSCrypt. Все больше и больше DNS сервисов поддерживают его, и AdGuard с гордостью вступает в их ряды.
Стоит упомянуть, что начиная с Android 9, устройства Android имеют встроенную поддержку DNS-over-TLS. Вы можете настроить свой смартфон или планшет на использование этого протокола в несколько нажатий без необходимости установки какого-либо дополнительного программного обеспечения.
DNS-over-HTTPS
DNS-over-HTTPS или DoH выполняет удаленное преобразование DNS по протоколу HTTPS. Это еще один безопасный способ защитить ваш трафик DNS от перехвата и подмены. Есть ли разница между DoT и DoH? Для обычного пользователя – практически никакой.
AdGuard DNS недавно получил поддержку DoH, которая выводит сервис на передний план защиты конфиденциальности. К сожалению, этот протокол все еще относительно новый, и способов применения его на вашем устройстве немного. Тем не менее, новая версия AdGuard для Android уже поддерживает эту опцию.
Другие меры защиты
Когда решена проблема с конфиденциальностью DNS, самое время подумать о других потенциальных угрозах. Ни для кого не секрет, что Интернет буквально кишит тысячами трекеров, которые следят за каждым вашим кликом, а затем используют эту информацию, чтобы нацелить вас на рекламу и создать цифровой отпечаток. Как с этим бороться? AdGuard DNS — это не только DNS-преобразователь, но и фильтр трафика. Всякий раз, когда ваше устройство отправляет «плохой» запрос для нужд рекламных блоков и трекеров, то вместо правильного IP-адреса DNS-сервер AdGuard ничего не вернет. Просто, но эффективно.
AdGuard DNS блокирует запросы к рекламным и отслеживающим доменам
Наконец, AdGuard фактически предоставляет два варианта службы DNS – «По умолчанию» и «Семейный». Единственная разница между ними заключается в том, что в режиме «Семейный» дополнительно блокируется доступ к любому контенту, не предназначенному для детей, и принудительно используется параметр Safe Search в браузерах, которые поддерживают данную функцию.
Подводим итоги
Как же настроить AdGuard DNS? Укажите DNS-сервера для вашего подключения или прямо на маршрутизаторе, используя нашу инструкцию.
DNS сервера
94.140.14.14 и 94.140.15.15 для серверов «По умолчанию»
94.140.14.140 и 94.140.14.141 для серверов «Нефильтрующие»
94.140.14.15 и 94.140.15.16 для серверов «Семейный»
DNS-over-TLS
Используйте dns.adguard.com для серверов «По умолчанию» или dns-family.adguard.com для серверов «Семейный»
DNS-over-HTTPS
Используйте https://dns.adguard.com/dns-query для серверов «По умолчанию» или https://dns-family.adguard.com/dns-query для серверов «Семейный»
Помните, что AdGuard DNS – проект с открытым исходным кодом, как и все бесплатные продукты AdGuard. Компания считает чрезвычайно важным, чтобы услуги и продукты, которым вы доверяете защиту конфиденциальности данных, были максимально прозрачными и заслуживающими доверия. Чтобы просмотреть исходный код, узнать все о AdGuard DNS или даже оставить предложение, посетите репозиторий в GitHub.
Команда разработчиков надеется, что пользователям понравится AdGuard DNS. Они убеждены, что проект будет только расти. В будущем будет добавлено больше расположений серверов и новые дополнительные функции.
5 бесплатных dns интернет-фильтров
DNS интернет-фильтр — это интернет сервис, который позволяет фильтровать нежелательные серверы в интерент по их доменным именам. Например сайт www.virus.org — распространяет вирус на компьютеры пользователей, которые на него заходят. Если у такого пользователя будет подключен интернет-фильтр на основе DNS то вместо зараженного сайта пользователь увидит сообщение о блокировке опасного сайта. То же самое произойдет с поддельным сайтом, который попытается украсть ваши пароли от соцсетей или номера кредитных карт.
Значительным преимуществом является отсутствие необходимости в установке какого либо программного обеспечения на защищаемый компьютер. Все, что необходимо сделать — это прописать в настройках сетевого подключения компьютера нужный адрес DNS сервера, который и будет выполнять роль фильтра.
Как работает dns-фильтр
Сильно упрощенно это выглядит следующим образом:
Как видите все просто и в целом достаточно эффективно. Область применения данных сервисов не ограниченна только домашними ПК. Если вы администратор сети предприятия то данные сервисы станут дополнительной защитой вашей сети, просто настройте резольвинг интернет-адресов вашей сети через dns-фильтр. Вы так же можете использовать фильтрацию на мобильных устройствах, таких как смартфоны или планшеты.
Общедоступные DNS-фильтры
На сегодняшний день существует много подобных сервисов и большинство из них предлагают возможности фильтрации бесплатно. У многих антивирусных компаний существуют свои закрытые и публичные dns-фильтры. Далее я перечислю наиболее известные публичные сервисы, которые уже проверены временем и людьми.
Данный список конечно же не полный, но это, на мой взгляд наиболее интересные и популярные серверы, которые стоит использовать в качестве первой линии фильтрации и обороны домашней компьютерной сети или сети предприятия. Важно понимать, что использование данных сервисов ни в коем случае не исключает необходимость применения современных и актуальных антивирусных средств, таких как Антивирус Касперского, например ;).
Какой dns-фильтр выбрать?
У вас может возникнуть вопрос какой из этих сервисов выбрать. Из личного опыта могу порекомендовать следующий алгоритм выбора:
Для тестирования производительности описанных выше DNS серверов я использовал утилиту DNS Benchmark, результаты отсортированы по времени ответа.
Как видите из моей сети самый быстрый оказался SkyDNS, следующий за ним Google, затем сервера Яндекс (С полными фильтрами для родительского контроля). Ситуация из вашей сети, либо в другое время суток может отличаться. Лучше всего протестировать каждый сервис самостоятельно! У каждого сервиса свои алгоритмы построения черных списков, поэтому существует вероятность ложных блокировок надежных сайтов. На мой взгляд хорошей золотой серединой выглядят сервера Яндекса.
Пишите в комментариях что вы думаете по этому поводу! Буду рад ссылкам на другие аналогичные сервисы и авторитетным (подкрепленным аргументами) критическим высказываниям по теме.
DNS-фильтрация
Чтобы лучше понимать DNS-фильтрацию, надо сначала ответить на вопрос «Что такое DNS»?
Что такое DNS?
DNS расшифровывается как «Domain name system», или «Система доменных имён». Её цель — переводить имена доменов, понятные человеку, в нечто, что понятно браузерам, т.е. в IP-адреса. Таким образом, каждый раз, когда вы переходите на сайт, ваш браузер посылает запрос на специальный сервер (DNS-сервер). Этот сервер смотрит на имя запрашиваемого домена и отвечает соответствующим IP-адресом. Очень схематично это выглядит так:
Всё то же самое применимо, разумеется, и к приложениям и программам, которые посылают какие-либо веб-запросы, а не только к браузерам.
Как работает DNS-фильтрация?
Когда вы используете одно из приложений AdGuard, поддерживающее DNS-фильтрацию, оно работает как буфер между вашим устройством и DNS-сервером. Все DNS-запросы, которые ваши браузеры и приложения собираются отправить, сначала обрабатываются AdGuard. Если вы используете DNS-сервер, предоставленный по умолчанию вашим интернет-провайдером, ваш DNS-трафик, скорее всего, не зашифрован и уязвим для подслушивания и перехвата. AdGuard зашифрует все ваши DNS-запросы до того, как они будут отправлены, так что никакие злоумышленники не смогут получить доступ к их содержимому. Кроме того, AdGuard может идентифицировать запросы по рекламным, трекинговым и взрослым сайтам и перенаправить их «в никуда» вместо того, чтобы переслать на DNS-сервер. Подробнее об этом позднее.
DNS-фильтрация — это мощный инструмент, который поддерживается всеми основными приложениями AdGuard: AdGuard для Windows, AdGuard для Mac, AdGuard для Android и AdGuard для iOS.
DNS-фильтрация может быть условно разделена на две основные функции: шифрование DNS-трафика и его перенаправление на DNS-сервер, а также блокировка определённых доменов с помощью локальных DNS-фильтров.
DNS-серверы
В мире существуют тысячи DNS-серверов, и все они уникальны по своим свойствам и целям. Большинство просто возвращает IP-адрес запрошенного домена, но некоторые имеют дополнительные функции: они блокируют рекламные, трекинговые, взрослые домены и т.д. Сегодня все крупные DNS-провайдеры поддерживают различные протоколы для шифрования DNS-трафика: DNS-over-HTTPS, DNS-over TLS. AdGuard также предоставляет свой DNS-сервис, и он стал самым первым DNS-провайдером в мире, который добавил поддержку нового и многообещающего протокола шифрования DNS-over-QUIC. AdGuard имеет несколько разных серверов для разных целей. Эта диаграмма иллюстрирует работу блокирующих серверов AdGuard DNS:
Другие DNS-провайдеры могут работать иначе, так что узнайте все подробности перед тем, как делать выбор в пользу того или иного сервера. Вы можете найти список некоторых популярных DNS-провайдеров в этой статье. Все приложения AdGuard, которые поддерживают DNS-функционал, также предоставляют на выбор список проверенных DNS-серверов и даже дают возможность вручную указать любой предпочитаемый вами DNS-сервер.
Локальные DNS-фильтры
Но если полагаться только на DNS-серверы в вопросе фильтрации DNS-трафика, то неизбежны потери в гибкости. Если выбранный сервер блокирует какой-либо домен, вы не сможете на него перейти, пока не переключитесь на другой сервер. С AdGuard же вам даже не обязательно настраивать какой-то конкретный DNS-сервер, чтобы фильтровать DNS-трафик. Все продукты AdGuard позволяют добавлять локальные DNS-фильтры, будь то простые файлы hosts или фильтры, использующие более сложный DNS-синтаксис. Они работают сходным образом с обычными рекламными фильтрами: когда DNS-запрос подходит под одно из правил в активном фильтре, он блокируется. Чтобы быть более точным, перенаправляется «в никуда».
Чтобы получить доступ к DNS-фильтрации в AdGuard для iOS, вам сначала потребуется включить «Расширенный режим» в настройках.
Вы можете добавлять столько собственных DNS-фильтров, сколько захотите. Например, вы можете задействовать DNS-фильтр AdGuard. Он буквально блокирует всё то же самое, что и сервер AdGuard DNS, но в данном случае вы вольны использовать любой другой DNS-сервер. Плюс, при использовании данного метода вы можете добавить больше фильтров или же создать собственные правила-исключения. Всё это было бы невозможно в случае с использованием только DNS-сервера.
Существуют сотни различных DNS-фильтров, вы можете выбрать нужные вам здесь.
Сравнение DNS-фильтрации с сетевой фильтрацией
Мы называем сетевой фильтрацией «обычный» способ, которым самостоятельные приложения AdGuard (кроме браузерных расширений) фильтруют весь сетевой трафик, отсюда и название. Освежить знания о сетевой фильтрации можно, прочитав эту статью.
Во-первых, мы сразу хотим оговориться, что с AdGuard вам не нужно выбирать между ними. Вы всегда можете использовать обычную сетевую фильтрацию и DNS-фильтрацию одновременно. Однако важно понимать разницу между этими двумя подходами. DNS-фильтрация обладает как своими уникальными преимуществами, так и недостатками.
Плюсы DNS-фильтрации:
Недостатки DNS-фильтрации:
Пример разницы между DNS-фильтрацией и сетевой фильтрацией
Мы рекомендуем использовать DNS-фильтрацию вместе с сетевой фильтрацией, а не вместо неё, если это возможно.
Что такое DNS-фильтрация и как она защищает нас
DNS может быть атакован
Мы видели это DNS это фундаментальная вещь для нашего дня. Они облегчают нам серфинг в Интернете. Однако эта зависимость также может создавать проблемы безопасности. DNS может быть атакован хакерами и поставить под угрозу безопасность и конфиденциальность пользователей.
Как можно атаковать DNS? Например, через атаки типа «отказ в обслуживании», отравление кэша и т. Д. Они могут использоваться для проведения серии атак, которые наносят нам вред.
Что такое DNS-фильтрация
Хотя есть много типов вредоносных программ и проблемы сетевой безопасности, к счастью, у нас также есть широкий спектр инструментов, чтобы защитить нас. Примером является DNS-фильтрация, которую мы можем использовать, чтобы избежать угроз безопасности, таких как упомянутые выше.
Благодаря DNS-фильтрация мы можем избежать блокировки многих сайтов, которые могут быть законными. Что мы действительно делаем, так это фокусируемся на тех, кто может представлять реальную угрозу. Это более точный вариант, чем IP-фильтрация, которая позволяет блокировать один адрес, охватывающий несколько сайтов, а также фильтрацию на основе URL. Можно сказать, что DNS находится в середине этих двух методов.
Например, есть четыре доменных имени (DNS), назначенных одному и тому же IP-адресу. Если мы заблокируем этот IP, мы заблокируем эти четыре DNS. Теперь только один из четырех действительно может быть опасным. Вот почему это более точный метод блокировки.
DNS-фильтрация блокирует подключения к вредоносным ссылкам независимо от того, какое приложение инициирует соединение. Это означает, что не имеет значения, пытаемся ли мы получить доступ к вредоносной ссылке через e-mail приложения или, например, из текстовой программы.
Следует также отметить, что DNS-фильтрация может использоваться как частными пользователями, так и компаниями. В основном компании обычно используют больше мер безопасности такого типа, чтобы защитить себя от возможных внешних угроз, которые подвергают системы риску.
Блокирование контента при помощи DNS: прошлое, настоящее, будущее
Эта статья по сути является текстовой калькой с выступления Андрея Мешкова, сооснователя и CTO AdGuard, на коференции Ad Blocker Dev Summit 2021. Если вы не хотите читать “много букв”, уделите 30 минут просмотру этого видео (на английском языке).
Сегодня к интернету подключено абсолютно всё — от телевизора до умных лампочек, от мобильных устройств до умных автомобилей. А где есть интернет, есть трекеры и реклама. Верно? Получается, что один только браузерный блокировщик не сможет защитить вас. В его силах лишь предоставить вам крошечное окно в «лучший интернет» без агрессивных и навязчивых баннеров, пытающихся завладеть вашим вниманием. Но что, если вы хотите расширить это «окно»?
В этом случае пристегните ремни и приготовьтесь к увлекательному путешествию по прошлому, настоящему и будущему DNS-фильтрации. Почему? Потому что DNS — это ответ!
Что такое блокировка на уровне DNS
Чтобы освежить ваши знания: аббревиатура DNS расшифровывается как Domain Name System, т.е. «система доменных имен». DNS — своего рода «адресная книга» интернета, цель которой состоит в переводе имён веб-сайтов в нечто понятное браузерам, то есть в IP-адреса. Таким образом, каждый раз, когда вы заходите на веб-сайт, ваш браузер отправляет запрос на DNS-сервер (который обычно предоставляется вашим интернет-провайдером), чтобы определить IP-адрес веб-сайта. В ответ обычный DNS-резолвер просто возвращает IP-адрес запрошенного домена.
Ваше устройство всегда использует какой-либо DNS-сервер для получения IP-адреса доменного имени, к которому обращается приложение.
К счастью для нас с вами, существуют DNS-серверы, обеспечивающие фильтрацию трафика и блокировку контента. Обычно это делается с помощью техники «DNS Sinkholing», суть которой заключается в выдаче немаршрутизируемых адресов для заблокированных доменов. Когда ваше устройство отправляет «плохой» запрос, будь то реклама или трекер, DNS-сервер отвечает IP-адресом 0.0.0.0 для заблокированного домена. Получается, что приложение просто не может подключиться к этому адресу, и мы получаем желаемый результат — заблокированое подключение.
Пример использования DNS-сервера для блокировки доступа к домену
DNS-сервер также может вернуть такие ответы: NXDOMAIN (означает, что домен не существует) или REFUSED (означает, что сервер отказался обрабатывать запрос). Вы скорее всего не заметите разницы между ними, но некоторые старые устройства могут неверно интерпретировать REFUSED и попытаться использовать резервный DNS-сервер.
Прародитель DNS — HOSTS-файл
Удивительно, но блокировка на уровне DNS — самый старый известный подход к блокировке рекламы. Как такое возможно?
Ещё в те дни, когда интернет был молод и назывался ARPANET, была разработана система именования, которая сопоставляла IP-адрес компьютера с уникальным идентификатором на основе ASCII. Имея всего несколько компьютеров, подключенных к ARPANET, Центр сетевой информации Министерства обороны США поддерживал файл с именем HOSTS.TXT — главный список адресов всех компьютеров и их хост-имён. Системные администраторы периодически загружали обновленный HOSTS.TXT. Зная имя компьютера ARPANET, можно было просто посмотреть его IP-адрес в файле HOSTS.
Так выглядел файл HOSTS.TXT, который использовался во времена ARPANET
Но вскоре стало ясно, что растущее число хостов создает слишком большую нагрузку на компьютер NIC (Network Information Center). Все хотели иметь свои компьютеры в ARPANET, но им приходилось ждать, пока организация NIC обновит HOSTS.TXT. Возникла необходимость в альтернативном решении, поэтому в конце 1987 года Пол Мокапетрис разработал систему доменных имён.
Но файл HOSTS не был забыт. Вскоре после появления первой рекламы в интернете люди обнаружили, что HOSTS.TXT можно использовать в качестве блоклиста для предотвращения загрузки рекламы (такой подход очень напоминает технику «DNS Sinkholing», не так ли?) После этого некоторые энтузиасты стали составлять первые блоклисты и делиться ими со всеми желающими. Есть несколько ярких примеров блоклистов с более чем 20-летней историей, которые активно развиваются и по сей день, например, блоклисты Питера Лоу, блоклисты Стивена Блэка или хосты Дэна Поллока.
Фрагмент блоклиста Питера Лоу
Когда появилась первая версия Adblock для Firefox, некоторые пользователи просто не могли понять его предназначение. Их всё устраивало в том, как работал файл HOSTS.
Скриншот записи на форуме, 2003 г.
Однако файлы HOSTS имеют некоторые недостатки, которые не так просто устранить.
Распространение обновлений. Не существует удобного способа предоставления обновлений файла HOSTS пользователям. Для этого нужно либо иметь специальное программное обеспечение, либо быть очень терпеливым и периодически делать это вручную.
Большие размеры. Файлы HOSTS становятся просто огромными из-за того, в них нельзя использовать подстановочные знаки и необходимо прописывать каждый домен. Синтаксис файла HOSTS просто не предназначен для использования таким образом. Взгляните на рисунок ниже, где показан один из самых больших блоклистов — Energized Unified. Как вы можете видеть, он содержит более 700 тысяч доменов и весит почти 21 мегабайт. Распространять файл размером 21 Мб среди миллионов пользователей ежедневно — это уже серьезная проблема.
Блоклист Energized Unified
Публичные DNS-серверы, блокирующие рекламу, появились как перспективная альтернатива файлу HOSTS. Достаточно было настроить устройство на использование такого сервера, и больше не нужно было возиться с обновлением файлов HOSTS. Один из первых публичных DNS-серверов назывался Alternate DNS и появился в 2015 году. Его обслуживанием занимался один человек. Позже, в 2016 году, мы запустили AdGuard DNS.
Новая жизнь для DNS-блокировщиков
До недавнего времени DNS как стандарт был почти заморожен, в него вносились лишь незначительные изменения. Но пару лет назад всё взорвалось новыми стандартами. И, в первую очередь, за счет DNS-шифрования: DNS-over-TLS, DNS-over-HTTPS, DNS-over-QUIC — все эти протоколы стали мейнстримом и оказали большое влияние на блокировку контента!
До роста популярности DNS-шифрования доступные варианты были слишком сложными для обычного пользователя. Можно было:
После того как DNS-шифрование стало общепринятым, некоторые технические препятствия просто исчезли. Теперь настроить DNS-сервер стало намного проще, и его можно использовать в любой сети. Конечно, вам всё ещё нужно погружаться в настройки устройства, но не так глубоко, как раньше. Кроме того, DNS-шифрование нативно поддерживается на Android 9+ (DoT, DoH на подходе), iOS 14+ и macOS 15+ (DoT, DoH), Windows 11 (правда, поддержка довольно ограничена). Всё это дало огромный толчок росту популярности DNS-блокировки.
Кроме того, развитие DNS-шифрования позволило публичным DNS-серверам предоставлять пользователям возможности настройки. Другими словами, каждый получил возможность выбирать, что блокировать, а что нет. Ранее применение пользовательских правил на основе доменного имени DNS-сервера было возможно только путём «привязки» IP-адреса пользователя, что точно не было хорошим решением.
Использование DNS для блокировки контента: за и против
DNS-блокировка контента имеет как преимущества, так и очевидные недостатки. Давайте начнем с положительных сторон использования DNS для блокировки контента.
Плюсы
Например, давайте рассмотрим маскировку CNAME — тактику, которую использовали некоторые трекеры, чтобы скрыться от блокировщиков. С помощью DNS-записи CNAME они скрывали настоящее доменное имя третьей стороны, маскируя его под домен первой стороны. С помощью AdGuard DNS мы смогли обнаружить все эти замаскированные домены и опубликовать их список, чтобы даже блокировщики контента, не имеющие доступа к DNS, могли остановить это.
Другой пример — использование прокси для маскировки трекеров. В принципе, возможно использовать CloudFlare или CloudFront для настройки безсерверного прокси, который будет скрывать оригинальный домен третьей стороны. DNS в целом не поможет в этом случае, но он может стать хорошей отправной точкой для обнаружения таких прокси.
Минусы
Что можно улучшить
DNS-фильтрация имеет некоторые недостатки, которые можно исправить или хотя бы смягчить.
Страница ошибки “Доступ запрещён” (Access Denied Error Page)
В настоящее время, если домен заблокирован на уровне DNS, вы просто видите уродливую страницу ошибки. Это негативно сказывается на пользовательском опыте. Например, при желании человек не сможет временно разблокировать домен, ведь способа сделать это просто нет.
К счастью, существует проект RFC (документ с запросом на комментарии) как раз об этом: DNS Access Denied Error Page, который позволит показывать пользователю красивую страницу ошибки, не прибегая к уродливым решениям (например, требованию установить сертификат HTTPS).
Механизмы обнаружения DNS с шифрованием
Сейчас вам нужно настраивать DNS на каждом устройстве. Не проще ли сделать это один раз непосредственно на роутере? Некоторые новые маршрутизаторы уже поддерживают DNS-шифрование. Однако многие старые устройства по-прежнему могут работать только со стандартными DNS-серверами. Существует рабочая группа «Adaptive DNS Discovery», которая стремится изменить эту ситуацию к лучшему.
Примечательные RFC-проекты:.
Обнаружение приложений
И ещё одна вещь может быть улучшена. Было бы здорово иметь возможность определять, какое приложение выполняет тот или иной DNS-запрос. Однако не существует RFC, который мог бы в этом помочь. Но мы можем попытаться сделать это сами, попытаться создать своего рода «отпечатки пальцев DNS», по крайней мере, для популярных приложений. Если бы мы знали, какое приложение делает DNS-запрос, мы могли бы более гибко настраивать параметры блокировки.
Например, мы хотим заблокировать трекинг Facebook. Но глобальная блокировка приведёт к поломке всех приложений Facebook. Поэтому мы хотим иметь возможность блокировать его только в приложениях, не относящихся к Facebook.
Другая реальная проблема заключается в том, что блокировка AppsFlyer (системы мобильной аналитики) ломает некоторые довольно популярные приложения. Мы бы предпочли выборочно разрешить его работу — только для затронутых приложений, а в противном случае оставить его заблокированным.
Создание таких «отпечатков DNS» требует анализа сетевого поведения каждого популярного приложения, и мы работаем над решением, которое позволит это сделать.
Что такое AdGuard DNS
Если вы хотите получить доступ к «лучшему интернету», вам обязательно нужно в сочетании с VPN и блокировщиком рекламы использовать DNS. И мы предлагаем вам присмотреться к AdGuard DNS.
Что же представляет собой AdGuard DNS? Это DNS-сервис, который заботится о сохранении вашей конфиденциальности и обеспечении безопасности в интернете. Он поддерживает такие надежные протоколы шифрования, как DNS-over-HTTPS, DNS-over-TLS и DNS-over-QUIC. Он может определять запросы к рекламным, отслеживающим и/или доменам со «взрослым» контентом (опционально) и возвращать им пустой ответ. AdGuard имеет собственную базу доменных имен, обслуживающих рекламу, трекеры и мошеннические активности, и она регулярно обновляется. Кроме того, мы обеспечиваем полезную возможность добавлять в блоклисты свои пользовательские правила.
Чтобы дать вам более широкое представление о том, что такое AdGuard DNS, я упомяну ещё несколько моментов:
Синтаксис правил фильтрации DNS
Блоклисты AdGuard DNS составляются с использованием специального «синтаксиса фильтрации DNS». Нас не устраивали ограничения блоклистов типа HOSTS-файлов, поэтому для AdGuard DNS мы использовали знакомый синтаксис в стиле блокировщика рекламы. Затем он был постепенно расширен модификаторами, специфичными для DNS.
Примеры правил фильтрации DNS. Полная спецификация доступна на Github
Просто чтобы продемонстрировать разницу. Слева приведена статистика для DNS-фильтра AdGuard (тот, который мы используем по умолчанию). Он относительно короткий, но на самом деле блокирует около 900 000 доменов. А слева мы видим другой блоклист — Energized Ultimate, который представляет собой HOSTS-файл с 500 000 доменов. И вот что он блокирует — 500 000 доменов.
Статистика по данным AdGuard DNS
Узел AdGuard DNS-сервера
Каждый узел AdGuard DNS-сервера состоит из нескольких частей. На клиентской стороне интерфейса — перенаправляющий DNS-сервер, написанный на языке Golang, который реализует всю логику, т.е. DNS-фильтрацию, кэширование и т.д. На программно-аппаратной части сервиса у нас есть экземпляр несвязанного сервера, который обеспечивает рекурсию DNS. Нагрузка на один узел сервера составляет от 5 000 до 40 000 ответов в секунду в зависимости от расположения узла (некоторые локации более популярны, чем другие).
Реализации движков фильтрации DNS
Реализации движков фильтрации DNS имеют открытый исходный код и доступны на Github. Их две. Первая называется urlfilter и представляет собой библиотеку Golang, которую мы используем в AdGuard DNS и AdGuard Home. Обеспечивает относительно высокую производительность и занимает мало памяти. Вторая — AdGuard DnsLibs, это библиотека C++, которую мы используем в наших клиентских приложениях. Помимо фильтрации DNS, она также обеспечивает реализацию DNS-шифрования.
Если вы хотите защитить себя от рекламы и трекеров с помощью AdGuard DNS, просто следуйте этому руководству по настройке.
Взгляд в будущее
Браузерные блокировщики контента можно назвать самыми популярными среди обычных пользователей, но не среди составителей блоклистов. Существует гораздо больше HOSTS-файлов и списков доменов, которые поддерживаются добровольцами, чем списков фильтров для браузерных блокировщиков. Это говорит о том, что у блокировки на уровне DNS большие перспективы.
Статистика по данным filterlists.com
Что ещё можно сказать о будущем этой технологии? Во-первых, рост DNS-блокировки контента ускорится. В Windows 11 появилась поддержка шифрования DNS, новые роутеры также поддерживают шифрование DNS, всё это облегчит пользователям его настройку и использование.
Уровень обхода блокировки DNS-контента будет расти, но он всё ещё будет незначительным. Чтобы обойти её, требуется много усилий с разных сторон, и чтобы это начало происходить, DNS-блокировка контента должна стать такой же популярной, как и браузерная блокировка. А этого, вероятно, не произойдет, несмотря на темпы роста.
DNS не заменит браузерные блокировщики по очевидным причинам. Но, тем не менее, DNS-блокировка останется и займёт достойное место в системе обеспечения конфиденциальности и безопасности пользователей в интернете.