Как исправить утечку dns

Попытки взлома стали более умными, учитывая более широкое использование удаленного доступа к Интернет-соединениям. Наличие общедоступного подключения к Wi-Fi также привело к серьёзным уязвимостям в соединениях, предлагаемых поставщиками услуг Интернета (ISP). Более того, с учетом роста числа кибератак и атак программ-вымогателей на персональные компьютеры и корпоративные сети, конфиденциальность и безопасность данных, хранящихся в киберпространстве, поставлены под сомнение.

Теперь хакерам и кибератакам не нужен доступ к вашей системе; всё, что им нужно сделать, это взломать вашу интернет-сеть и перенаправить вас на вредоносные веб-сайты, чтобы заразить вашу систему и всю активность браузера. Одним из таких способов атаки является проникновение в DNS, также известное как утечка DNS.

В этой статье мы подробнее обсудим утечки DNS, их симптомы в сети и способы их проверки.

Что такое DNS

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

Иллюстрация к статье о работе системы DNS

Поскольку запомнить абстрактные IP-адреса очень сложно, интернет-провайдеры используют DNS-серверы для хранения всех соответствующих IP-адресов веб-сайтов, которые вы хотите посетить. DNS-сервер автоматически сопоставляет доменное имя с IP-адресом и помогает вам получить доступ к веб-сайту.

Какой DNS-сервер вы используете?

Он принадлежит вашему интернет-провайдеру. Маршрутизатор Wi-Fi действует как путь для ваших DNS-запросов, которые достигают DNS-сервера, а затем передаются на веб-сайт.

Вы всегда можете проверить, какой DNS-сервер использует ваше устройство для получения IP-адресов веб-сайтов, которые вы просматриваете, посетив этот веб-сайт – Какой у меня DNS-сервер?

Что такое утечка DNS?

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

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

Каковы причины утечки DNS

Существует несколько причин утечки DNS:

Проблема в конфигурации сети

При подключении к Интернету убедитесь, что вы используете стабильное соединение. Часто случается, что соединение прерывается на несколько секунд до того, как будет установлено новое соединение. Это приводит к изменению IP-адреса. Когда это изменение произойдёт, вы можете подключиться к DNS-серверу вашего интернет-провайдера, даже если вы используете VPN. Хакеры могут проникнуть в соединение, поскольку ваша VPN не будет работать из-за внезапного изменения IP-адреса и раскрыть вашу информацию.

Утечки IPv6

Большинство IP-адресов состоят из четырех наборов трёхзначных кодов, например 111.111.111.111; это называется IPv4-адресом. Однако, Интернет медленно переходит в фазу IPv6, когда IP-адреса состоят из восьми наборов по 4 кода, которые также могут включать буквы.

Как работает маска подсети в IP-адресе

В большинстве случаев, если вы отправляете запрос IPv6 на свой DNS-сервер для веб-сайта, у которого всё ещё есть адрес IPv4, в таком случае безопасность соединения может быть нарушена. Даже в случае соединения VPN запрос IPv6 обходит шифрование VPN, если VPN явно не поддерживает безопасность соединения IPv6.

Прозрачные DNS-прокси

VPN туннелирует ваше соединение через сторонний сервер, прежде чем достигнет DNS-серверов вашего интернет-провайдера, чтобы замаскировать ваш IP-адрес. Это также удерживает интернет-провайдеров от сбора и мониторинга ваших данных или действий в Интернете.

Иногда интернет-провайдеры используют отдельный или прокси-сервер для повторного перенаправления ваших запросов и веб-трафика на свои серверы – таким образом, интернет-провайдеры во многих случаях «заставляют» утечки DNS собирать информацию о пользователях.

Функция Windows «Smart Multi-Homed Name Resolution»

«Smart Multi-Homed Name Resolution» – это функция, представленная Windows версии 8.0. Эта функция позволяет подключаться к другим нестандартным серверам, отличным от того, который принадлежит соответствующим интернет-провайдерам, если серверы интернет-провайдеров перестают отвечать.

В Windows 10 эта функция позволяет принимать ответы на запросы DNS от любого самого быстрого доступного сервера. Так как это позволяет читать IP-адреса пользователей разными серверами, это может вызывать серьёзные проблемы, связанные с утечками DNS.

Проблема Teredo

Teredo – это технология, разработанная Mircosoft, которая позволяет пользователям находить IPv6-совместимые соединения с веб-сайтами и плавно переходить с IPv4 на IPv6. В этой технологии ваш запрос IPv4 туннелируется таким образом, что адреса веб-сайтов IPv4 выбирают их. Однако, этот процесс может обойти процесс туннелирования VPN и раскрыть ваш IP-адрес, что приведёт к утечке DNS.

Как предотвратить утечку DNS

Используйте эффективный VPN-сервис

Вы всегда можете предотвратить утечки DNS и связанные с этим проблемы, если используете правильный VPN-сервис. Имейте в виду, что это не должен быть бесплатный поставщик услуг VPN, поскольку они не обеспечивают достойной защиты от возможных утечек DNS и часто «грешат» разрывами соединения.

