Jump to content
Sign in to follow this  
mr.save

Защита приватности с помощью DNSCrypt

Recommended Posts

DNSCrypt — программа, работающая как служба dnscrypt-proxy, которая улучшает защиту и конфиденциальность онлайн за счет шифрования DNS трафика между пользователем и OpenDNS, предотвращая попытки отслеживания, перехвата DNS и MITM-атаки (атаки «человек посередине»).

b38d4fb1e14d39dc076c0.thumb.jpg.2087a0943211ed0535ce8fabde231da0.jpg

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

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

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

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

Почему DNSCrypt так важен?

Аналогичным образом, как SSL превращает веб-трафик HTTP в зашифрованный HTTPS трафик, DNSCrypt превращает обычный DNS трафик в зашифрованный DNS трафик, который защищен от отслеживания и MITM-атак.

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

DNSCrypt имеет потенциал самого эффективного инструмента в Интернет-безопасности наравне с SSL, существенно улучшающего защиту и конфиденциальность пользователей Интернета.
DNSCrypt не использует криптографические библиотеки и полагается на эллиптическую криптографию, в частности криптопримитив Curve25519.

Важно: если Вы используете фаервол или другое ПО для управления сетевыми пакетами, попытайтесь включить DNSCrypt по TCP с портом 443. В этом случае большинство фаерволов будут считать, что имеют дело с HTTPS трафиком и проигнорируют контроль.

Установка dnscrypt-proxy в Ubuntu 18.04, 17.10

Откройте терминал и добавьте репозиторий DNSCrypt:

sudo add-apt-repository ppa:shevchuk/dnscrypt-proxy

Обновите репозитории:

sudo apt update

Затем установите программу:

sudo apt install dnscrypt-proxy

Затем нам надо вписать сервера DNSCrypt в конфигурационный файл. Для этого нужно открыть текстовым редактором файл, который расположен по пути /etc/dnscrypt-proxy/dnscrypt-proxy.toml, найти строку server_names, раскомментировать её убрав знак решётки # и вписать туда сервера вместо серверов google, cloudflare и т.п.

Пример конфигурационного файла:

server_names = ["d0wn-se-ns2", "d0wn-tz-ns1"]
listen_addresses = ["127.0.0.1:53", "[::1]:53"]
max_clients = 250
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = true
doh_servers = true
require_dnssec = true
require_nolog = true
require_nofilter = true
daemonize = false
force_tcp = false
timeout = 2500
log_level = 0
use_syslog = false
cert_refresh_delay = 240
fallback_resolver = "9.9.9.9:53"
ignore_system_dns = false
block_ipv6 = true
cache = true
cache_size = 256
cache_min_ttl = 600
cache_max_ttl = 86400
cache_neg_ttl = 60
[query_log]
format = "ltsv"
[nx_log]
format = "ltsv"
[blacklist]
[ip_blacklist]
[sources]
[sources.public-resolvers]
url = "[url]https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md[/url]"
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
cache_file = "public-resolvers.md"
refresh_delay = 72
prefix = ""

Публичные сервера можно найти тут.
После этого нам надо запустить службу dnscrypt-proxy:

sudo systemctl daemon-reload
sudo systemctl stop dnscrypt-proxy.socket
sudo systemctl enable dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

После этого в настройках NetworkManager нам нужно прописать адрес. Для этого ПКМ кликаем по значку NetworkManager, в выпавшем меню выбираем Изменить соединения, выбираем своё соединение и кликаем по значку его настроек. На вкладке Параметры IPv4 делаем всё как на скрине:

85b69d7dcfc1aa3dd7dcf.png.b9fc6d220c4a7fefa55d89da91b903e5.png

Теперь нам надо изменить файл /etc/resolv.conf и запретить его перезапись. Для этого открываем его текстовым редактором:

sudo nano /etc/resolv.conf

Убираем там всё что есть (а лучше закомментируем #) и вписываем:

nameserver 127.0.0.1:53

Затем запрещаем его перезапись:

sudo chattr +i /etc/resolv.conf

После всего этого перезагружаем систему.

Установка dnscrypt-proxy в Arch Linux/Manjaro

Пакет dnscrypt-proxy есть в официальных репозиториях. Открываем терминал и устанавливаем:

sudo pacman -S dnscrypt-proxy

Затем также как и в Ubuntu правим конфигурационный файл вписывая туда сервера. Далее запускаем службу:

systemctl enable dnscrypt-proxy.service
systemctl start dnscrypt-proxy.service

Далее также настраиваем соединение в NetworkManager, правим файл /etc/resolv.conf и запрещаем его перезапись. Перезагружаем систему. Проверить состояние службы можно командой:

systemctl status dnscrypt-proxy.service

Установка службы DNSCrypt-proxy в ОС Windows

1. Скачайте и установите dnscrypt-proxy для вашей архитектуры.
2. Сохраните копию исходного файла конфигурации example-dnscrypt-proxy.toml и настройте согласно вашим требованиям dnscrypt-proxy.toml.

d81afd86827951214b5f4.png.e08902923d67a60bdedabe110ae096e0.png

3. Убедитесь, что другие приложения и сервисы не прослушивают 53 порт в вашей системе и запустите приложение dnscrypt-proxy в командной строке Windows в режиме администратора системы. Измените ваши настройки DNS для настроенного IP-адреса.

В нашем случае необходимо настроить DNS на 127.0.0.1 (указанное значение для параметра listen_addresses в конфигурационном файле) в параметрах протокола TCP/IP.

f481023ddc4eea9b13d67.png.2264f9e04763ea0c5444ceb61ddb264a.png

4. Установите системную службу. Дважды щелкните по файлу service-install.bat для установки службы. Служба будет автоматически запускаться при каждой перезагрузке.

Вы можете проверить информацию о DNS с помощью сервиса http://dnsleak.com. Данные сайты возвращают информацию о вашем IP-адресе и владельце используемого DNS сервера. Если в результатах отображается сервис вашего Интернет-провайдера, то происходит утечка DNS.

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...