Подмена провайдером DNS-запросов

Предыстория

После принятия всем известных законов в нашем Отечестве, я выхожу в инет через западный VPN-сервер.

Вчера, по причине некоторых проблем с основным провайдером, я временно переключился на провайдера под названием Дом.ру.

Сегодня, я лазил в гугле и искал некоторую информацию по уходу за кактусами. Одна из ссылок привела меня на сайт psy*****s.org. Там, как выяснилось, вовсю торгуют «веществами». И кактусы тоже продают, правда, довольно специфические.

Но, об этом я узнал позже, а сначала, я был шокирован показом мне странички «доступ к данному ресурсу был заблокирован...» с логотипом Дом.РУ.

С тех пор, как купил ВПН, я такие страницы не наблюдал вообще, по понятной причине.

Расследование

Для начала, я решил проверить, а работает ли мой VPN?
Проверил самым тупым способом — зашёл на сайт my-ip.ru. Увидел свой свой голландский IP, следовательно, c VPN всё в порядке.

Начал разбираться дальше. Мысль, что Дом.РУ каким-то образом может расковырять ssl, я отмёл сразу.

Проверил маршрут при помощи traceroute. Маршрут до сайта psy*****s.org ведёт, как положено, через мой VPN-сервер, а потом приводит на ДОМРУшную заглушку с адресом 92.255.241.100.

Остаётся ДНС. Но, на моём домашнем сервере настроен кэширующий ДНС-сервер bind, и в качестве forwarders указаны гугловские 8.8.8.8 и 8.8.4.4. Есть только одно «но»: доступ к этим серверам идёт по открытому каналу.

Проверяем:

ksh@master:~$ nslookup
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> psy*****s.org
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	psy*****s.org
Address: 92.255.241.100



Теперь, заворачиваем трафик до внешних ДНС-серверов через VPN и проверяем снова:

ksh@master:~$ nslookup
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> psy*****s.org
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	psy*****s.org
Address: 37.252.124.170


Ситуация понятна.

Морально-этическую и законную стороны действий провайдера, думаю, обсуждать смысла нет. По сути, речь идёт об атаке MITM.

Что делать?

Использовать DNSSEC — не выход, хотя, публичные сервера от Google и поддерживают этот протокол. Да, фальшивые ответы не пройдут валидацию, и в результате у вас попросту отвалится ДНС.

Выход один — любым способом шифровать трафик до публичных ДНС-серверов.