Используйте анонимные браузеры

Браузер Tor считается одним из самых безопасных браузеров для серфинга. Он использует луковую маршрутизацию, чтобы замаскировать или скрыть ваши данные и IP-адрес. Он перескакивает через три разных места, позволяя осуществлять обширный гео-спуфинг и скрывать большую часть информации, связанной с конкретным соединением.

Как проверить соединение на утечку DNS

Вы всегда можете проверить утечку DNS, посетив эти два веб-сайта:

  • DNS leak test
  • IP/DNS Detect

Чтобы узнать, «герметично» ли соединение, посмотрите:

  • Совпадает ли полученный IP-адрес с IP-адресом VPN, а не вашим реальным.
  • Посмотрите, указано ли в результатах теста имя вашего интернет-провайдера, это сигнализирует об утечке DNS.

Не используйте инструмент проверки DNS, который предлагается в приложении VPN, поскольку он никогда не показывает правильный результат и не указывает на какие-либо дефекты в защищенном VPN-соединении.

Утечки DNS широко распространены, особенно с учетом того, что хакеры разрабатывают новые методы поиска возможных нарушений в сетях. Однако, использование правильного VPN и агрессивный мониторинг активности вашего браузера может помочь вам уменьшить их.

Конфиденциальность и целостность данных является основной проблемой в киберпространстве.С увеличением числа кибератак, важно регулировать и тестировать систему обработки данных для проверки мер безопасности для безопасного просмотра веб-страниц. Браузеры в эти дни построены с особой архитектурой безопасности и предлагают конкретные ресурсы, такие как дополнения и плагины для повышения веб-безопасности. В этой статье мы обсудим утечки DNS , которые, кстати, основная проблема с сетевой конфигурации и поищем способы, чтобы исправить и не допустить утечки DNS в Windows 10.

Прежде чем мы начнем, давайте быстро изучим роль DNS.

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

DNS-сервер хранит все доменные имена и соответствующий IP-адрес. Каждый раз, когда вы переходите к URL-адресу, вы сначала будете направлены на DNS-сервер, чтобы сопоставить доменное имя с соответствующим IP-адресом, а затем запрос перенаправится на требуемый компьютер. Например, если ввести URL-адрес www.gmail.com, ваша система отправляет запрос на DNS-сервер. Затем сервер сопоставляет соответствующий IP-адрес для доменного имени и направляет браузер на веб-сайт. Как правило, эти DNS-серверы предоставляются Вашим Интернет-провайдером (ISP).

Таким образом, DNS-сервер является хранилищем доменных имен и соответствующего адреса Интернет-протокола.

Что такое утечка DNS

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

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

Чтобы смягчить эту проблему и защитить конфиденциальность пользователя, используется технология виртуальной частной сети (VPN), которая создает безопасное и виртуальное соединение по сети. Добавление и подключение системы к VPN означает, что все ваши DNS-запросы и данные передаются в безопасный VPN-туннель. Если запросы DNS вытекают из безопасного туннеля, то запрос DNS, содержащий такие сведения, как адрес получателя и адрес отправителя, отправляется по незащищенному пути. Это приведет к серьезным последствиям, когда вся ваша информация будет передана вашему интернет-провайдеру, в конечном итоге, раскрыв адрес всех Хостов веб-сайта, к которым вы имеете доступ.

Что вызывает утечки DNS в Windows 10

Наиболее распространенной причиной утечек DNS является неправильная конфигурация сетевых параметров. Ваша система должна быть сначала подключена к локальной сети, а затем установить соединение с VPN-туннелем. Для тех, кто часто переключает Интернет с точки доступа, Wi-Fi и маршрутизатора, ваша система наиболее уязвима к утечкам DNS. Причина заключается в том, что при подключении к новой сети ОС Windows предпочитает DNS-сервер, размещенный шлюзом LAN, а не DNS-сервер, размещенный службой VPN. В конце концов, DNS-сервер, размещенный LAN gateway, отправит все адреса интернет-провайдерам, раскрывающим вашу онлайн-активность.

Кроме того, другой основной причиной утечки DNS является отсутствие поддержки адресов IPv6 в VPN. Как вам известно, что ИП4 адреса постепенно заменяются IPv6 и во всемирной паутине еще в переход фазы от IPv4 к IPv6. Если ваш VPN не поддерживает IPv6-адрес, то любой запрос на IPv6-адрес будет отправлен в канал для преобразования IPv4 в IPv6. Это преобразование адресов в конечном итоге обойдет безопасный туннель VPN, раскрывающий всю онлайн-активность, приводящую к утечкам DNS.

Как проверить, подвержены ли вы утечкам DNS

Проверка утечек DNS-довольно простая задача. Следующие шаги помогут Вам сделать простой тест на утечку DNS с помощью бесплатного онлайн-теста.

