Технически преглед: Предотвратяване на DNS течове при смяна на мрежови интерфейси

Предотвратяване на течове на DNS при смяна на мрежови интерфейси

За ефективно предлагане на поверителност и сигурност на потребителя, VPN приложение трябва да гарантира, че заявките за DNS на потребителя остават частни за целия период на връзката с VPN. Приложенията обикновено правят това, като гарантират, че всички DNS заявки се изпращат шифровани през тунела VPN и се обработват от DNS сървърите на доставчика на VPN.

За да запазите тази гаранция, важно е да разберете при какви сценарии може да възникнат течове на DNS. Като се имат предвид само прости сценарии, например когато мрежовите връзки са стабилни, не е достатъчно. В реалния свят мрежите често са нестабилни или конфигурациите им могат да се променят и като цяло това се случва, когато възникнат течове. Следователно, проучването на сложни сценарии е решаваща част от процеса на създаване на VPN-приложение, устойчиво на теч.

В ExpressVPN отделяме значително време и усилия за проучване на сложни сценарии, при които вашето VPN приложение може да изтече. В останалата част от тази статия обсъждаме един конкретен сценарий, който разкрихме къде биха могли да възникнат течове на DNS. Ще обясним как и защо възниква изтичането на DNS и ще ви дадем начин сами да тествате течовете.

Сценарий: DNS изтича след превключване в мрежовите интерфейси

Превключването между мрежови интерфейси е често срещан сценарий, при който са възможни течове на DNS. Помислете следния пример:

  • Вие сте вкъщи с вашия лаптоп и свързан с Wi-Fi
  • Свързвате се с вашето VPN приложение
  • Някъде по-късно ще включите вашия Ethernet кабел

Повечето VPN приложения няма да засекат тази промяна в мрежовата конфигурация. Те ще продължат да ви информират, че вашата поверителност и сигурност все още са 100% защитени, но реалността може да бъде много различна.

Под прикритията вашите заявки за DNS могат постоянно да изтичат до вашия интернет доставчик или други трети страни и никога няма да го осъзнаете.

Техническа повреда

Кога наистина може да се случи?

Нека вземем примера с Mac (все пак имайте предвид, че това изтичане се случва и с Windows устройства). Да предположим, че имате налична Wi-Fi и Ethernet връзка. Отворете приложението „System Preferences“ и отворете „Network“. Ще видите нещо като следното:

Wi-Fi DNS течове

Това показва, че сте свързани както с Wi-Fi, така и с Ethernet, но Ethernet е предпочитаната от вас връзка.

Да предположим освен това, че вашият DNS е пуснат на „локален“ IP адрес. Можете да проверите това, като щракнете върху „Advanced“, когато вашата Ethernet връзка е осветена и след това преминете към „DNS“. Трябва да видите нещо подобно:

Преглед на DNS сървър

Ако IP адресите под „DNS сървъри“ имат формата 10.x.x.x, 192.168.x.x или между 172.16.x.x и 172.31.x.x, тогава те са „локален“ IP адрес. Това най-вероятно означава, че вашият рутер действа като вашият DNS сървър и по този начин, без VPN, вашият интернет доставчик може да вижда всички ваши DNS заявки. Ако имате такава настройка, тогава може да сте уязвими от това изтичане на DNS.

Обърнете внимание, че дори ако вашите DNS сървъри нямат локални IP адреси, вероятно все още ще сте уязвими от течове на DNS. В този случай заявките за DNS могат да преминат през VPN тунел. Те обаче няма да бъдат пренасочени към DNS сървъра на VPN, а към някой друг DNS сървър, като този на вашия интернет доставчик или доставчик на DNS на трети страни..

Как можете да проверите дали изтичате?

Най-простият метод е да използвате инструмента за изтегляне на DNS на ExpressVPN и направете следното:

  • Уверете се, че вашият Ethernet кабел е изключен
  • Уверете се, че сте свързани с Wi-Fi мрежа
  • Свържете се с вашето VPN приложение
  • Използвайте DNS тестер за течове на ExpressVPN или тестер на трета страна
  • Трябва да видите само един DNS сървър в списъка
  • Ако използвате ExpressVPN, нашият тестер ще Ви каже също, че е наш разпознат сървър
  • Включете вашия Ethernet кабел
  • Обновете страницата за изтичане на DNS. Ако изтече DNS, сега ще видите различен списък на DNS сървъри

