DNS запросы через socks прокси

anonymouse-logo1 Направляем все DNS запросы через socks прокси - зачем? Затем, чтобы "Большому брату" досталось меньше информации о нашей личной жизни. Направление всех ДНС запросов через socks прокси скроет от Вашего провайдера список посещаемых Вами веб-сайтов.

Для тех кто не в курсе о том, что такое DNS (система доменных имён - Domain Name System): коротко, DNS является своего рода адресной книгой веб-сайтов, примерно как Ваша записная телефонная книжка, в которой по имени Вы находите номер телефона нужного субъекта, как и компьютер, а вернее ОС, по доменному имени (например www.example.com) в ДНС ищет ИП адрес. Нагляднее в видео-ролике "DNS Explained - YouTube":

Доказываем значимость перенаправления DNS запросов через socks

Зачем нужно все DNS запросы направить через socks прокси, какой смысл? Если кому-то нравиться жить как рыбка в прозрачном аквариуме или человек является эксгибиционистом (получает сексуальное удовольствие от публичного демонстрирования своей наготы), то в таком случае перенаправление DNS запросов через прокси будет лишним и таким субъектам можно сразу закрывать данную страницу.

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

Таким образом наш провайдер, а также все спецслужбы с ним работающие, при желании может иметь на руках полную картину нашей жизни в сети Интернет - получить список всех доменных имен (веб-сайтов), время и дату посещения. Имея на руках подобную статистику можно составить примерный список предпочтений и интересов отдельного пользователя, составить график его работы/отдыха/досуга, выяснить тип ОС и ПО, которое установлено на компьютере пользователя.


В случае, когда мы перенаправим все DNS запросы через сокс прокси, то в лог файлах нашего провайдера будут светится только IP-адреса посещаемых ресурсов, а как многим известно на одном IP адресе могут одновременно размещаться сотни, а то и тысячи веб-сайтов (доменных имён). Таким образом провайдеру или кому-то ещё будет затруднительно выяснить список посещаемых нами веб-ресурсов, хотя эту информацию можно будет вытянуть из заголовков IP-пакета (HTTP запроса), таких как "Request-Line", "Host", "User-Agent".

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

А почему бы нам просто не юзать сторонние ДНС сервера, такие как например "Comodo SecureDNS", "Norton DNS" или "Google Public DNS"? Именно сторонние DNS сервера мы и будем использовать, но только через сокс прокси, а не на прямо имхо DNS запросы также как и DNSSEC запросы не шифруются и передаются по сети в открытом виде. Про использование "Google Public DNS" в приватной жизни рекомендую забыть сразу же!

Как перенаправить все DNS запросы через socks прокси

В некоторых веб-браузерах есть параметр позволяющий направлять все DNS запросы через socks прокси, например для Firefox - это "network.proxy.socks_remote_dns = true" на странице конфигурации "about:config". Но, такие фокусы доступны не для всех браузеров и не доступны для прочего ПО, такого как ICQ, Skype, менеджеры закачек, системные вызовы svchost.exe etc..

Благо в своём стремлении быть в тени анонимус не один. Представляем Вашему вниманию относительно молодую (первая версия от 2012-01-13) чудо-программу DNS2SOCKS, которая поможет нам организовать socks туннель для всех наших ДНС запросов, включая ДНС запросы со стороны ICQ, Skype, менеджеров закачки, системных вызовов svchost.exe и пр..

Как работает DNS2SOCKS? Параметры программы:

dns2socks /?
DNS2SOCKS [/?] [/d] [/q] [/l[a]:FilePath] [/u:User /p:Password]
          [Socks5ServIP[:Port]] [DNSServerIP[:Port]] [ListenIP[:Port]]
 
/?            to view this help
/d            to disable the cache
/q            to suppress the text output
/l:FilePath   to create a new log file "FilePath"
/la:FilePath  to create a new log file or append to the existing "FilePath"
/u:User       user name if your SOCKS server uses user/password authentication
/p:Password   password if your SOCKS server uses user/password authentication
 