Для начала подключите компьютер к VPN.

Далее, посетите dnsleaktest.com.

Нажмите на стандартный тест и дождитесь результата.

Если вы видите информацию о сервере, относящуюся к вашему интернет-провайдеру, ваша система утекает DNS. Кроме того, ваша система подвержена утечкам DNS, если вы видите какие-либо списки, которые не направлены в рамках службы VPN.

Как исправить утечку DNS

Системы Windows уязвимый к утечкам DNS и всякий раз, когда вы подключаетесь к интернету, параметры DHCP автоматически считает DNS-серверы, которые могут принадлежать поставщику услуг Интернета.

Чтобы исправить эту проблему вместо того, чтобы использовать настройки DHCP попробуйте использовать статические DNS-сервера или публичного DNS-сервисы или что-нибудь рекомендованный открытия сетевого проекта. Сторонние DNS-серверы, как в Comodo защищенной DNS, видит, на Cloudflare ДНСи т. д., рекомендуется, если ваш VPN программное обеспечение не имеет каких-либо имущественных сервера.

Чтобы изменить настройки DNS откройте Панель управления и перейдите в Центр управления сетями. Перейдите в Изменение параметров адаптера в левой панели и найдите ваш сеть и кликните правой кнопкой мыши на значок сети. Выберите Свойства из выпадающего меню.

Найдите Протокол Интернета версии 4 в окне и затем щелкните на нем и затем перейдите к свойствам.

Нажмите на радио-кнопку Использовать следующие адреса dns-серверов.

Введите Предпочитаемый и Альтернативный адреса dns-серверов, которые вы хотите использовать.

Если вы хотите использовать Google в открытых DNS — сервера, выполните следующие действия

  • Укажите предпочтительный DNS-сервер и введите 8.8.8.8
  • Укажите альтернативный DNS-сервер и введите 8.8.4.4

Нажмите кнопку ОК, чтобы сохранить изменения.

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

Утечка DNS

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

Одним из таких способов является утечка DNS. Чтобы разобрать, что это такое и как с этим бороться, нужно понять принцип работы ДНС.

У любого компьютера в сети есть IP адрес, состоящий из 12 цифр, разделенных точками. IP адреса не похожи на адреса домов в городе – они могут обновляться, меняться, быть доступными или нет. Поэтому одному конкретному сайту нельзя назначить постоянный и единственный адрес, по которому бы любой пользователь смог получить к нему доступ.

А для пользователей гораздо удобнее и проще запомнить буквы и слова, а не цифры. Вбив в строке браузера google.com пользователь всегда попадает на сайт поисковика, а не на какой-либо другой, хотя ip адрес может меняться в зависимости от различных условий.

Именно DNS(сервер доменных имен) хранит информацию о соответствии ip адреса и URL. Как только человек вбивает в строке своего браузера google.com, его устройство посылает запрос на ДНС, который возвращает ему соответствующий этому сайту рабочий IP адрес.

Что такое DNS

Что такое DNS

Что такое DNS утечка

Дело в том, что из-за некоторых особенностей технологии ДНС, трафик между устройством пользователя и сервером ДНС не шифруется. Когда устройство пользователя отправляет запрос на сервер имен, можно отследить, откуда этот запрос был сделан и на какой сайт хочет зайти пользователь.

Злоумышленник, имеющий доступ к ДНС, может увидеть все сайты и все действия, которые совершал пользователь в сети.

DNS – это не VPN и все логи (журналы событий) хранятся продолжительное время. Это значит, что по запросу правоохранительных органов или с помощью мошенников, можно получить всю информацию об активности пользователя в сети.

Использование VPN решает эту проблему, но только, если соединение настроено корректно. Если конфигурация сети такова, что для сопоставления имен используется ДНС интернет провайдера, а основной трафик перенаправляется через защищенный VPN канал, то возникает утечка DNS.

Как только устройство пользователя посылает запрос на доменный сервер провайдера через открытый канал, у злоумышленников появляется возможность подменить данные имен запрашиваемого сервера или исполнить вредоносный код.

Что такое DNS утечка

Что такое DNS утечка

Различают два типа атак при помощи незащищенного соединения к серверу имен

DNS snooping — перехват запросов пользователя на сервер. Злоумышленник получает доступ к местонахождению пользователя и к адресу сайта, на который он заходит.

DNS spoofing — позволяет злоумышленникам подменить ответ сервера. Пользователь, вводя в строке браузера привычный адрес mail.google.com, попадает на сайт-двойник. Введя свои авторизационные данные на таком сайте, пользователь теряет свой аккаунт, а иногда и деньги.

Почему происходит утечка

Утечка DNS может происходить даже при подключении через защищенные VPN сети и сети TOR. Проблема в том, что незащищенные запросы на ДНС будут отправляться до тех пор, пока устройство пользователя не будет подключено к VPN через локальную сеть.