Можете също да проверите за течове на DNS, без да разчитате на нашата уеб страница, като използвате tcpdump, както следва.

Първо, намерете мрежовия интерфейс, съответстващ на вашата Ethernet връзка:

  • Отворете прозорец на терминала
  • Въведете networksetup -listallhardwareports
  • Потърсете линия като „Хардуерен порт: Thunderbolt Ethernet“, напр.
  • Хардуерен порт: Thunderbolt Ethernet

  • Мрежовият интерфейс за вашата Ethernet връзка е показан до „Устройство“. В този пример е en4

Сега, нека да стартираме теста:

  • Уверете се, че вашият Ethernet кабел е изключен
  • Свържете се с вашето VPN приложение чрез Wi-Fi
  • Включете вашия Ethernet кабел
  • Отворете прозорец на терминала
  • Въведете sudo tcpdump -i en4 порт 53 и въведете вашата парола
  • sudo дава на tcpdump необходимите привилегии за улавяне на мрежовия трафик
  • -i en4 казва tcpdump да слуша в интерфейса на Ethernet
  • Заменете en4 с интерфейса, който сте открили по-горе
  • port 53 е портът, използван за DNS трафик и по този начин ви показва само DNS заявки
  • Ако видите някакъв трафик, тогава имате изтичане на DNS, напр.
  • DNS трафик

    Какво всъщност става тук?

    Основната причина за това изтичане се свежда до това как операционната система определя кои DNS сървъри да се използват. Използваните от системата DNS сървъри винаги са тези, свързани с активната мрежова услуга с най-висок приоритет - това съответства на зелената услуга в горната част на списъка на снимката по-горе.

    При изключен Ethernet сървърите, които ще получават вашите DNS заявки, са тези, свързани с Wi-Fi услугата, тъй като тя е най-приоритетната активна мрежова услуга. Същото е вярно, когато се свържете с VPN. За да изпратят правилно своя DNS трафик към DNS сървъра на VPN, повечето VPN доставчици променят DNS сървърите на интерфейса с най-висок приоритет на собствен DNS сървър. В този сценарий това означава, че променят DNS сървърите, свързани с вашата Wi-Fi мрежа.

    Когато включите вашия Ethernet кабел, мрежовата услуга на Ethernet се връща към върха на активния списък, тъй като сега е мрежова услуга с най-висок приоритет. След това операционната система ще се опита да използва DNS сървърите, свързани с тази услуга, за всякакви DNS прегледи.

    Много VPN приложения няма да забележат проблема, тъй като вашата Wi-Fi мрежа все още работи и не е прекъсната. Въпреки че те могат да изпращат вашите данни шифровани през Wi-Fi мрежата, вашите DNS заявки ще бъдат изпращани нешифровани до вашия интернет доставчик.

    Ако вашето VPN приложение не успее да се защити от този сценарий, това ще означава, че вашите DNS заявки ще изтекат от тунела към вашия интернет доставчик.

    Проверка на DNS сървъри на имена в Terminal

    Като странична бележка можете сами да проучите поведението на DNS сървърите с командата scutil. За да видите какви DNS сървъри използва системата просто:

    • Отворете прозорец на терминала
    • Въведете scutil --dns
    • В горната част на изхода трябва да видите „резолюция № 1“ със списък на „сървър на имена“, напр..
    • разрешител # 1

    • IP адресите до всеки „сървър на имена“ показват какво ще използва системата за DNS заявки

    Интересувате се да научите повече? Имайте въпрос или коментар?

    Нашият екип от инженери би се радвал да се свърже с вас - просто ни пуснете линия на [email protected]

    Технически преглед: Предотвратяване на DNS течове при смяна на мрежови интерфейси
    admin Author
    Sorry! The Author has not filled his profile.