Default Socks5ServerIP:Port = 127.0.0.1:9050
Default DNSServerIP:Port = 213.73.91.35:53
Default ListenIP:Port = 127.0.0.1:53
 
Press any key to close the application...

Пишем bat/cmd файл для скрытого (без консольных окон) запуска DNS2SOCKS:

:: Comodo SecureDNS | DNS.com
:: http://dev.recursive.dns.com/
start dns2socks 127.0.0.1:9050 8.26.56.26:53 127.0.0.1:53 /q
start dns2socks 127.0.0.1:9050 8.20.247.20:53 127.0.0.2:53 /q
::
:: Norton DNS
:: https://dns.norton.com/dnsweb/huConfigureRouter.do
::start dns2socks 127.0.0.1:9050 199.85.126.10:53 127.0.0.3:53 /q
::start dns2socks 127.0.0.1:9050 199.85.127.10:53 127.0.0.4:53 /q
::
:: Using Google Public DNS - Public DNS — Google Developers
:: https://developers.google.com/speed/public-dns/docs/using?hl=ru
::start dns2socks 127.0.0.1:9050 8.8.8.8:53 127.0.0.5:53 /q
::start dns2socks 127.0.0.1:9050 8.8.4.4:53 127.0.0.6:53 /q

В примере выше мы запустили две копии программы, чем создали socks туннель для всех наших ДНС запросов на локальном интерфейсе "127.0.0.1:53" (ListenIP:Port) и "127.0.0.2:53", с направлением запросов к "Comodo SecureDNS" серверам (8.26.56.26:53 и 8.20.247.20:53), через локальный TOR сервер.

Теперь в настройках нашего сетевого подключения достаточно удалить все старые ДНС сервера и вписать туда наши 127.0.0.1 и 127.0.0.2. Только нужно помнить что, если используется провайдер локальной сети, то при удалении его ДНС серверов из списка могут стать недоступны внутренние сервисы локальной сети. В таком случае нужно поставить ДНС сервер своего провайдера локальной сети последним в списке предпочтения (например "Сетевые подключения - Подключение по локальной сети - Общие - Протокол Интернета (TCP/IP) - Использовать следующие адреса ДНС-серверов"):

set-own-dns-servers-for-network-settings

На вкладке "Дополнительно - ДНС" можно указать дополнительные ДНС сервера.

Туннелирование DNS запросов: что дальше

Туннелирование DNS запросов через шифрованный socks - это только часть комплекса мер безопасной работы в сети Интернет. Следующим шагом должно быть шифрование данных всея Интернет-трафика, жестких дисков (можно вместе с системным), использование виртуальных шифрованных контейнеров, шифрование важной почтовой переписки и пр. сообщений с помощью GPG (PGP) или других криптографических инструментов, применение сложных и длинных паролей, использование только безопасных (HTTPS) версий сайтов при передаче по сети важных данных (логины, пароли, номера кредитных карт и т.д.).

Рекомендуемый контент



Комментарии   

Valera
0 #1 Valera 06.07.2015 01:29
Только есть одна странность, в которую я не въезжаю.
Как только DNS2SOCKS начинает отправлять данные в TOR, тот сразу выдает в журнале:
"[04:05:26] Potentially Dangerous Connection! - One of your applications established a connection through Tor to "178.79.184.174 :80" using a protocol that may leak information about your destination. Please ensure you configure your applications to use only SOCKS4a or SOCKS5 with remote hostname resolution."
А когда TorBrowser, шлет в TOR DNS запрос по socks5, TOR ничего в журнале не пишет, хотя явно DNS запрос обрабатывает, так как, странички грузятся отлично.
Однако, что-то не так с DNS2SOCKS...
Цитировать

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


Защитный код
Обновить

6 megabytes