Microsoft Windows отдает первоочередное предпочтение доменным серверам, размещенным за шлюзом LAN, а не VPN. Если не произвести правильных настроек, по умолчанию windows будет обращаться к серверу имен интернет провайдера пользователя, минуя защищенный канал.

Второй причиной утечки может быть протокол IPv6. Как известно, постепенно весь мир переходит на этот протокол с устаревшего ipv4. И если провайдер VPN не поддерживает ipv6, любой ipv6 запрос будет направляться в обход защищенного туннеля для преобразования в ipv4.

Как проверить соединение на утечку ДНС

Сделать это можно на любом сайте по проверке ip адресов:

  • https://2ip.ru/privacy/
  • https://dnsleaktest.com/

проверить соединение на утечку ДНС

Проверить соединение на утечку ДНС на dnsleaktest.com

Как интерпретировать результаты проверки?

Если после завершения проверки появляется адрес сервера, не имеющий отношения к провайдеру VPN, это означает, что существует утечка DNS.

Как исправить утечку

Правильно скрыть утечку по DNS можно несколькими способами:

  1. Нужно проверить возможности VPN провайдера, поддерживает ли он протокол ipv6 и защищает ли от утечек. Каждый провайдер сообщает о предоставляемом функционале.
  2. Если используется бесплатный VPN, придется сменить провайдера.
  3. Используя ДНС Яндекса или Гугла.

Публичные сервера DNS для ipv4 от Google

  • 8.8.8.8
  • 8.8.4.4

Для Ipv6

  • 2001:4860:4860::8888
  • 2001:4860:4860::8844

Адреса анонимных DNS серверов яндекса

Можно получить по адресу https://dns.yandex.ru/.

ДНС Яндекса

ДНС Яндекса

Как настроить соединение

Для этого следует открыть настройки интернет соединения и установить ДНС Яндекса в качестве ДНС по умолчанию, в Windows нужно сделать следующее:

  1. Открыть «Центр управления сетями».
  2. Нажать на «Изменение параметров адаптера».
  3. Нажать правой кнопкой мыши по иконке сети, использующейся для выхода в интернет.
  4. Нажать «Свойства».
  5. Выделить из списка «протокол ipv4» и дважды нажать на него мышкой.
  6. Откроется диалоговое окно, в нижней части которого следует поставить галочку на «использовать следующий DNS».
  7. Использоывть ДНС Яндекса, гугла или любого другого.

Те же манипуляции можно произвести непосредственно на роутере, если доступ к впн настроен тем же образом. В таком случае настройка зависит от модели роутера.

При помощи программы DNSCrypt

Программа работает через командную строку. GUI придется скачивать отдельно. Для работы программы нужны адреса открытых серверов имен. Если нужны анонимные ДНС, из можно взять у Яндекса.

DNSCrypt

DNSCrypt

Вывод

Чтобы избежать проблем с утечкой ДНС и скрыть запросы на сервер имен, нужно пользоваться проверенными провайдерами VPN и проверять свое соединение на уязвимости, перед тем, вводить какие-либо личные данные, пароли или номера кредитных карт на сайтах в интернете.

Была ли эта статья вам полезна?

10 из 14 пометили это полезным для себя

Утечка DNS (DNS Leak) — это явление, при котором информация о Ваших DNS-запросах доступна третьей стороне не смотря на использование защищенного VPN-подключения, в результате чего происходит сбор истории посещенных сайтов, а собранная информация используется в различных целях, в т.ч. для формирования аналитики о Ваших предпочтениях, построения рекламной воронки и т.д.. В данной статье мы расскажем как предотвратить утечку DNS и повысить конфиденциальность в сети путём установки WireHole — связки WireGuard + Unbound + Pi-Hole в ОС CentOS 8.

Содержание

  1. Утечка DNS: Что это такое и как с ней бороться?
  2. Установка и настройка Unbound в CentOS 8
  3. Установка и настройка Pi-Hole для фильтрации DNS запросов
  4. Настройка клиента WireGuard для предотвращения утечки DNS
  5. Заключение

Утечка DNS: Что это такое и как с ней бороться?

При утечке DNS Leak наш трафик делится на 2 потока: туннелированный VPN-трафик и DNS-трафик, который проходит вне VPN-подключения. Это происходит за счет использования сторонних DNS (сервера провайдера, публичные сервера Google, Cloudflare и т.д.) для получения информация о доменных именах, к которым осуществляются запросы. Чтобы понять как происходит утечка DNS Leak, следует схематически представить нашу интернет-маршрутизацию, которая выглядит примерно следующим образом:

Утечка DNS Leak

Чтобы проверить происходит ли утечка, пройдём тест на сайте https://dnsleak.com:

Тест на утечку DNS Leak

