Анонімність запитів DNS. Що таке виток DNS leak і як усунути

При підключенні до VPN сервера в деяких ОС (наприклад, Windows) не завжди запити проходять через DNS сервер VPN підключення. У цьому випадку деякі сайти можуть дізнатися, що ваш IP адреса і DNS сервера знаходяться в різних країнах, і ваша анонімність може опинитися під загрозою.

Що таке сервер DNS

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

Нижче наведено приклад визначення DNS серверів на сайті Whoer.net.


З прикладу видно, що ми підключилися до VPN і приховали свою IP-адресу (IP належить Великобританії), але при цьому DNS сервер видає наше реальне місцезнаходження (США).

В даному випадку проблема лежить в принципі роботи DNS служби Windows. При підключенні до VPN за замовчуванням запит надсилається на сервер DNS VPN. Потім DNS служба Windows чекає 2 секунди, і якщо відповідь не надійшла, то надсилає запит на наступний DNS сервер, що знаходиться у списку Windows. Саме такі DNS сервери і належать вашому Інтернет-провайдеру, але мають менший пріоритет у порівнянні з DNS VPN сервера.

DNS VPN сервера може не встигати відповідати на запит вчасно через географічну віддаленість VPN сервера від вас, тоді як DNS сервер вашого провайдера знаходиться у вашому місті. Також на це може впливати якість проходження сигналу від вашого Інтернет-провайдера до сервера VPN.

Рішення: примусово використовувати потрібний нам сервер DNS. У цьому випадку ми однозначно вкажемо операційній системі, що потрібно використовувати тільки вказані DNS сервери і тоді в списку DNS служби Windows не будуть значитися DNS сервера вашого реального провайдера.

Наш VPN клієнт Secure Kit вміє захищати від витоку DNS leak автоматично. Дізнайтесь докладніше про Secure Kit.

Як приховати свій реальний DNS у Windows

Виконайте такі дії у будь-якій версії Windows.




Клацніть правою кнопкоюмишки на мережеве підключення Windowsа потім виберіть "Властивості".



Вкажіть публічні DNS сервера Googleабо OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

Для повної анонімностіми рекомендуємо використовувати наші сервери DNS. У розділі "Мій обліковий запис" вказані DNS сервери для кожного напряму VPN. І вже в цьому випадку ваш DNS сервер завжди відповідатиме вашій IP адресі (по країні).


Після виконання зазначених дій ваш реальний DNS сервер у Windows буде прихований.

Як приховати свій реальний DNS на Mac OS X

Для примусового встановлення DNS на будь-якій версії Mac OS X виконайте такі кроки:



У наступному вікні внизу натисніть іконку замка, щоб дозволити редагування налаштувань. Потрібно ввести пароль від облікового запису Mac OS X.


Виберіть підключення, яке ви використовуєте для отримання Інтернету. Зазвичай це або Wi-Fi з'єднання, або Ethernet. І потім натисніть кнопку "Додатково".


Введіть публічні DNS-сервери Google або OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220

Ці сервери DNS найчастіше визначаються як США. У цьому випадку жоден сайт не видаватиме ваші реальні DNS.

Для повної анонімності ми рекомендуємо використовувати наші сервери DNS. У вашому обліковому записі в розділі "Підписки" -> вкладка "DNS" з'являться DNS сервери рекомендовані до використання з нашими VPN серверами. Для кожного напряму VPN буде вказано свій DNS сервер. І вже в цьому випадку ваш DNS сервер завжди відповідатиме вашій IP адресі (по країні).


Після виконання зазначених дій ваш реальний DNS сервер на Mac OS X буде прихований.

Як приховати свій реальний DNS на Ubuntu

Для усунення DNS leak в операційній системі Ubuntuна базі Linux, відкрийте розділ З'єднання.


Виберіть підключення до Інтернету та натисніть Редагувати.


Виберіть:

  1. Вкладку Параметри IPv4
  2. Автоматично (DHCP, тільки адреса)
  3. Вкажіть DNS-сервер. Наприклад, можна використовувати публічні DNS сервери від Google або OpenDNS

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220


