Table of Contents
1 Введение
Расскажу о программе, которой пользуюсь уже много лет. Она немного улучшает сетевую безопасность, защищая от подмены сайтов при работе через небезопасные Wi-Fi сети.
Углубляться в технические подробности я не буду. Сжато расскажу суть проблемы, которую начали решать только в последние лет 5, но с помощью DNSCrypt можно защититься уже сегодня.
2 Небезопасные DNS запросы
Для общения устройств используется способ передачи данных TCP/IP. Это не протокол или набор программ, а концепция (модель) того, как это общение должно происходить.
У TCP/IP много недостатков, но, так как модель «пластичная», её латают и дорабатывают на протяжении более 40 лет своего существования. Например, чтобы никто не видел, что вы вводите на сайтах и получаете в ответ, многие сайты массово перешли на шифрованный протокол HTTPS.
К сожалению, уязвимостей в TCP/IP пока предостаточно. Одно из больных мест — система доменных имён (Domain Name System, DNS).
Когда вы открываете в адресной строке сайт, компьютеру нужно узнать, на какой сервер послать запрос. Для этого он обращается к серверам DNS, хранящих записи о том, на какой цифровой IP-адрес сервера обратиться, чтобы получить нужную страничку.
Проблема в том, что компьютеры безоговорочно доверяют серверам DNS. Если вы подключитесь к публичной Wi-Fi сети в кафе, владелец которой поднял собственный сервер с ложными адресами, есть шанс, что вместо Вконтакте вы откроете обманку, собирающую пароли.
Способов защитить запросы к серверам имён несколько, но операционные системы их не используют. Нужно дорабатывать ОС самостоятельно с помощью отдельных программ.
3 Simple DNSCrypt
Где скачать: simplednscrypt.org
Обновление от 2 апреля 2023 года: программа, описанная в заметке, не обновляется уже более года. На Windows 11 возможны баги.
Альтернативы: форк Simple DNSCrypt, pique, Cloudflare WARP, YogaDNS.
Simple DNSCrypt позволяет легко и просто изменить настройки сетевой карты так, чтобы все запросы шли к DNS серверам с поддержкой DNSSEC. Эта технология позволяет избежать подмены IP-адресов. Как бонус, будут использоваться только уважающие приватность серверы имён, т.е. не сохраняющие обращения пользователей.
Программа ставится просто. Главное правильно выбрать 32- или 64-битную версию, смотря какой разрядности у вас Windows. Разрядность можно посмотреть в Панели управления — Система (в Windows 10 — Параметры — Система — О программе).
После установки и запуска с ярлыка на Рабочем столе настройки менять не нужно. Просто нажмите кнопку «Применить».
Вы увидите, что переключатель пункта «Служба DNSCrypt» установится в зелёное положение «Вкл». Значит, в Windows запустилась новая служба, суть которой — выступать прокси-сервером всех DNS-запросов, перенаправляя их на безопасные сервера (их список есть на вкладке «Резольверы», там ничего трогать не надо).
После нужно лишь щёлкнуть мышью по всем сетевым картам, видимым в нижней части окна, чтобы на них появилась галочка справа вверху.
На этом всё! Защита запросов заработает сразу. Программа будет работать сама по себе.
Если вы продвинутый пользователь и хотите проверить, работает ли DNSCrypt на вашем компьютере, откройте свойства протокола TCP/IPv4 сетевого соединения. DNS-сервер должен быть локальный — 127.0.0.1.
Если при использовании сервера имён 127.0.0.1 сайты открываются — утилита dnscrypt-proxy работает, никто ваши запросы не пишет и провайдер запросы не отслеживает.
Удаляется программа, как и все остальные — через Панель управления.
4 DNSCypt ≠ полная приватность
Не путайте шифрование DNS с шифрованием всего трафика между вами и сайтами.
DNSCrypt поможет
- защититься от подмены серверов DNS злоумышленниками,
- зашифровать DNS запросы.
Утилита не поможет
- сохранить приватность в интернете,
- получить доступ к заблокированным в вашей стране сайтам,
- защитить от подмены, если отредактирован файл hosts на компьютере.
Если вы обеспокоены вопросами конфиденциальности, DNSCrypt выступит лишь вспомогательным инструментом. Для анонимного сёрфинга в интернете используются технологии VPN и/или Tor, тогда шифрование DNS станет дополнительной защитой на случай, если какая-то программа на вашем компьютере запросит IP-адрес домена в обход VPN.
Если использовать DNSCypt без VPN, провайдер по-прежнему будет видеть, что вы обращаетесь к серверу с таким-то IP, и если на сервере с одним IP-адресом хостится несколько сайтов, то определить, на какой именно вы зашли, у него получится с помощью анализа запросов (запись Server Name Indicator передаётся открытым текстом даже при использовании HTTPS).
5 Другие операционные системы
Шифрование DNS должно работать по умолчанию в любой операционной системе. Но этой функции там нет! Ни в Windows, ни в Linux, ни в Android, нигде нет поддержки DNSCrypt или аналогичной технологии «из коробки».
Для iOS есть программа DNSCloak, аналог Simple DNSCrypt.
В Android включить шифрование DNS не получится. Единственная подвижка, которую я нашёл — 17 апреля 2018 г. Google объявил, что будет использовать шифрование запросов DNS через TLS в будущей операционной системе Android 9.0.
6 Резюме
Simple DNSCrypt — не сетевой антивирус. Если на вашем компьютере уже есть вирусы, подменяющие сайты, утилита вам не поможет. Проверьте систему бесплатными антивирусами, работающими без установки.
В будущем, где-то после 2019 года, защита от подделки DNS-запросов будет встроена по умолчанию в новые версии всех операционных систем. Но пока приходится ставить программы, разработанные энтузиастами для энтузиастов. Это необходимая защита для повышения безопасности работы в мировой сети.
Для Android:
https://dnsmanager.me/
>Если использовать DNSCypt без VPN, провайдер по-прежнему будет видеть
Не понятно зачем тогда прога если она не шифрует запрос. Тогда можно и без нее подрубил VPN и пользуйся google днсом. Провайдер не перехватит.
MITM по-прежнему может случиться между провайдером VPN и гугловскими серверами. DNSCrypt не даст подменить запросы к DNS-серверам, это защита от определённого вида атак.
а есть ли подобный софт с поддержкой windows xp?
>Не понятно зачем тогда прога если она не шифрует запрос.
>Тогда можно и без нее подрубил VPN и пользуйся google днсом.
>Провайдер не перехватит.
А если ваш провайдер блочит через DNS запросы…
Провайдеры не видят, какие именно запросы делает DNSCrypt. Их не получится автоматически «завернуть» на сервера DNS провайдера, подделав ответ. Так что эффект может быть весьма любопытным, если вы понимаете, о чём я.