Как мы видим из теста, происходит утечка DNS, а в качестве сервера используются резолверы Cloudflare. Для её предотвращения, нам следует использовать приватный DNS-сервер. Для этого нам понадобится виртуальный сервер с операционной системой CentOS 8, на который будет установлен WireHole — связка WireGuard, Unbound и Pi-Hole:

  • WireGuard — Это достаточно молодой, но зарекомендовавший себя VPN-протокол, обладающий высокой скоростью работы по сравнению с OpenVPN и IPSec, стабильностью и надёжным шифрованием;
  • Unbound — Это кеширующий и рекурсивный DNS-резолвер, разработанный компанией NLnet Labs и предназначенный для получения информации о DNS-записях с коренных серверов;
  • Pi-hole — Это приложение для блокировки рекламы и интернет-трекинга, основанный на фильтрации DNS-запросов и предназначенный для использования в частной сети.

Установку WireGuard на сервер с операционной системой CentOS 8 мы уже рассматривали в другой статье и она ничем не отличается для WireHole, поэтому произведём установку согласно ней, а в данной статье мы сразу перейдём к установке и настройке Unbound и Pi-Hole.

Установка и настройка Unbound в CentOS 8

Для предотвращения DNS Leak, нам необходим собственный DNS резолвер, который будет обрабатывать запросы вместо сторонних DNS серверов. В качестве такого резолвера мы будем использовать Unbound. Его установка в CentOS 8 достаточно простая и осуществляется при помощи пакетного менеджера yum. Для этого выполняем команду:

sudo yum install unbound -y

И обновляем список коренных DNS серверов:

curl -o /var/lib/unbound/root.hints https://www.internic.net/domain/named.cache

Теперь, забегая наперёд, создаём конфигурационный файл для Pi-Hole:

sudo vi /etc/unbound/conf.d/pi-hole.conf

В него следующее следующее содержимое:

server:
     # if no logfile is specified, syslog is used
     # logfile: "/var/log/unbound/unbound.log"
     verbosity: 1
     port: 5353

     do-ip4: yes
     do-udp: yes
     do-tcp: yes

     # may be set to yes if you have IPv6 connectivity
     do-ip6: no

     # use this only when you downloaded the list of primary root servers
     root-hints: "/var/lib/unbound/root.hints"

     # respond to DNS requests on all interfaces
     interface: 0.0.0.0
     max-udp-size: 3072

     # IPs authorised to access the DNS Server
     access-control: 0.0.0.0/0                 refuse
     access-control: 127.0.0.1                 allow
     access-control: 10.78.220.0/24            allow

     # hide DNS Server info
     hide-identity: yes
     hide-version: yes

     # limit DNS fraud and use DNSSEC
     harden-glue: yes
     harden-dnssec-stripped: yes
     harden-referral-path: yes

     # add an unwanted reply threshold to clean the cache and avoid, when possible, DNS poisoning
     unwanted-reply-threshold: 10000000

     # have the validator print validation failures to the log val-log-level: 1
     # don't use Capitalisation randomisation as it known to cause DNSSEC issues sometimes
     # see https://discourse.pi-hole.net/t/unbound-stubby-or-dnscrypt-proxy/9378 for further details
     use-caps-for-id: no

     # reduce EDNS reassembly buffer size
     # suggested by the unbound man page to reduce fragmentation reassembly problems
     edns-buffer-size: 1472

     # TTL bounds for cache
     cache-min-ttl: 3600
     cache-max-ttl: 86400

     # perform prefetching of close to expired message cache entries
     # this only applies to domains that have been frequently queried
     prefetch: yes
     prefetch-key: yes
     # one thread should be sufficient, can be increased on beefy machines
     num-threads: 1
     # ensure kernel buffer is large enough to not lose messages in traffic spikes
     so-rcvbuf: 1m

     # ensure privacy of local IP ranges
     private-address: 192.168.0.0/16
     private-address: 169.254.0.0/16
     private-address: 172.16.0.0/12
     private-address: 10.0.0.0/8
     private-address: fd00::/8
     private-address: fe80::/10

В данном конфигурационном файле, подсеть IP access-control: 10.78.220.0/24 allow следует заменить на подсеть интерфейса wghub, который используется Вашим WireGuard. Для этого выполняем команду ifconfig на сервере:

[root@virtirio.com ~]# ifconfig

wghub: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1280
        inet 10.78.220.1  netmask 255.255.255.0  destination 10.78.220.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000

В нашем случае IP адрес интерфейса wghub 10.78.220.1, соответственно подсеть 10.78.220.0/24.

После внесения изменений в настройки, добавляем unbound в автозагрузку и запускаем его:

sudo systemctl enable unbound
sudo systemctl start unbound

Открываем работу служб DNS в firewalld:

sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --reload

Проверяем работу DNS резолвера Ubound. Для этого устанавливаем утилиты bind-utils, предназначенные для работы с DNS:

sudo yum install bind-utils -y

И выполняем команды:

dig pi-hole.net @127.0.0.1 -p 5353
dig sigok.verteiltesysteme.net @127.0.0.1 -p 5353
dig sigfail.verteiltesysteme.net @127.0.0.1 -p 5353