У Linux необхідно перезапустити налаштування мережі, щоб зміни набули чинності.

Натисніть кнопку Керування мережею.


З'явиться З'єднання розірвано.


Потім натисніть на Управління мережею ще раз, щоб увімкнути з'єднання.


Після цих дій ваш реальний DNS сервер буде прихований.


Як приховати свій реальний DNS на серверній Linux

Наступні дії виконуйте лише в тому випадку, якщо ви вважаєте себе досвідченим користувачем Linux. Ми попереджаємо, що вносити зміни в ручний спосіб небезпечно, якщо у вас мало знань з адміністрування Linux. Увага: ми знімаємо із себе відповідальність за наслідки.

Зайдіть на сервер під root користувачем (або під звичайним користувачем, але у вас мають бути привілеї виконувати команди під sudo).

Введіть наступну команду. Можливо, потрібно ввести пароль від облікового запису ОС. Для редагування використовується текстовий редактор nano. Якщо він у вас не встановлений, зробіть зміни іншим редактором або встановіть nano.

Sudo nano /etc/resolv.conf

  1. Якщо у вас встановлений resolvconf, то в цьому файлі буде повідомлення, що після перезавантаження ОС всі зміни в цьому файлі будуть втрачені та налаштування повернуться за замовчуванням на 127.0.1.1. Так як ми змінюємо сервер DNS тимчасово, то нас це влаштовує.
  2. Запишіть DNS сервер, вказаний за промовчанням у цьому файлі. Потім змініть сервер DNS. Наприклад, можна взяти сервер DNS від Google або OpenDNS.

Google DNS:
- 8.8.8.8
- 8.8.4.4

OpenDNS:
- 208.67.222.222
- 208.67.220.220


Щоб зберегти в редакторі nano, натисніть:

  1. Ctrl+X для виходу з редактора
  2. клавішу Y для збереження змін у файлі
  3. клавішу Enter для підтвердження збереження в той самий файл

Щоб зміни набули чинності, необхідно перезавантажити мережний інтерфейс.

  • для Debian та Ubuntu введіть команду:
