“Яндекс.DNS” – обработка имён на новый лад

“Яндекс” запустил открытый сервис DNS (открытые резолверы). Сервис похож на Google Public DNS. Однако у яндексового варианта есть дополнение – фильтрация адресов:

Яндекс.DNS – это бесплатный DNS-сервис, блокирующий опасные сайты и сайты для взрослых.

(http://dns.yandex.ru/)

Мода на фильтрацию добралась и до “Яндекса”. Реализация, впрочем, весьма странная. Тем более, для “Яндекса”. Особенно на фоне того, что недавно они анонсировали собственный браузер. Поясню: подменять ответы DNS – это весьма порочная практика, угрожающая стабильности системы доменных имён. Сервис “Яндекса” именно подменяет ответы. И делает это криво.

При обработке запроса об адресе “заблокированного” ресурса приходит ответ, содержащий IP-адрес некоего принадлежащего “Яндексу” сервера перенаправлений, который отвечает по HTTP (это уже прямая подмена соединения!) редиректом на специальную страницу внутри yandex.ru. Эта страница устроена так, что охотно показывает сообщение о блокировании любого адреса, который передан в параметре URL-а. Например: http://yandex.ru/adult?url=yandex.ru – пишет, что “заблокирован” yandex.ru. Это, мягко говоря, технологически некрасиво. (Да, многие операторы связи сейчас делают подобное. Это известно.)

Почему плохо портить ответы DNS? Прежде всего потому, что пользователь остаётся с заведомо сломанным сервисом резолвинга, в который добавлена ещё пара уязвимых точек. Одна ошибка администраторов может перенаправить массу пользователей добропорядочного сайта на некую страницу-заглушку. И это в лучшем случае. В худшем, если сервис поломают, – получаем классический фишерский инструмент с подменой DNS. Обратите внимание, что пользователи подобных сервисов заведомо остаются без DNSSEC. Это при том, что Google Public DNS поддержку DNSSEC наоборот – внедряет (в комментариях уточнили: уже внедрил). Да, понятно, что взломать могут и резолвер интернет-провайдера. Проблема в том, что потенциальная аудитория сервиса “Яндекса” куда как более разнообразна, дефект, при этом, заложен в этот сервис архитектурно, чего нельзя сказать о стандартных резолверах.

Естественно, блокировать нехороший контент нужно. Но для этого не требуется ломать DNS. Нужно использовать белые и чёрные списки, встроенные в браузер. И подходящий браузер у “Яндекса” есть.

()

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 9

  • 1. 4th April 2013, 20:04 // Читатель jno написал:

    чому я не гугель?
    чому не литааааю?

  • 2. 4th April 2013, 20:41 // Читатель RE написал:

    >Нужно использовать белые и чёрные списки, встроенные в браузер.
    Тогда эту блокировку можно будет сравнительно легко обойти, а это им не надо

  • 3. 5th April 2013, 06:26 // Читатель Евгений написал:

    А почему, “естественно блокировать нехорошие сайты нужно”? Может просто не ходить на такие сайты?

  • 4. 5th April 2013, 07:42 // Читатель Саша Сергеев написал:

    Вообще-то Google объявили что они закончили с внедрением DNSSEC и теперь проверяют все запросы, не только те, что с DO битом
    http://googleonlinesecurity.blogspot.com/2013/03/google-public-dns-now-supports-dnssec.html

  • 5. 5th April 2013, 11:04 // Александр Венедюхин ответил:

    > Вообще-то Google объявили что они закончили с внедрением DNSSEC

    Спасибо. Замечательно, Google опять молодец. Правда, насчёт “всех запросов” они как раз там (по ссылке) пишут, что проверяют не для всех. Собственно, сейчас ещё рано на публичном сервисе включать строгую проверку – много что сломается.

  • 6. 5th April 2013, 12:15 // Александр Венедюхин ответил:

    > А почему, “естественно блокировать нехорошие сайты нужно”?
    > Может просто не ходить на такие сайты?

    Некоторые пользователи хотят, чтобы было заблокировано, так как они могут случайно попасть “не туда”, скажем, браузер сам что-то откроет (из-за уязвимости на каком-то сайте, например), и так далее. Наверное, я слишком строго написал. Давайте так: “необходимо иметь возможность блокировать нехорошие сайты”.

  • 7. 5th April 2013, 15:04 // Читатель jno написал:

    блокировщики урлов есть в антивирусах и файрволах, такая функция включена в ПО многих домашних рутеров, блеклистить можно фильтрами AdBlock’а, конкретные узлы можно подавлять, корёжа \windows\system32\drivers\etc\hosts – было бы желание.

    это я про форточные дела, понятно…

  • 8. 3rd May 2013, 15:20 // Читатель skystart написал:

    блокировщики урлов есть в антивирусах и файрволах, такая функция включена в ПО многих домашних рутеров
    – далеко не все роутеры это умеют, теб более уж скачивать списки…
    блеклистить можно фильтрами AdBlock’а
    – установка дополнительного софта ради облегчения работы- не наш метод
    конкретные узлы можно подавлять, корёжа \windows\system32\drivers\etc\hosts
    -тем более не наш метод, тем более что много сайтов располагается на шаред хостингах

    Можно дропать пакеты на стороне провайдера, но это может замедлить загрузку страниц, можно перенаправлять на другую страницу через Transparent Proxy опять таки на стороне провайдера.

    Получается, что подмена DNS – это самый безобидный вариант (при правильной реализации). Превда есть минус- “плохие” страницы могут висеть не на доменных именах, а на IP – адресах, и тогда этот способ не поможет.

  • 9. 23rd May 2013, 12:44 // Читатель bind написал:

    на самом деле классная штука
    жаль, что только 3 варианта выбора (маловато)