В первом и втором случае сервер должен ответить NOERROR, а в третьем — SERFAIL.

Утечка DNS. Установка Unbound

На этом установка Unbound завершена. Переходим к следующему шагу.

Установка и настройка Pi-Hole для фильтрации DNS запросов

Pi-Hole — Это высоко-функциональный продукт, предназначенный для фильтрации нежелательного трафика на уровне DNS-запросов, в частности, сервисов сбора статистики о действиях пользователей в сети и блокировки рекламы.  Система обладает удобным и функциональным web-интерфейсом, с помощью которого выполняется настройка, а так же осуществляется мониторинг и анализ работы DNS сервера:

Pi-Hole Dashboard

Перейдём непосредственно к установке и настройке Pi-Hole. Для этого запускаем скрипт:

curl -sSL https://install.pi-hole.net | bash

Соглашаемся со всеми предложенными параметрами и жмём Yes/Ok. Единственное что мы должны выбрать при установке — это интерфейс wghub для WireGuard вместо основного интерфейса сервера:

Настройка Pi-Hole

После завершения установки, сохраняем адрес и пароль для доступа к web-интерфейсу:

Настройка Pi-Hole

Так как последующая настройка будет происходить через браузер по протоколу http, откроем его в firewalld:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Для предотвращения доступа к web-интерфейсу, закрываем доступ по протоколу http из вне:

iptables -A INPUT -s 10.78.220.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

Где 10.78.220.0/24 — подсеть, используемая WireGuard.

На этом установка Pi-Hole завершена и мы переходим непосредственно к его настройке через web-интерфейс в браузере по адресу http://<ip_адрес_сервера>/admin и авторизируемся с помощью пароля администратора, сгенерированного при установке.

Переходим в раздел Settings на вкладку DNS. Нам необходимо отключить внешние Upstream DNS Servers и указать адрес нашего Unbound 127.0.0.1#5353 как на скрине ниже:

Настройка Pi-Hole

Ниже на странице включаем поддержку DNSSEC и сохраняем настройки (кнопка Save внизу страницы).

На этом настройка Pi-Hole завершена. Переходим к тюнингу WireGuard.

Настройка клиента WireGuard для предотвращения утечки DNS

Утечка DNS происходит при обращении к сторонним DNS серверам. В нашем случае, подключение к DNS выполняется через VPN-клиент Wireguard, поэтому нам необходимо делегировать их на наш сервер. Для этого, редактируем настройки подключения в WireGuard клиенте. Нам нужно изменить IP-адрес DNS сервера на IP-адрес нашего интерфейса wghub:

WireGuard DNS Leak

Чтобы при добавлении новых клиентов WireGuard каждый раз не править вручную IP-адрес DNS сервера, внесем изменения в файл intnetdns.txt, который находится в директории со скриптом easy-wg-quick (директория, из которой мы производили установку WireGuard). Для этого, открываем его в редакторе vi:

sudo vi intnetdns.txt

И заменяем IP-адрес 1.1.1.1 (публичный DNS сервер CloudFlare), который используется по-умолчанию, на IP адрес нашего интерфейса wghub.

Теперь снова проходим тест на утечку DNS на сайте https://dnsleak.com. В результате, мы должны увидеть сообщение, что тест пройден успешно:

DNS Leak Tests

Заключение

Внедрение WireHole является эффективным способом борьбы с утечкой DNS Leak и является эффективным методом повышения сохранности личных данных пользователя и его конфиденциальности в сети интернет. Это стало возможным благодаря переходу от использования сторонних серверов к приватному DNS резолверу на базе Unbound, а за счет сервера фильтрации DNS запросов Pi-Hole, блокируется львиная доля нежелательного трафика и значительно снижается количество рекламы. Всего за несколько часов наш WireHole заблокировал 23,1% всех DNS запросов:

Утечка DNS и Pi-Hole

В итоге, сервисам интернет-трекинга и сбора пользовательской информации становится сложнее собирать статистику о нас и отслеживать наши действия в сети. Кроме того, Pi-Hole обладает высоким функционалом, что позволяет администратору сервера самостоятельно управлять как нежелательными ресурсами, так и использовать собственные списки фильтрации.

Утечка DNS трафика

В статье VPN безопасность мы уже рассказывали про утечку VPN-трафика. В другой похожей статье мы говорили об утечке WebRTC в браузерах, а в этой статье речь пойдет об утечке DNS-трафика. Которая затрагивает всех, и даже тех кто использует VPN-сервисы и считает, что находится за каменной стеной.

Здравствуйте друзья! Сегодня я расскажу что такое утечка DNS, почему вы должны об этом знать и как от этого защититься используя бесплатную утилиту DNSCrypt.

Утечка DNS

Содержание

  • Предисловие
  • Что значит утечка DNS
  • Как проверить утечку DNS
  • Как исправить утечку DNS используя DNSCrypt
    • Скачивание DNSCrypt
    • Установка DNSCrypt
    • Использование DNSCrypt
  • DNSCrypt в Yandex браузере
  • DNSCrypt в роутере
  • Заключение
  • Оценка и отзывы