sudo /etc/init.d/networking restart
  • для CentOS та Red Hat Linux введіть команду:
  • sudo /etc/init.d/network restart

    Мережний інтерфейс перезавантажиться і DNS leak буде усунуто.

    Перезавантажте комп'ютер, щоб повернути вихідний сервер DNS.

    Багато користувачів прагнуть приховатиIPсвого комп'ютера для анонімності або для обходу блокувань. Зазвичай ваш або відомий адміністраторам відвідуваних сайтів. Теоретично ця інформація є конфіденційною, але практично ніщо не заважає зловмисникам скористатися нею в злочинних цілях.

    Що такеDNS-сервер та навіщо його приховувати?

    DNS (Domain Name System – система доменних імен) є системою для отримання інформації про домен. Найчастіше вона служить визначення (отримання) IP-адреси конкретного ресурсу з його імені. DNS перетворює введену назву сайту (наприклад, yandex.ru) на IP-адресу, за якою браузер відкриває потрібну сторінку. Фактично сайт завантажує саме IP-адресу, а не назву (URL), тоді як назва існує лише для зручності користувачів. Набагато легше запам'ятати та запровадити «yandex.ru», ніж «213.180.193.3». DNS і є тим механізмом, який перетворює зрозумілий людині URL в зрозумілий комп'ютеру IP.

    Багато користувачів роблять поширену помилку. В налаштуваннях мережного підключенняКрім IP-адреси, також вказується адреса DNS-сервера. Комп'ютер спочатку звертається до нього і лише потім до самого сайту. Помилка при прихованні IP-адреси полягає в тому, що користувач залишає в установках DNS свого провайдера. Якщо зловмисник може , може легко визначити і DNS, цим визначивши місцезнаходження користувача. Отже, використання VPN для маскування IP марно без зміни DNS.

    ПриховуванняDNS за допомогоюVPN-клієнта

    Viscosity допомагає встановити зв'язок із придбаним VPN-сервером та безпечно обмінюватися з ним даними без розкриття DNS. Для налаштування програми виконайте таке:

    1. Завантажте програмузвідси: http://www.sparklabs.com/viscosity/ та встановітьйого (в OS X потрібно перетягнути іконку програми до папки « Applications»):

    2. Запустіть програму та перейдіть до налаштування.

    3. На вкладці « З'єднаннянатисніть « + » та виберіть « Додати з'єднання»:

    4. Виберіть файл, отриманий від служби VPNпісля оплати акаунту (у даному прикладіце "Luxemburg-tcp.ovpn"):

    5. Імпорт з'єднання закінчено – натисніть « ОК».

    6. На вкладці « Налаштування» поставте галочки, як на картинці (зверніть увагу, що галочка на «Приймати налаштування DNS одночасно» не варто):

    7. На вкладці « З'єднання» двічі натисніть назву імпортованого файлу (в OS X можна зробити так, як на скріншоті).

    УніверсальніDNS

    Існують повністю безкоштовні DNS-сервери, найпоширеніші з яких Google і OpenDNS. З їх допомогою можна представитися користувачем зі США чи іншої країни за вашим бажанням. Для роботи з універсальними DNS в середовищі Windowsзробіть наступне :

    1. Відкрийте « Панель управління" в меню " Пуск».

    2. На вкладці « Мережеві підключення» або « Перегляд стану мережі та завдань» (для Windows 7, 8) відкрийте своє поточне з'єднання (мережеве або ) та натисніть « Властивості».

    3. Натисніть двічі на пункті « Протокол Інтернету версії 4».

    4. Поставте галочку внизу на пункті « Використовувати такі адреси DNS-серверів».

    5. У верхньому рядку кожного осередку по черзі вводьте: 8.8.8.8 (DNS від Google)або 208.67.222.222 (OpenDNS).

    6. У нижньому рядку вводьте: 8.8.4.4 (Google) або 208.67.220.220 (OpenDNS). Ці сервери можна комбінувати, вводячи різні сервери у різні рядки.

    7. Натисніть « ОК» та закрийте вікно.

    Для використання універсальних DNS на OS X виконайте наступне:

    1. У верхній частині робочого столу натисніть піктограму « Apple».

    2. Виберіть « Системні налаштування».

    3. Натисніть на іконку « Мережа» і у вікні, натисніть на іконку замка.

    4. Виберіть поточне з'єднання з Інтернетом (зазвичай Ethernet або Wi-Fi) та натисніть « Додатково…" в правому нижньому куті.

    5. Встановіть DNS так само, як у Windows.

    ЗмінаDNS за допомогою програми "dnsfixsetup" (Windows)

    У Windows для вирішення проблеми можна зробити наступне:

    1. Перед підключенням до VPN установіть статичні IP-адреси в налаштуваннях мережного підключення, якщо ви використовуєте DHCP для автоматичного отримання IP.

    2. Після з'єднання з VPN видаліть параметри DNS у налаштуваннях мережі.

    3. Після відключення від VPN поверніть налаштування назад (тобто в налаштуваннях мережного підключення проставте галочки на автоматичне отримання IP та DNS).

    У Windows можна скористатися програмою dnsfixsetup.exe для вирішення проблеми. Після встановлення програма запустить три скрипти, які виконують перелічені вище дії автоматично:

    1. bat – виконується при ініціювання з'єднання, але до встановлення з'єднання з VPN (викликається внутрішня функція pre.vbs). Якщо в установках вказано автоматичне отримання IP та DNS, програма переключить їх на ручне (статичне) отримання.

    2. bat – виконується під час встановлення з'єднання з VPN. Викликає скрипт up.vbs, який знімає DNS-сервери з усіх активних підключень (крім адаптера TAP32).

    3. bat – виконується після розриву з'єднання з VPN. Скрипт "down.vbs" встановлює параметри за замовчуванням.

    Ще один спосіб зміниDNS ручним методом

    Дане рішення не перемикає адаптер до статичних налаштувань під час використання DHCP. Якщо ви не перейшли на статичну конфігурацію IP і ваш комп'ютер оновлює свою IP-адресу при підключенні до VPN, тоді параметри DNS можуть бути перезаписані. Рекомендовано перейти до статичної конфігурації IP.

    1. Запустіть «cmd.exe», натиснувши на клавіатурі клавіші «Win+R» і вписавши у вікно «cmd».

    2. Перед підключенням визначте ім'я підключеного мережного інтерфейсу шляхом введення у вікно (зазвичай чорного кольору) « netsh interface show interface». У нашому випадку ми використовуємо «Підключення по локальної мережі»(Local Area Connection).

    3. Підключіться до VPN. Якщо ви вже підключені, перейдіть до наступного кроку.

    4. Очистіть кеш розпізнавання DNS, ввівши « ipconfig /flushdns».

    5. Вимкніть поточні налаштування DNS командою « netsh interface IPv4 set dnsserver «Local Area Connection» static 0.0.0.0 both».

    6. Щоб перевірити DNS (залишився він колишнім чи ні), можна перейти за адресою https://www.dnsleaktest.com/index.html. Якщо тут показано назву вашої країни, повторіть усі кроки.

    7. Після відключення від VPN переналаштуйте адаптер відповідно до попередньої конфігурації DNS за допомогою команди « netsh interface IPv4 set dnsserver «Local Area Connection» dhcp».

    8. Знову очистіть кеш розпізнавання DNS, ввівши команду « ipconfig /flushdns».

    Ми змінили параметри сервера DNS. Тепер ви повністю впевнені, що ніхто не зможе визначити ваше реальне місцезнаходження.

    Спосіб зміниDNS-сервера на Android

    1. Потрібно зайти в налаштування Wi-Fiна телефоні.


    2. Виберіть потрібне підключенняі в меню виберіть «Змінити мережу».


    3. Натисніть "Додатково".

    Деякі інтернет-користувачі вважають за краще використовувати VPN-сервіси, щоб приховати свою справжню IP-адресу і зашифрувати дані. Як правило, на такий крок їх штовхає бажання зберегти свою онлайн-конфіденційність, а також низку інших причин. Проте, все це буде даремно, якщо ваші особисті дані «витікають» у мережу через вразливість системи безпеки. Є два основних види таких витоків: витік DNS та витік WebRTC (IP).

    Що таке витік DNS?

    Якщо ви хоч раз заходили в інтернет, ви стикалися з системою доменних імен (Domain Name System, DNS), хай навіть самі про те не підозрюючи. DNS підтримує базу даних доменних імен (наприклад, vpnmentor.com) та переводить їх у відповідну числову адресу (Internet Protocol, IP). Саме за цими адресами браузери знаходять сайти в мережі. По суті, IP-адреси та доменні імена схожі на телефонну книжку, де кожна людина має ім'я та номер телефону.

    Власне кажучи, доменні імена потрібні тільки людям, тоді як комп'ютери працюють лише з числами у форматі Людині може бути складно запам'ятати адресу на кшталт 168.212.226.204, а от запам'ятати доменне ім'ятакого сайту може виявитися значно простіше. Ось що відбувається, коли ваш браузер відкриває сторінку сайту: ваш комп'ютер надсилає запит DNS-серверам вашого інтернет-провайдера і отримує у відповідь IP-адресу потрібної веб-сторінки. Але коли ви використовуєте VPN-сервіс, то запит йде на DNS-сервери не провайдера, а самого VPN-сервісу.

    Як відбувається витік?

    Через вразливість у системі безпеки іноді DNS-запит може потрапити до вашого провайдера., а не на сервери VPN-сервісу, які зможуть приховати його від сторонніх очей. Власне, саме в цьому випадку відбувається витік DNS.Виною всьому - незашифрований DNS-запит, надісланий вашим комп'ютером не через захищений VPN-тунель. Ця вразливість пов'язана з операційною системою комп'ютера.. Так, кожен інтерфейс мережі може мати власну систему DNS. І часом буває так, що комп'ютер відправляє DNS-запити прямо провайдеру або навіть на сторонні сервери (див. малюнок нижче), ігноруючи стандартний шлюз і DNS-налаштування вашого VPN-сервісу, що і призводить до витоку даних.

    Все це дозволяє провайдеру дізнатися, які сайти відвідує користувач. А якщо ви використовуєте VPN-сервіс і раптом дізналися, що сидите під своєю справжньою IP-адресою, то це означає лише одне: всі ваші DNS-запити теж потрапляють не на сервери VPN-сервісу, а прямо до провайдера. До речі, деякі провайдери використовують технологію Transparent DNS proxy («Прозорий проксі DNS»), яка змушує пристрої користувача звертатися з DNS-запитами до серверів провайдера навіть у тому випадку, коли ви виставили інші налаштування DNS.

    Що таке витік WebRTC (IP)?

    У 2015 році фахівець з інтернет-безпеки Деніель Рослер (Daniel Roesler) повідомив про вразливість, яка дозволяє зловмисникам перехоплювати справжню IP-адресу користувача за допомогою API (інтерфейсу програмування додатків), вбудованого в більшість. сучасних браузерів-Web Real Time Communication (WebRTC). Перехопити можна було навіть дані користувачів, які підключалися до VPN-сервісу. Відзначимо, що WebRTC використовується в різних мережах для обміну даними між браузерами, обміну файлами за моделлю P2P, відеодзвінків і не тільки.

    Як відбувається витік?

    Щоб змусити WebRTC видати вашу справжню IP-адресу, потрібно лише кілька рядків коду. Вся справа в так званому STUN-сервері (сервері утиліт проходження сесій для NAT). STUN-сервер дозволяє комп'ютерам та пристроям з вашої внутрішньої мережі знаходити свої публічні IP-адреси (по суті, їх інтернет-адреси). VPN-сервіси теж використовують STUN-сервер для переведення вашої внутрішньої мережевої адреси в публічну інтернет-адресу і навпаки. Для цього STUN-сервер зберігає базу даних, в якій зібрані записи про ваші локальні та публічні IP-адреси.

    Цей витік взагалі ніяк не пов'язаний з VPN-сервісами, від ступеня із захищеності в даному випадку нічого не залежить. Проблема у вразливості вашого браузера - точніше, в WebRTC . Коли модуль WebRTC браузера приймає запити від STUN-сервера, він відправляє назад повідомлення, в якому містяться обидві IP-адреси (внутрішній і публічний), а також інші дані.

    Вміст повідомлення, тобто реальна IP-адреса користувача, можна дізнатися, якщо написати крихітну програму на JavaScript. Для неї потрібно лише одне: щоб у браузері підтримувався WebRTC (та й саму програму ще написати треба, звичайно). І якщо WebRTC включений у вашому браузері, то він прийматиме запити від STUN-сервера і надсилатиме назад відповіді.

    Підіб'ємо підсумок: ідеальних систем немає, у всіх є свої помилки та вразливості, які залишаються до пори прихованими. Тому важливо використовувати , який своєчасно усуває всі знайдені вразливості.. Обов'язково на предмет витоків даних і якщо виявиться, що і ви знаходитесь в зоні ризику.

    Сайти, що спеціалізуються на детектуванні інформації про користувача, можуть визначати dns-сервер вашого провайдера (у практично будь-якій операційній системі).
    Ми бачимо кілька варіантів вирішення цієї проблеми:

    1. Замінити "чутливий" dns-сервер неіснуючим. Для цього потрібно відкрити налаштування мережного підключення до Інтернету, далі перейти до властивостей "Протокол Інтернету (TCP/IP)" і в полі "Переважний DNS-сервер" вказати, наприклад, 127.0.0.1, а поле "Альтернативний DNS-сервер" залишити порожнім .
      Після закінчення роботи з VPN потрібно буде повернути налаштування dns-серверів на попередні.
    2. Замінити "чутливий" dns-сервер (налаштування як у варіанті 1) одним із публічних на постійній основі.
      У цьому випадку після закінчення роботи з VPN змінювати налаштування dns-серверів не потрібно.

    Натисніть Пуск, Виберіть Панель управління.

    Windows XP– двічі клацніть по пункту Мережеві підключення(якщо його немає, натисніть Перемикання до класичного виглядузліва зверху).
    Windows Vista та вище- Двічі клікніть по Центр управління мережами та спільним доступом(якщо його немає, виберіть меню Переглядправоруч зверху опцію Дрібні значки), потім Зміна параметрів адаптера.

    Клацніть правою кнопкою миші по іконці вашого основного мережного підключення та виберіть Властивостіз меню.

    Якщо вибрано Отримати адресу DNS-сервера автоматично, натисніть пункт Використовувати такі адреси DNS-серверів. У поля Переважний DNS-сервері Альтернативний DNS-сервервведіть потрібні адреси DNS-серверів.

    Готово! Натискайте OK, доки всі меню не закриються. Можливо, вам доведеться перезапустити браузер і перепідключитися до Інтернету, щоб зміни набули чинності.

    VPN не завжди може захистити DNS-запити вашого пристрою, навіть якщо весь інший трафік надійно захищений тунелем VPN. Це називається "витік DNS". Якщо відбувається витік DNS-запитів, то треті особи, наприклад ваш інтернет-провайдер або оператор DNS-сервера, можуть бачити, які веб-сайти ви відвідуєте та якими програмами користуєтеся.

    Так як DNS – це система адресних книг, то з нею пов'язано практично все, що ви робите в Інтернеті. Ваш браузер та інші програми використовують DNS для пошуку серверів, на яких працюють сайти та сервіси, якими ви користуєтесь. Ваш пристрій надсилає запити на DNS-сервер, який надсилає назад інструкції, як знайти те, що ви шукаєте. Саме тому DNS-запити ставлять вашу конфіденційність під загрозу.

    Що таке DNS

    Як мені перевірити, чи захищає мене VPN-мережа чи ні?

    Якщо програма ExpressVPN налаштована правильно, вона захищає вас від витоку DNS. Тест на виток DNS на цій сторінці дозволяє переконатися, що ExpressVPN виконує поставлене завдання.

    Як ExpressVPN запобігає витоку DNS?

    Без VPN пристрій зазвичай використовує службу DNS, яку надає інтернет-провайдер. Але коли ви підключаєтеся до ExpressVPN, пристрій використовує лише DNS-сервери ExpressVPN. Це дає численні переваги, тому що:

    • DNS-сервери ExpressVPN працюють дуже швидко
    • ExpressVPN не зберігає журнали онлайн-активності та підключень
    • Весь трафік між вашим пристроєм та DNS-серверами повністю шифрується

    Ось як це працює. Щоб відкрити веб-сторінку, ви вводите URL-адресу або натисніть на посилання в браузері. Ця URL-адреса надсилається через зашифрований тунель ExpressVPN до власного DNS-сервера ExpressVPN. DNS-сервер шукає IP-адресу та відправляє її серверу ExpressVPN, який отримує доступ до потрібній сторінці. В одну мить ExpressVPN повертає цю сторінку вам. Весь трафік залишається під надійним захистом VPN-тунелю.

    Якщо я вже використовую VPN, навіщо мені потрібно перевіряти, чи є витік DNS?

    Може статися одне із двох:


    В обох випадках треті особи можуть бачити список веб-сайтів та програм, які ви використовуєте.

    Що викликає витік DNS-запитів під час використання VPN?

    Витоки DNS можуть відбуватися з багатьох причин. Ось деякі з них:

    1. Ваша мережа VPN налаштована вручну.Якщо ви вручну настроюєте VPN-з'єднання, ризик витоку DNS-запитів збільшується і залежить від конфігурації вашої операційної системи. Використання програм ExpressVPN усуває багато небезпек.
    2. Ваш роутер контролюється зловмисником, наприклад, оператором Wi-Fi у кафе. Зловмисник може зробити так, щоб Ваш пристрій надсилав DNS-запити за межі тунелю VPN. Програми ExpressVPN захищають від витоку DNS, але інші програми та ручні налаштуванняможуть бути вразливими.
    3. Ручне налаштування DNS.Ви (або програмне забезпеченняна вашому пристрої) дали команду операційній системі не використовувати DNS-сервери ExpressVPN. Досвідчені користувачі можуть запросити конкретну службу DNS, але більшості людей з міркувань безпеки краще цього не робити.