Интересна, также, позиция Google по этому вопросу.
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 169

  • UFO just landed and posted this here
      +1
      Полная блокировка по IP лучше чем MITM и намного чеснее (и даёт понимание людям об ограничениях)
        0
        Да. Я кстати везде топил за блокировку по IP.
        • UFO just landed and posted this here
            0
            Пустые отговорки. Провайдеры оказались безвольными уборщицами. Вот поэтому такая и срань. Если они вообще хотят сохранить свой бизнес — входит. Хостерам почему-то всё это не помешало хоть как-то побуянить. Хотя им-то вообще чего — пришла малява — закрыл, или не закрыл — вообще закон не касается.
              0
              Там внизу написали про хостеров.
                0
                Ну и где это про хостеров?
                  0
                  ДЦ уже не хостер?
                    0
                    Да там и не про ДЦ.
              0
              Но учитывая то, что работа в окружении безвольных тряпок — часть нашей жизни, я конечно же предлагал сделать это на уровне нормативной базы. И до сих пор придерживаюсь этого мнения и когда меня как эксперта спрашиваю — озвучиваю. Когда не спрашивают — тоже :) Да, блокировка должна быть только по IP.
              • UFO just landed and posted this here
                  +1
                  У блокировки по IP есть серьёзная оборотная сторона. Роском--зор сейчас требует (точнее, его «ревизор» проверяет) доступность ip, в которые резолвятся сейчас домены из реестра. Если жёстко соблюдать это требование и тупо банить все ip-ники, в которые резолвятся ~60000 доменов в выгрузке, не влезая в DNS, это дает хозяевам соответствующих доменных имен весьма мощное орудие. Можно управлять доступностью любого ip адреса сети для пользователей таких операторов. Без регистрации и СМС.
                    0
                    Ну да. Значит «резолвятся» не должно лежать на провайдере и лежать на РКН (как сейчас кстати всё равно и есть, свой ревизор пусть в соответствие со своими же требованиями приводят). И доменов в выгрузке должно быть меньше. Это сильно дисциплинирует
                      0
                      Проблема в том, что интерфейса по перекладыванию ответственности на РКН по операции «резолвиться» для оператора — не предусмотрено. Как следствие — они по выгрузке своего ревизора дело возбуждают автоматом, а то что хосты куда-то ни туда резолвятся — их не интересует от слова совсем. Написали в памятке для операторов — если во что резолвится, то и блочить. Не блочишь — получи люлей. Если они поднимут свой публичный dns, по аналогии с яндексовскими и законодательно скажут — «натить сюда» — все построятся и выдохнут. Но это ж надо мощности, мозги, поддержку, стыки на ix-ах. А где всё это взять? Нет, проще бумажки операторам выдавать и штрафы выписывать. Опять же, расходов никаких — доходы одни.
                        0
                        Ну это безвольные провы пусть с РКН сами разбираются. Наблюдая потрясающий ануслизинг обсуждать конечно нечего.
                        P.S. Да я посылал РКН даже когда у меня была лицензия. Да, я в том числе предпринял всё, чтобы она мне и моим коллегам больше была не нужна. А провы всё это время молча сглатывали
                          0
                          Провы привязаны к физически проложенной инфраструктуре на два порядка крепче, чем хостеры. Свернуть стойку в дата-центре и переехать в другой можно за единицы дней, а при правильной организации процесса — за единицы часов. С десятками километров опты по подвалам и чердакам такой опыт не проходит. Или продавать это всё надо за гроши и переквалифицироваться — но от этого в провайдере поменяется команда, а не ситуация с взаимодействием с РКН. То, что РКН пока толком не умеет вычислять и сажать тех, кто работает в серую — дело времени и ближайшего, что-то мне подсказывает. Провайдеры все друг друга знают и скоро начнут стучать на конкурентов (если уже не начали где-то).
                            0
                            Ок, ок. Провайдерами под ружьем быть заставляют. На работу под конвоем ходят. Я естественно уже слышал эти отговорки. Я могу придумать 100500 способов насрать в норку хостеру.
                        0
                        А что вы предлагаете делать с количеством доменов в выгрузке?
                          0
                          Выгрузка и формат сделаны исходя из законодательства, которое предусматривает блокировку URL сайта. Значение домена понятно в этой ситуации. Я конечно же теоретизировал и выражал свою позицию по IP.
                    0
                    Вы поменяете провайдера если вас в нем устраивает стабильность работы но один сайт не открывается?
                    Что-то мне подсказывает, что «домохозяйка» загуглит не открывается сайт Х и получит ссылку на тор браузер
                    • UFO just landed and posted this here
                        0
                        Так и замечательно, больше людей начинают обходить блокировки. Приличные сайты, к слову, находятся на своих личных IP, а не на shered хостинге (он еще не вымер?)
                          +1

                          Shared более-менее пофигу, но есть saas-платформы (тот же wordpress, blogspot и т. п.), которые пострадали. Ещё из больно ударивших в своё время cloudflare (CDN), github, slideshare.


                          В общем-то под угрозой любой сайт, который позволяет публиковать пользовательский контент.

                            0
                            slideshare и cloudflare это конечно трындец :(((
                        0
                        Прально. Значит дожно быть в нормативах — все по IP. У меня и так половина нужных сайтов не открываются, так что я всё уже решил :)
                          0
                          Не переживайте, скоро все переедут на HTTPS only и будет только по IP =)
                            0
                            SNI же. Я скорее ставлю на то, что у меня руки дойдут написать в прокуратуру на саботаж Роскомнадзором законодательства — на Youtube есть запрещенные судами ролики, которые там есть, а блокировки youtube нету.
                              0
                              Ок, IP + домен, но это не MITM c фильтрацией по контенту.
                                0
                                Нет таких урлов, все с http. Меня уже в этом обвиняли, два суда выиграл.
                                А те, что в списке минюста, то Роскомнадзор не виноват.
                                  0
                                  Как это нет? https :// www. youtube. com/watch?v=nD65tSYjZPM
                                  Решение суда. Даже в списке РКН есть. Но почему-то со статусом «не блокируется». И такого дохрена.
                      0
                      Некоторые перенаправляют трафик до заблокированных IP-адресов на Squid, где смотрят URL в SNI и блокируют только внесённые в реестр (остальное пропускают). А CDN уже давно забанены целыми подсетями.
                        0
                        И получается полное гавно. Потому что мало того, что кто-то трекает мой SNI, так ещё и качество этих сквидов оставляет желать лучшего
                          +1
                          где смотрят URL в SNI

                          в sni нет url, только хост (server_name)

                            0

                            Спасибо, все время путаю название.

                        +6

                        DNSCrypt?

                          0
                          DNSSEC надо везде. Чтобы с ним было сложно бороться. Вообще это ФАС — навязанная услуга. Да ещё и без соглашения о качестве услуги. Это ведь услуга «наш DNS»
                            +1
                            Чем он поможет? По факту, у вас просто отвалится DNS, и вместо одного неработающего сайта перестанет работать всё целиком. И ничего вы провайдеру не докажете, они будут советовать поменять DNS на указанный в договоре или выдаваемый по DHCP.
                              +1
                              Ага, тут r01 какую-то трубу у себя шатал, так у нас DNS половину суток радостно простаивали.
                                0
                                А можно поподробнее про r01? Мне как DNSSEC евангелисту интересно. Третьего дня они отказались ставить в планы внедрение передачи DS-записей в реестр RU/РФ. Так что не знаю что за трубу они шатал.
                              +1
                              Ставьте себе резолвер локально, а трафик через VPN пусть идет весь (ну кроме торрентов, может, и то не факт).
                                +6
                                ужасная компания этот дом.ру) подключиться легко а отключиться уже в разы сложнее, а если лично не отказываться от договора — будете ещё и должны.
                                  +5

                                  Это они у Ростелекома такую фишку взяли чтоль? Недавно от него отключался ещё и денег должен остался. Знакомые не хотят больше к нему подключаться из за этого. Подключать к тебе приедут всё сделают а отключаться только через офис и очередь на час-два. Ещё и кредитная система. Инетом можешь не пользоваться а счёт в минус уходит. Приостановка интрнета тоже платная. Бесплатная только один месяц в год. Да ещё отказали делать приостановку если в этом же месяце инет включил. ФАС на них нет!

                                    0
                                    Кредитная система, ИМХО, — один из плюсов РТК. Странно, что подключили новому клиенту. Обычно всех новичков они правдами-неправдами стремятся загнать на авансовую, даже премию выдают подключающему, если он подписал клиента именно на авансовую систему расчётов.
                                      0

                                      У меня была вроде как авансовая несколько лет. Мне его отключали из за нехватки рубля на счету. Потом они самостоятельно видимо включили кредитную.


                                      Любые кредиты плюсом не считаю. Это вытягивание денег у клиента. У многих провайдеров есть "обещанный платёж" который позволяет включить интернет на некоторое время в случае отсутствия денег на счету.

                                    +3
                                    Так и есть, в свое время (лет 5 с лишним назад) переключился с купленного Билайном провайдера к InterZet-у — он тогда как раз стал очень приличным, раньше это вообще были «цыгане в проводах», грешили даже тем, что резали витую пару у конкурентов. До начала прошлого года все было замечательно, пока InterZet не был куплен Дом.RU. Мало того, что поломали приоритезацию типов трафика, что проявилось в лагах на моем игровом сервере при малейшем шорохе в торрентах, так еще и периодически стали демонстрировать свою рекламную страничку при попытке открытия произвольного адреса в браузере. Т. е. открываешь ты, например, google, а на экране — «Подключись к нам и пользуйся IPTV полгода бесплатно». Жаловались на нее, что если не заплатить за следующий месяц — инета не будет, но и деньги со счета в минус будут уходить, т. е. пока не напишешь заявление на отключение и не оплатишь — будешь должником. А потом сам, лично видел такой пункт у них в договоре.
                                      0
                                      ТТК аналогично
                                        0
                                        ТТК списывает ежедневную оплату в полночь, как только деньги кончаются — услуга прекращается, никакого минуса.
                                      +7
                                      OpenVPN умеет посылать настройки DNS клиентам. Таким образом, если поднять свой DNS-сервер (тот же bind или dnsmasq), и настроить его на ответы внутрь VPN, то можно будет пользоваться.

                                      У меня настройка такая:
                                      — внутрь VPN смотрят bind, lighttpd и privoxy
                                      — VPN не прописывается как шлюз по умолчанию.
                                      — клиенты цепляются к VPN всегда, и настроены использовать bind как первичный DNS-сервер, и гуглоднс — как вторичный.
                                      — браузеры настроены на использование proxy autoconfig file, который отдаётся lighttpd на сервере.
                                      — proxy autoconfig файл генерируется по крону и направляет запросы для сайтов из черного списка на privoxy (черный список беру с antizapret). Остальные запросы идут напрямую.

                                      Таким образом, VPN используется выборочно, для DNS-запросов и для загрузки сайтов из чёрного списка, что очень удобно.
                                      Минус такого подхода — необходимость полноценного доступа к VPN серверу (VPN-провайдеры не подойдут), и наличие знаний для настройки всего этого хозяйства.

                                      В качестве апгрейда я накатил openvpn клиент на роутер, открыв всем устройствам в домашней сети доступ в VPN, и настроив dnsmasq на роутере на работу с bind. Так что любое устройство с минимальными настройками может пользоваться туннелем.
                                        +6

                                        Запрашиваю статью-мануал по настройке такой конфигурации. Хочется иметь почти всегда включенный VPN специально для веб-морды рутрекера. А то я себе OpenVPN по мануалу от Digita Ocean быстренько поднял, но во первых ничего не понял :-), а во вторых включать его на время поиска торрента и выключать на время скачивания — неудобно.

                                          0

                                          Ну если вам чисто для рутрекера нужно то можно и по ipv6 на него ходить напрямую. Прописав его в hosts.

                                            0

                                            Увы, IPv6 у моего провайдера нет (я всё скучаю по Онлайму, у которого он неофициально был, но мой нынешний дом они подключать не спешат, хотя «холодный обзвон» делают каждый месяц и каждый раз я им говорю, что я к ним хочу), а с 6to4-тоннелями я поигрался и отключил — то youtube нафиг посылает (нельзя смотреть российские ролики, если у тебя тоннель в Германию ведёт) то ещё что-нибудь не открывается. Поэтому «выборочный VPN» был бы лучшим решением.

                                              +5
                                              Именно для рутрекера есть почти официальный плагин к браузеру, а есть более универсальный для всей запрещёнки от ПростоVPN.
                                                0
                                                К слову о плагинах: а есть ли OpenSource-решение, которое отправляло бы через TOR все неудачные запросы, а остальные оставляло как есть? Желательно в виде плагина для лисы или чугуния.
                                                  0
                                                  Все исходники лежат в Битбакете, думаю будет несложно изменить адрес прокси на 127.0.0.1:9150 в PAC-файле и пересобрать плагин с новым путём до него.
                                                0

                                                Тоже ушел от Онлайма из-за переезда. Они, кстати, белые адреса выдавали, правда, динамические, статика — за доп. плату, но выручал DynDNS.
                                                По поводу рутрекера и ему подобным — выручает Opera VPN

                                                  +1
                                                  Если есть внешний ip — вам сюда.
                                                0
                                                Как выше написал navion, именно так работает ProstoVPN. Насчёт статьи-руководства… трудно сказать о чём тут писать. Мануалов по настройке OpenVPN выше крыши, фишка с роутером едва ли будет полезна — у меня DIR-320 с прошивкой Vampik'а (продолжение Олеговской), а не OpenWRT/DD-WRT… а кроме этого и писать-то особо нечего. Как PAC-файл генерировать, что ли? =)
                                                  0
                                                  Browsec
                                                  0
                                                  Есть ещё интересная штука stunnel.
                                                  Преимущество (в некоторых случаях), что работает через TLS, не надо держать постоянное соединение, keepalive пинги.

                                                  Ну и ща tcpdump'ом посмотрел, firefox не отправляет открытый DNS запрос, когда сайт указан в PAC-файле для открытия через SOCKS stunnel'а. А на VPS'ке даже днс-сервера нет, просто указан внешний днс в resolv.conf.
                                                  Ну и указать флажок нужно
                                                  dns

                                                  +6
                                                  > По сути, речь идёт об атаке MITM.
                                                  По сути провайдер вообще занимается постоянным MITM, уж позиция у него такая «по середине».
                                                  Да и атакой это назвать доволи сложно.

                                                  Ничего тут не поделаешь — есть закон и пров должен его выполнять, подмена днс-ов это вообще самое безобидное чт они могли сделать. Завтра выпустят новый закон и заставят всех ставить «государственный SSL сертификат» и будут смотреть весь трафик — вот тогда и нужно будет волноваться а сейчас ниочем пост :)
                                                    0
                                                    В законе ничего не ни про MITM, ни про DNS. Вот не надо тут.
                                                    • UFO just landed and posted this here
                                                        –5
                                                        1. Инструкцией РКН можно подтереться — она не имеет юридической силы. Судить будут не по инструкции.
                                                        2. Невозможно. Ну что же делать. Им это еще в 2011 говорили
                                                          0
                                                          > 1. Инструкцией РКН можно подтереться — она не имеет юридической силы.
                                                          На самом деле вполне себе имеют.
                                                          Взять аналог: ~2008й год, письмо-рекомендация Центрального Банка об учёте кредитов. Так вот, там было сказано, что для ведения бухгалтерских(считай банковских) счетов кредитов, банк может взимать за это плату. И вот так, до 2009 года все банки взимали комиссию за выдачу кредита, и за «ежемесячное обслуживание кредита». Поэтому ставки по кредитам были довольно низкими, но за счёт комиссий доходность банка повышалась. На банка подавали в суды, а они защищались (причём довольно успешно до 2010), прикрываясь такой «рекомендацией» ЦБ. Поэтому не стоит недооценивать силу «рекомендаций» компетентного органа.
                                                            –2
                                                            Погодь. 1. То что у нас нет судебной системы, это отдельный вопрос. 2. Есть закон о Центробанке. О РКН такого закона нет. 3. Все нормативы так или иначе имеют некие признаки, которых не имеет вот эта июньская или июльская рекомендация. Регистрация там, публикация в СМИ.
                                                              –1
                                                              Самое интересное, что МинКомСвязи со мной согласен. Хачатуровразрешил подтираться рекомендациями РКН,
                                                              • UFO just landed and posted this here
                                                                  –2
                                                                  Что такое «официальное распоряжение»? Вот этот мой комментарий — официальное распоряжение или нет? Признаки законов, подзаконных актов и нормативов устанавливаются Конституцией и законодательством. У этой бумажки их нет. Есть текст за подписью Жарова, не несущий правовых последствий. Это примерно как письмо МинФина — рассказ на тему ни к чему не обязывающий.
                                                            +3
                                                            Уже делают MitM. Как минимум мой магистральный провайдер. И как заблокировать его сертификат я не знаю :( image
                                                              0
                                                              Можно внести сертификат в недоверенные, тогда будет показывать заглушку с кодом ERR_CERT_REVOKED и без кнопки пропуска.
                                                                0
                                                                Оказывается в NSS нет хранилища для недоверенных сертификатов, но можете попробовать добавить ТТКшный сертификат в базу с флагом prohibited:
                                                                certutil -A -n "TTC BAD CA" -t "p,p,p" -d "~/.pki/nssdb" -i BAD_CA.crt
                                                                  0
                                                                  Точнее в хранилище есть недоверенные сертификаты, но интерфейс этого не показывает.
                                                            +4
                                                            Завтра выпустят новый закон и заставят всех ставить «государственный SSL сертификат» и будут смотреть весь трафик — вот тогда и нужно будет волноваться
                                                            Волноваться, все-таки, надо заранее. Пост-фактум будет поздновато
                                                              +5

                                                              Волноваться уже поздно.

                                                                +2

                                                                Так пост-фактум уже. Как то никто про это не пишет, ни здесь, ни на GT, но уже осенью 2016-го провайдеры ЭДО (электронного документооборота, причём не только с ФНС и прочими госструктурами, но и просто между контрагентами) сменили свои CA-ключи на подчинённые некоему CA от МинСвязи.
                                                                Последствия, думаю, всем понятны.
                                                                И не поставить нельзя — обмен нужен.

                                                                • UFO just landed and posted this here
                                                              +4
                                                              Я не очень понимаю, честно говоря: вот подмену записей при запросах на их ДНС-сервера провайдеры могут спокойно делать — это их сервера и что там они у себя пропишут для ответов клиентским запросам это их дело.

                                                              Но из статьи не совсем ясно — они подменяют ответ от стороннего (гугловского) ДНС-сервера что-ли? На сколько мне известно по закону провайдер не имеет право менять что-либо в трафике клиента. Либо он пропускает трафик к узлу / от узла как есть, либо законно блокирует подключение к узлу. Промежуточного варианта не предусмотренно и это все противоречит закону. Запросы клиетнов к узлам сети и все ответы на них должны передаваться по сетям связи в немодифицированном виде.
                                                                +2
                                                                Но из статьи не совсем ясно — они подменяют ответ от стороннего (гугловского) ДНС-сервера что-ли?


                                                                Да, так и есть. А в каком моменте это не ясно?
                                                                  0
                                                                  А вы не проверяли может они вообще весь клиентский трафик на 53 порт на свои DNS заворачивают?
                                                                    0
                                                                    Челябинск. Именно так и делают. Подозреваю, что в других регионах совершенно также
                                                                  • UFO just landed and posted this here
                                                                      0
                                                                      Либо провайдер пропускает трафик к узлу / от узла как есть, либо законно блокирует подключение к узлу. Когда он блокирует доступ к отдельной html-странице он просто не пропускает её к вам, заменяя на соответствующее уведомление. Предствьте себе, если провайдер вдруг начнет пропускать некоторые страницы, но фильтровать/подменять какую-либо содержащуюся в них информацию или данные. Это мне кажется мягко говоря будет очень не хорошо и насколько я понимаю не законно. Точно так же и с запросами не по HTTP.
                                                                      • UFO just landed and posted this here
                                                                          0
                                                                          Чтобы заблокировать отдельную страницу сайта нужно направить весь http-шный трафик, который идёт на ip-адреса этого сайта на демона, который будет а) смотреть заголовки, выясняя, какую именно страницу клиент хочет открыть и б) если клиент хочет открыть страницу, которая заблокирована, подменить ответ на страничку «сайт заблокирован…» ну или просто разорвать соединение.
                                                                          Да, и в таком виде это получается по-закону.

                                                                          Если же делать «Либо провайдер пропускает трафик к узлу / от узла как есть, либо законно блокирует подключение к узлу.» то это тогда получается, что Вы предлагаете блокировать тупо всё по ip
                                                                          Я ничего не предлагаю. Не надо привязываться к слову «узел». Можно уточнить: либо провайдер пропускает трафик к узлу / от узла как есть, либо законно блокирует подключение к узлу по запрещенному URI. Вы же понимаете… Главное чтобы провайдер это понимал.
                                                                          • UFO just landed and posted this here
                                                                              –2
                                                                              Закон, мораль, этика, нравственность, гуманность. Если задаться поросом: исходя из жизненного опыта убрать лишнее понятие из этого списка, то это — «закон».

                                                                              Я думаю что это так. И тогда становится ясно как к этому понятию относится — не стоит смешивать его с другими понятиями. И такое отношение к пониамнию закона и законности очень на мой взгляд справедливо и правильно.

                                                                              И когда на процессе по запрету доступа к какому-нибудь интернет-ресурсу какой-нибудь прокурор свое видение соблюдения морали и защиты нравственности начинает смешивать с соблюдением закона, то на самом деле на практике это выливается в то, что закон подменяется его видением.

                                                                              Мне из-за этого становится тревожно, потому что именно из-за этого явления несмотря на то, что в законе ясно и четко определен круг информации запрещенной к распространению и имеется недвусмысленное указание что «ограничение доступа к информации устанавливается федеральными законами» (т.е. исключительно — должен быть ФЗ в котором четко указано что такая-то информация запрещена к распространению), мы фактически имеем ситуацию когда запрещается любая информация, которая признается противоправной с точки зрения прокурора/судьи. Именно из-за того что защита нравственности начинает смешиваться с защитой законов.

                                                                              И мы тут потом вынуждены рассуждать про «самый гуманный способ» блокировок URI…
                                                                                0
                                                                                … даже если он не законен.
                                                                      0
                                                                      Есть разные способы.
                                                                      — Заворачивание всех ДНС-запросов на свой сервер через DNAT к примеру. Оператор может держать у себя зоны заблокированных сайтов и отвечать айпишником сервера с заглушкой, а остальные домены резолвить как положено.
                                                                      — Анализ запросов и отравка в случае необходимости «фейкового» днс-ответа. Так как они UDP, про проблем вообще никаких, у разработчиков систем блокировки это модуль к ядру, все в кернелспейсе. По этой причине любой гугловый ДНС-сервер (да впрочем и более менее близкий, но «софтовый», типа бинда или анбонда) ответит медленнее, чем к вам придет фейковый ДНС-ответ от блокировщика, работающего на уровне ядра.

                                                                      Вся эта билиберда с подменой ДНС не работает, если использовать DNSSEC резолвер у себя, но дело в том, что:
                                                                      а) у вас все равно ничего не работает, потому как «фейковые» пакеты считаются битыми, а настоящие или не приходят (в случае 1) или уже не ожидаются (в случае 2)
                                                                      б) днссек настроен довольно на небольшом количестве доменов, от общей массы

                                                                      кстати от варианта 2 можно более или менее успешно отбиваться, используя -m ttl и DROP (хотя бы на домашнем роутере с опенврт), подобрав нужный TTL (количество хопов от/до сервера блокировки) Чтобы встраивали в пакеты рандомный TTL — не замечал. Чисто из академического интереса пробовал — работает. Но просто держу для всяких непонятных случаев TOR под рукой, так как ноутбук перемещается по городу/стране, а роутер дома стоит. С TOR-а пока все работает, его еще у нас не блокируют.
                                                                      0
                                                                      Привет из 2q19.
                                                                      +7
                                                                      Морально-этическую и законную стороны действий провайдера, думаю, обсуждать смысла нет

                                                                      Если вы имели в виду, что нет смысла в очередной раз обсуждать местное законодательство, то да, уже всё, что только можно обсуждено. Пытаться менять пора, если что-то не устраивает.


                                                                      Если вы имели в виду, что нарушение законов тут очевидно, то не факт: описанное поведение присутствует в памятке для провайдеров по блокировкам от Роскомнадзора. Так что или Роскомнадзор распространяет противоречащую текущему законодательству памятку, или провайдерам так всё-таки можно в рамках исполнения 139-ФЗ.

                                                                        +4
                                                                        РКН распространяет противоречащую закону памятку. Подразумевающую слишком расширенное толкование. Которого в оригинале нет. Я уже три месяца обещаю, но руки не доходят, написать в прокуратуру, указать на явное нарушение законодательства. Пусть проверят.
                                                                        +12
                                                                        Открытие сделали блин.
                                                                        Проверка на подмену DNS запросов уже есть в https://github.com/ValdikSS/blockcheck
                                                                          0
                                                                          О
                                                                          • UFO just landed and posted this here
                                                                              +4
                                                                              Ну так-то я эту статью в 2013 написал. Уж и забыл.
                                                                              А сегодня внезапно одобрили.
                                                                                +2

                                                                                вы тогда или в черновики её или пометьте в начале статьи что она написана в 2013 была, а то складывается ощущение, что вы её только-только написали

                                                                                  0
                                                                                  А, так вот почему my-ip.ru не работает…
                                                                                    0
                                                                                    опечатка просто, myip.ru он всегда назывался
                                                                                      0
                                                                                      Ок, спасибо!
                                                                                  +2
                                                                                  заверните днс-трафик в впн
                                                                                    0
                                                                                    По-моему, в статье про это сказано:
                                                                                    «Теперь, заворачиваем трафик до внешних ДНС-серверов через VPN и проверяем снова»
                                                                                      0

                                                                                      Я так сделал, и теперь некоторые сайты вообще не открываются… Толи хотите как-то блокируют, толи в конфигурации где косяк. Даже ошибки "Невозможно установить защищенное соединение" нет

                                                                                        0

                                                                                        *хитро

                                                                                      0

                                                                                      просто поменяйте днс сервера на другие малоизвестные. Скорее всего провайдер как-то фильтрует данные днс запросов на известные днс сервера или государство уже договорилось с гуглом про фильтрацию днс для российских айпи. Меня например пускает на все запретные https при простой установке малоизвестных нероссийских днс.

                                                                                        +8
                                                                                        Тупо весь 53 порт tcp и udp DNAT-ится на сервер провайдера, и все.
                                                                                          0

                                                                                          вначале попробуйте, сомневаюсь, что весь 53 DNAT-ится.

                                                                                          • UFO just landed and posted this here
                                                                                              0

                                                                                              если это так, то конечно жесть, а если у мне специфичный днс сервер нужен? хотя у меня при установке гугловского днс всё блокирует, а какойнибудь малоизвестный в другой стране то полный доступ, не пишу провайдера, а то тоже забанят

                                                                                              • UFO just landed and posted this here
                                                                                          0
                                                                                          Не поможет, только если заворачивать в шифрованный канал.
                                                                                          По сути они слушают DNS трафик и посылают ответ быстрей, чем отвечающий сервер, из-за этого клиент первым принимает ответ заглушки от DNS-сервера ДомРУ, а второй запоздалый ответ от сервера просто игнорируется. Таким образом с ДомРУ практически без разницы к какому DNS подключаться, ответы все равно с ДомРУ приходят.
                                                                                            0
                                                                                            Именно, что быстро отвечают. Поэтому для микротика:
                                                                                            /ip firewall filter add action=drop chain=input in-interface=PPPoE-dom.ru protocol=udp src-port=53 comment=92.255.241.100 content="\\\FF\F1d"
                                                                                            /ip firewall filter add action=drop chain=input in-interface=PPPoE-dom.ru protocol=udp src-port=53 comment=2a02:2698:a000::64 content="*\02&\98\A0\00\00\00\00\00\00\00\00\00\00d"
                                                                                              +1
                                                                                              можно банить и так
                                                                                              /ip firewall filter add action=drop chain=input ttl=equal:126
                                                                                              /ip firewall filter add action=drop chain=forward ttl=equal:125

                                                                                              или скомбинировать для цепочек и TTL>X, например
                                                                                        +2
                                                                                        Отвечаю, что делать пошагово.

                                                                                        1) настрой dnscrypt-proxy на своем впн сервере, например, запрашивающий всё у какого-то из провайдеров (список лежит примерно в /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv) и отдающий результаты по 127.0.0.1:53
                                                                                        2) опционально — подними named на 10.8.0.1:53 (или какой там у тебя внутренний адрес впн-серера)
                                                                                        3) в /etc/openvpn/server.conf пропиши что-то типа
                                                                                        push «redirect-gateway def1 bypass-dhcp»
                                                                                        push «dhcp-option DNS 10.8.0.1»

                                                                                        вот так должно работать
                                                                                          +1
                                                                                          Отвечаю, что делать пошагово.

                                                                                          1) настрой dnscrypt-proxy на своем впн сервере, например, запрашивающий всё у какого-то из провайдеров (список лежит примерно в /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv) и отдающий результаты по 127.0.0.1:53
                                                                                          2) опционально — подними bind на 10.8.0.1:53 (или какой там у тебя внутренний адрес впн-серера), записав в /etc/bind/named.conf.options примерно вот это
                                                                                          options {
                                                                                          	directory "/var/cache/bind";
                                                                                          
                                                                                          	forwarders {
                                                                                          		127.0.0.1;
                                                                                          	};
                                                                                          
                                                                                          	dnssec-validation auto;
                                                                                          
                                                                                          	auth-nxdomain no;    # conform to RFC1035
                                                                                            	listen-on port 53 { 10.18.0.1/32; };
                                                                                          };
                                                                                          


                                                                                          3) в /etc/openvpn/server.conf пропиши что-то типа
                                                                                          push "redirect-gateway def1 bypass-dhcp"
                                                                                          push "dhcp-option DNS 10.8.0.1"
                                                                                          


                                                                                          вот так должно работать
                                                                                            0
                                                                                            С таким подходом есть одна маленькая проблема — директива redirect-gateway завернёт весь трафик через VPN. Чтобы не тормозить почем зря, придётся постоянно подключаться/отключаться.
                                                                                            Проще и впрямь поднять bind, но настроить клиентов статически на 10.8.0.1 как первый DNS, и 8.8.8.8 как второй.
                                                                                            Однако тут всплывает Windows 10 со своим DNS leak (манерой отправлять запрос сразу на все известные ей сервера).
                                                                                            Кардинальное решение будет развернуть клиент на перешитом роутере, настроить роутинг между сетями (возможно, с маскараидингом), и настроить dnsmasq на роутере так, чтобы он опирался на bind, когда туннель поднят (и на что-нибудь другое, когда нет).
                                                                                            Вот тогда все устройства в сети будут видеть только один доступный DNS-сервер — роутер, и никаких других вариантов у них не будет.
                                                                                          0
                                                                                          https://dnscrypt.org/
                                                                                          Вам в помощь
                                                                                            +2
                                                                                            Многие смотрят на интернет-провайдера, как на передатчика пакетов ip между пользователем и интернетом. Это не так. Провайдер передаёт определённую информацию по определённым протоколам, не более того.

                                                                                            В данном случае провайдер просто закрыл запросы к чужим dns с целью оптимизации (с его точки зрения) трафика. Такое ряд провайдеров практиковал и до появления фильтрационных законов. Также часто у домашних пользователей бывают перекрыты почтовые порты, особенно входящие.
                                                                                              +2

                                                                                              Вы забыли про сетевой нейтралитет. Провайдеры и другие организации нарушают его ради оптимизации каналов и собственной выгоды. Пытаются добиться его отмены.

                                                                                                +1
                                                                                                Провайдеры вообще не поддерживают эту концепцию.
                                                                                                +1
                                                                                                Чисто теоретически они могут вообще обосновать это заботой о пользователях, у которых по какой-то причине вирус прибил гвоздями какой-то левый статический DNS и перенаправляет весь трафик на мошеннические сайты. Они «просто» помогают вам настроить подключение согласно договору (в котором скорее всего русским по белому прописано, что вы обязаны использовать выданные ими IP-адреса и DNS-серверы), не более того.

                                                                                                Ни в коем случае не пытаюсь никого оправдать, но доказать какое-либо нарушение со стороны провайдера в данном случае будет затруднительно.
                                                                                                  0
                                                                                                  Это как таксист, которого попросили отвезти в больницу, а он посчитал, что пациент «подозрительный» и отвез сразу на кладбище. Позаботился, да? ;)
                                                                                                0
                                                                                                Обязательно надо весь трафик в VPN заворачивать. Пусть даже пользуетесь гугловым DNS, но UDP-пакеты до них должны идти через VPN. А лучше, конечно, полноценный рекурсивный кеширующий DNS-сервер развернуть у себя на сервере.
                                                                                                  0
                                                                                                  Насколько я понимаю, много кто этим пользуется. Та же Yota через VPN тоже блокирует сайты.
                                                                                                    +4

                                                                                                    Вы меня шокировали.
                                                                                                    Не поведением провайдера, а тем, что часть трафика идёт мимо VPN. Как так?!

                                                                                                      0
                                                                                                      Зависит от настройки. Если VPN не прописывает себя как default gateway, то трафик будет ходить как обычно, за исключением ресурсов внутри VPN (например, прокси). Это удобно, поскольку можно держать VPN включённым, и при этом не замедлять другие виды трафика понапрасну. Но это же означает, что DNS трафик будет гулять мимо, если не настроить DNS-сервер внутри VPN как единственный доступный.
                                                                                                      А еще можно вспомнить обсуждавшуюся на хабре манеру Windows 10 посылать запросы сразу на все известные DNS-сервера, и реагировать на первый положительный ответ. Ответ от перехваченного провайдером запроса (или просто от запроса на DNS провайдера) вполне может придти раньше, чем ответ от сервера за VPN. Эта фишка отключается, но недокументированным образом.
                                                                                                      0
                                                                                                      Тогда можно сразу поднять рекурсивный резолвер на том же unbound на VPN-сервере. Заодно история DNS-запросов не будет так очевидна для самого Google.
                                                                                                        0
                                                                                                        Можно пользоваться DNSCrypt Есть клиенты для всех платформ, плюс встроены из коробки в некоторые открытые прошивки для роуторов, в частности в Tomato.
                                                                                                          0
                                                                                                          Это вы еще МТС'ом не пользовались.
                                                                                                            +1
                                                                                                            Тут ситуация еще веселее оказалась. У моего датацентра (Датахаус, г. Москва) упал «Роскомнадзоровский» сервер. Из-за чего более суток (с вечера пятницы до ночи субботы), запросы к 8.8.8.8 отваливались целиком.

                                                                                                            • UFO just landed and posted this here
                                                                                                                0
                                                                                                                Полнейшая беда, когда в качестве хакера выступает провайдер — десятая сторона, тот кто пользуется megafon и знаком с безопасностью, возможно невольно отслеживали это печальное развитие, особенно было неприятно наблюдать за MITM атаками на SSL, когда подменялся сертификат, на нужный, при этом ты заходил на сайт интернет банка, видно было рассчитано на пользователей нужных «браузеров» — с зашитым нужным сертификатом, по факту 2 ключа из двух, двухфакторной авторизации, у одной стороны — провайдера. Тоесть какой-нибудь «админ» в megafon_e может получить доступ к миллионам банковских счетов. Так, что осторожней.
                                                                                                                DNS — аналогично, принудительно подменяется :(
                                                                                                                mhome ~]$ tracepath 8.8.8.8
                                                                                                                1?: [LOCALHOST] pmtu 1500
                                                                                                                1: gateway 1.046ms
                                                                                                                1: gateway 1.233ms
                                                                                                                2: no reply
                                                                                                                3: 10.152.206.242 166.751ms
                                                                                                                4: 10.152.189.37 108.446ms asymm 5
                                                                                                                5: no reply
                                                                                                                6: 10.52.137.194 164.642ms asymm 4
                                                                                                                7: 10.152.189.42 118.637ms asymm 6
                                                                                                                8: 10.152.211.141 169.149ms asymm 7
                                                                                                                9: 46.229.142.76 398.808ms asymm 8
                                                                                                                10: 37.29.4.129 167.031ms asymm 9
                                                                                                                11: no reply
                                                                                                                12: 10.222.99.57 354.692ms asymm 14
                                                                                                                13: 83.169.204.34 248.690ms asymm 12
                                                                                                                14: no reply
                                                                                                                15: no reply
                                                                                                                16: no reply
                                                                                                                17: no reply
                                                                                                                18: no reply
                                                                                                                19: no reply

                                                                                                                  +2
                                                                                                                  Тоже пользуюсь Дом.ру. Блокировки обхожу с помощью ПростоВПН, но раздражает кое-что другое. Периодически, вместо сайта, который я хочу открыть, мне показывается домрушевская страница с каким-нибудь промо-предложением. То ТВ предлагают, то антивирус. В углу ссылка на тот сайт, куда я собственно пытался изначально попасть.

                                                                                                                  Это из той же оперы, лечится также, или тут что-то другое?
                                                                                                                    0
                                                                                                                    Лечится путем наезда на саппорт провайдера. Проверено собой, 100% результат.
                                                                                                                      0
                                                                                                                      У саппорта (любого, не только провайдерского) иммунитет к наездам, вы просто их развлечёте испортив себе настроение.
                                                                                                                        0
                                                                                                                        Это вы исключительно с целью возразить, да?

                                                                                                                        Против аргументированного, подкрепленного ссылками на ФЗ наезда еще пока ни один адекватный саппорт не устоял, либо решение проблемы на месте, либо эскалация и решение проблемы. Ну, кроме Ростелекома (о адекватных же), но с этой волшебной компанией вопрос о навязчивой телефонной рекламе решается уже в уполномоченных органах.
                                                                                                                          0
                                                                                                                          Адекватная поддержка вам поможет без угроз и мозгоклюйства, если имеют такую возможность.
                                                                                                                          А для юридических претензий есть два канала: заказное письмо или вручение с регистрацией в канцелярии.
                                                                                                                    +1
                                                                                                                    Контроль DNS трафика на самом деле гораздо важнее VPN.

                                                                                                                    Во-первых, потому что даже если сайт через TLS работает, а при его использовании URL шифруется, защищенная сессия все равно строится поверх TCP соединения, а значит нам надо знать IP адрес сервера. В теории, если бы все сайты поддерживали https, то VPN для веба был бы и не нужен, если не брать в счет MiTM атак, конечно.

                                                                                                                    Во-вторых, не защищая DNS вы подвергаете себя дополнительным рискам связанным с малварью. Она любит оборачивать в DNS-трафик управляющие команды или сливать через него инфу. Хуже того, малварь может тупо подменить DNS сервера, что ведет к рекламе, фишингу и позволяет обойти защиту через сервисы, вроде, opendns.

                                                                                                                    Поэтому нужно не только обязательно заворачивать DNS в VPN, но и фильтровать собственный исходящий трафик запрещая обращения к недоверенным DNS серверам.
                                                                                                                      –1
                                                                                                                      Есть еще интересный проект от Google DNS.
                                                                                                                      https://developers.google.com/speed/public-dns/docs/dns-over-https

                                                                                                                      Никто не встречал реализации для client side?
                                                                                                                        –1
                                                                                                                        dns over https вам дает dnscrypt(не путайте с dnssec, они не однофамильцы)
                                                                                                                        dnscrypt по дефолту использует 443/tcp и делает вид, что он https
                                                                                                                        В этом топике dnscrypt уже несколько раз упомянули, но вам же не хочется получать информацию, вам надо задавать глупые вопросы.
                                                                                                                      • UFO just landed and posted this here
                                                                                                                        • UFO just landed and posted this here
                                                                                                                          • UFO just landed and posted this here
                                                                                                                          0
                                                                                                                          А не пробовали последнюю версию openvpn-as использовать? И указать ему использовать явно сервера VDS хостинга, плюс включить -block-outside-dns?
                                                                                                                            0
                                                                                                                            ТТК так-же развлекается подменой днс-ов делаю два запроса на уникальный домен bbbaaa.com,
                                                                                                                            dig @8.8.8.8 bbbaaa.com
                                                                                                                            ;; Query time: 296 msec
                                                                                                                            ;; SERVER: 8.8.8.8#53(8.8.8.8)


                                                                                                                            откуда второй ответ за 59 msec????
                                                                                                                            ;; Query time: 59 msec
                                                                                                                            ;; SERVER: 8.8.8.8#53(8.8.8.8)


                                                                                                                            Ну а метод прост избавления от этой заботы провайдера — DNSCrypt.

                                                                                                                            wget https://download.dnscrypt.org/dnscrypt-proxy/LATEST.tar.bz2
                                                                                                                              0
                                                                                                                              Остаётся ДНС. Но, на моём домашнем сервере настроен кэширующий ДНС-сервер bind, и в качестве forwarders указаны гугловские 8.8.8.8 и 8.8.4.4. Есть только одно «но»: доступ к этим серверам идёт по открытому каналу.

                                                                                                                              Многие на этом палятся, когда настраивают прокси в браузере и думают что админ теперь никак не отследит историю их сёрфинга.

                                                                                                                              И кстати если вместо VPN настроить ssl-туннель и сказать браузеру ходить в инет через него, то тоже DNS будет по умолчанию идти мимо туннеля. В Мозилле нужно явно выставить настройку network.proxy.socks_remote_dns = true.
                                                                                                                                0

                                                                                                                                Или в foxyproxy указать, что заворачивать всё включая DNS в SOCKS. Часто использую совместно с ssh -D.

                                                                                                                                0
                                                                                                                                Подмена IP для домена может делать и не провайдер. Эта задачка доступна любому, владеющему своим доменом и собственным DNS-сервером для него, если провайдер кеширующий. Вот здесь доказательства, проверенные на практике с иллюстрациями
                                                                                                                                  0
                                                                                                                                  Использую на роутере с прошивкой от Олега dnsmasq + dnscrypt + tor (выборочно для сайтов, внесенных в реестр).
                                                                                                                                    0
                                                                                                                                    Народ, а кто в курсу как с этим дела у Ростелекома обстоят??
                                                                                                                                    К сожалению, он монополист в нашем доме, но подозреваю, что тоже такими вещами занимается, кто силён и может подсказать?
                                                                                                                                    Спасибо.
                                                                                                                                      0
                                                                                                                                      Судя по инфе — как обычно: подсовывание своего пакета с адресом на заглушку, спустя чего приходит настоящий пакет от сервера, который отбрасывается системой как неправильный. Выше была ссылка как это фиксить на Микротике, там же и ссылка на инфу.
                                                                                                                                        0
                                                                                                                                        Спасибо! У мены обычный роутер Асус, попробую.
                                                                                                                                            0
                                                                                                                                            К сожалению, как минимум у ДомРу и Ростелеком подсовывают свои пакеты не только в DNS-трафик. Пробовал подставлять адреса в hosts, но все равно подсовывают пакеты с перенаправлением на заглушку, видать еще смотрят по адресу в заголовках запросов.
                                                                                                                                              0

                                                                                                                                              Спасибо, пока не добрался. А вообще насколько это легально?? Ведь вмешиваясь в чужой трафик, это по сути перехват с целью дальнейшей модификации, а может чего похуже...

                                                                                                                                                0
                                                                                                                                                Я не вмешиваюсь в чужой трафик. Я не вмешиваюсь на стороне сервера/провайдера. С трафиком который пришел ко мне на компьютер/роутер я имею право делать что захочу. Разве не так?
                                                                                                                                              0

                                                                                                                                              В AC-56U нет такого, вероятно, надо подключаться через putty к роутеру напрямую.

                                                                                                                                      0
                                                                                                                                      Спасибо за дискуссию в комментариях, очень много для себя интересного почерпнул!
                                                                                                                                        0
                                                                                                                                        В моем случае, проблема была решена установкой DNSCrypt.
                                                                                                                                          0
                                                                                                                                          Сегодня я вспомнил что DNS использует два транспорта UDP и TCP. Подмену DNS можно обойти по TCP.

                                                                                                                                          Здесь IP подменён
                                                                                                                                          C:\>nslookup rutracker.org 74.82.42.42
                                                                                                                                          Server:  ordns.he.net
                                                                                                                                          Address:  74.82.42.42
                                                                                                                                          
                                                                                                                                          Non-authoritative answer:
                                                                                                                                          Name:    rutracker.org
                                                                                                                                          Address:  92.255.241.100
                                                                                                                                          


                                                                                                                                          А здесь нет
                                                                                                                                          C:\>nslookup "-set vc" rutracker.org 74.82.42.42
                                                                                                                                          Server:  ordns.he.net
                                                                                                                                          Address:  74.82.42.42
                                                                                                                                          
                                                                                                                                          Non-authoritative answer:
                                                                                                                                          Name:    rutracker.org
                                                                                                                                          Address:  195.82.146.214
                                                                                                                                          


                                                                                                                                          Опция "-set vc" заставляет nslookup использовать TCP.
                                                                                                                                            0
                                                                                                                                            Всё равно запрос идет по открытому каналу, так что это будет работать пока провайдер не спохватится.
                                                                                                                                            И потом, в приведенном примере вы NSlookup задали параметр, но как вы заставите систему использовать TCP при DNS-запросах?
                                                                                                                                              0
                                                                                                                                              Пишу свой socks5 прокси который резольвит домены по TCP.
                                                                                                                                                0
                                                                                                                                                Вариант. =)
                                                                                                                                                Но, боюсь, первой проблемы не отменяет.
                                                                                                                                                  0
                                                                                                                                                  Я стараюсь максимально обходиться без посредников в виде VPN и прокси. Про DNSCrypt знаю. Решаю проблемы по мере их поступления.

                                                                                                                                          Only users with full accounts can post comments. Log in, please.