Что значит утечка DNS?

При использовании HTTPS или SSL ваш HTTP трафик зашифрован, то есть защищен (не идеально, но защищен). Когда вы используете VPN, весь ваш трафик полностью шифруется (разумеется уровень и качество защиты зависит от правильной настройки VPN, но обычно все настроено и работает правильно).

Но бывают ситуации в которых даже при использовании VPN, ваши DNS-запросы передаются в открытом незашифрованном виде. Это открывает злоумышленнику большие возможности для творчества. Хакер может перенаправить трафик, применить MITM-атаку (человек посередине) и сделать еще кучу других вещей, которые могут поставить под угрозу вашу безопасность и анонимность в сети.

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

В нашем примере на рисунке ниже вы видите как пользователь (компьютер) пытается обратиться к сайту www.spy-soft.net (это может быть и любой другой сайт). Для того чтобы попасть на сайт он должен сначала разрешить символьное имя узла в IP-адрес.

Утечка DNS

Утечка DNS

Если же конфигурация сети такова, что используется DNS-сервер провайдера (незашифрованное соединение, отмечено красной линией), то разрешение символьного имени в IP-адрес происходит по незашифрованному соединению.

Что в этом страшного?

Во-первых, в такой ситуации провайдер может просмотреть историю DNS и узнать какие сайты вы посещали. Он конечно не узнает какие именно данные передавались, но адреса сайтов он сможет просмотреть запросто.

Во-вторых, есть большая вероятность оказаться жертвой хакерской атаки. Такой как: DNS cache snooping и DNS spoofing.

Что такое DNS снупинг и спуфинг?

Вкратце для тех кто не в курсе.

DNS снупинг — с помощью  этой атаки злоумышленник может удаленно узнавать какие домены были недавно отрезолвлены на DNS-сервере, то есть на какие домены недавно заходила жертва. 

DNS спуфинг — атака, базируется на заражении кэша DNS-сервера жертвы ложной записью о соответствии DNS-имени хоста, которому жертва доверяет.

Так как запросы не шифруются, кто-то между вами и провайдером может перехватить и прочитать DNS-запрос,  после чего отправить вам поддельный ответ. В результате, вместо того чтобы посетить наш любимый spy-soft.net, gmail.com или vk.com, вы перейдете на поддельный или как еще говорят фейковый сайт хакера (поддельным будет не только вид страницы, но и урл в адресной строке), после чего вы введете свой логин и пароль, ну а потом сами понимаете что будет. Данные авторизации будут в руках злоумышленника.

Описанная ситуация называется утечка DNS (DNS leaking). Она происходит, когда ваша система для разрешения доменных имен даже после соединения с VPN-сервером или сетью Tor продолжает запрашивать DNS сервера вашего провайдера. Каждый раз когда вы попытаетесь зайти на сайт, соединится с новым сервером или запустить какое-нибудь сетевое приложение, ваша система будет обращаться к DNS серверам провайдера, чтобы разрешить имя в IP-адрес. В итоге какой-нибудь хакер или ваш провайдер смогут узнать все имена узлов, к которым вы обращаетесь.

Если вам есть что скрывать, тогда я вам предлагают использовать простое решение — DNSCrypt. Можно конечно прописать какие-нибудь другие DNS-сервера и пускать трафик через них. Например сервера Гугла 8.8.8.8 или того же OpenDNS 208.67.222.222, 208.67.220.220.  В таком случае вы конечно скроете от провайдера историю посещения сайтов, но расскажите о своих сетевых путешествиях Гуглу. Кроме этого никакого шифрования DNS трафика не будет, а это большой недостаток. Не знаю как вас, но меня это не возбуждает, я лучше установлю DNSCrypt.

Как проверить утечку DNS

Перед тем как мы перейдем к самой утилите, я бы хотел познакомить вас со специальными онлайн-сервисами. Они позволяют проверить утечку DNS.

Один из таких — сайт DNS Leak Test. Для проверки перейдите по ссылке и нажмите кнопку «Extended test».

проверить утечку dns

Проверка на утечку DNS

Через несколько секунд сервис отобразит список DNS-серверов, через которые проходят ваши запросы. Таким образом вы сможете узнать, кто именно может видеть вашу историю посещения сайтов.

Еще неплохой сервис — DNS Leak. Сайт предоставляет полную информацию о DNS серверах от вас до сервера.

Как устранить утечку DNS утилитой DNSCrypt

DNSCrypt — бесплатная утилита с открытым исходным кодом. Программа позволяет шифровать запросы DNS и использовать DNS сервера по вашему усмотрению. После установки на компьютер ваши соединения будут защищены, и вы сможете безопаснее серфить по просторам сети. Утилита в связке с Tor или VPN дает неплохую защиту.

Скачивание DNSCrypt

Скачать консольную версию утилиты DNSCrypt вы можете по этой прямой ссылке с Гитаба. Для того чтобы все выглядело гламурно: виндовские окошки, кнопочки и все такое, нужно скачать еще и GUI отсюда. Для вашего удобства я все засунул в один архив и залил на файлообменик. Вот ссылочка.

Для работы программы требуется Microsoft .NET Framework 2.0 и выше.

Скачать DNSCrypt для Mac OS X вы можете по этой ссылке с Гитаб или с файлообменка по ссылке выше.

Разработчик программы OpenDNS.

Установка DNSCrypt

В этой статье мы разберем работу с консольной версией утилиты. Настраивать ДНСКрипт будем на Windows 10. Установка на других версиях винды не отличается.

Итак, скачанный архив распаковываем и помещаем содержимое папки dnscrypt-proxy-win32 в любое место на компьютере. В моем примере я расположил в папке “C:Program FilesDNSCrypt”.

Утечка DNSПосле чего откройте от имени администратора командною строку.

DNSCrypt

Запуск командной строки от имени администратора в Windows 10

Теперь в командной строке перейдите в папку DNSCrypt. Сделать это можно с помощью команды:

cd “C:Program FilesDNSCrypt”

Кликаем сюда, если не можете скопировать команды.

После этого подготовимся к установке службы прокси. Для начала необходимо выбрать провайдера DNS. В архив я положил файл dnscrypt-resolvers.csv. Этот файлик содержит список большинства DNS провайдеров, которые поддерживает DNSCrypt. Для каждого отдельного провайдера есть название, описание, расположение и поддержка DNSSEC и Namecoin. Кроме этого файл содержит необходимые IP-адреса и открытые ключи.

Выберите любого провайдера и скопируйте значение в первом столбце. В моем случае я буду использовать CloudNS, поэтому я скопировал “cloudns-can”. Теперь необходимо убедится, что прокси может подключиться. Сделать это можно с помощью этой команды:

dnscryptproxy.exe R “cloudns-can” test=0

Если все правильно работает, вы увидите следующие выходные данные:

dns vpn

Если у вас не получилось, попробуйте выбрать другого провайдера и повторить попытку еще раз.

Если все прошло успешно, продолжим установку и введем следующую команду:

dnscryptproxy.exe R cloudnscan install

Если все правильно работает, вы увидите следующие выходные данные:

Утечка DNS как проверить

Скрин того как это должно выглядеть в командой строке:

Утечка DNS: что это такое и как ее устранить с помощью утилиты DNSCryptПосле чего необходимо зайти в параметры протокола TCP/IP Windows и изменить настройки DNS на 127.0.0.1.

dnscrypt установка

Для удаления службы ДНСКрипт необходимо вернуть сетевые настройки DNS в начальное состояние. Делается это с помощью этой команды:

dnscryptproxy uninstall

Данная команда также может использоваться для смены провайдера DNS. После применения нужно повторить установку с параметрами другого провайдера.

Если у вас после всей этой процедуры по какой-то причине во время проверки все еще определяться IP-адрес DNS вашего интернет-провайдера, кликните по кнопке «Дополнительно», которая находится под прописанным IP 127.0.0.1. В появившемся окне «Дополнительные параметры…», перейдите на вкладку «DNS» и удалите все адреса DNS-серверов кроме «127.0.0.1».

Все, теперь утечка DNS устранена.

Вас также может заинтересовать статья «Как удалить кэш DNS», в которой рассказывалось об удалении записей DNS на компьютере.

DNSCrypt в Яндекс Браузере

С недавнего времени в браузере от Яндекс появилась поддержка ДНСКрипт. Ну что сказать, ребята из Яндекса работают и пытаются защитить пользователя — это здорово, но в отличие от утилиты DNSCrypt защита у Яндекса реализуется только на уровне браузера, а не уровне всей системы.

DNSCrypt в роутере

Также поддержка ДНСКрипт реализована в популярных прошивках OpenWrt. Подробнее об установке и другой дополнительной информации вы можете узнать на этой странице.

Заключение

Конечно же утилита ДНСКрипт и шифрование DNS в целом не является панацеей, да и вообще в информационной безопасности нет такого понятия как панацея. Мы только можем максимально улучшить нашу безопасность и анонимность, но сделать наше присутствие в сети неуязвимым на все 100% к сожалению не получится. Технологии не стоят на месте и всегда найдутся лазейки. Поэтому я предлагаю вам подписаться на наши новости в социальных сетях, чтобы всегда быть в курсе. Это бесплатно.

На этом все друзья. Надеюсь эта статья помогла вам решить проблему утечки DNS. Удачи вам в новом 2017 году, будьте счастливы!

Наша оценка

DNSCrypt – бесплатная утилита для защиты DNS-трафика Путем шифрования DNS-трафика и использования серверов DNS. Наша оценка – очень хорошо!


User Rating:
4.19
( 47 votes)

Добавить комментарий