Dnscrypt proxy debian настройка
Позже человеку кто-то добавляет информации, что это шифрование не для того, чтобы провайдер не знал, какую порнуху кто смотрит. И даже что те, для кого это шифрование предназначалось, не полностью ему доверяют и делают многофакторную аутентификацию при любом подходящем случае. А по поводу порнухи - так можно же глянуть логи DNS, если что, и, при желании, даже посмотреть то же самое.
Линукс тут при том, что для Линукс есть DoH, DoT, DNSCrypt и еще что-то такое, небось, придумали, а еще при том, что у некоторых мнение о Линукс, как о чем-то таком хакерском и скрытном, что хоть гусей весели, фиг кто узнает. Вот тот человек, поинтересовавшись, узнает о шифровании еще и dns-запросов. На этом, как видно по текстам, постам и комментариям, человек успокаивается.
Насколько понимаю, в версии TLS 1.3 есть шифрование Server Name Indication: Encrypted SNI. Не всё и не все это умеют. В Firefox где-то в семидесятых-восьмидесятых версиях это запилили, а позже пообещали ECH, Encrypted Client Hello которое молодежнее. На данный момент одно выпилено, другое не запилено. Кому прям свербит, предлагается версия 78.14.0esr, в которой ESNI еще было. Как в Chromium, не ковырял. По ощущениям - никак.
А как в интернетах? У кого-то есть. Попробовал Firefox 78.14.0esr с включенным ESNI с двумя провайдерами. У одного, большого, не стала грузиться сразу же страница с проверкой ESNI от CloudFlare. У другого, поменьше - работает. Некоторые провайдеры на всякий случай блочат ESNI, если в броузере оно включено, некоторые сайты тупо не грузятся. Причем, как заметил при беглом гуглении, как-то рандомно по шарику. В РФ ситуация среднемировая: РКН блочить ESNI не велел, но Телеком заблочил, от греха.
Вот и прикинь, юный кулхацкер, нужно ли тебе в нынешней ситуации долбаться с настройкой DNSCrypt-Proxy.
ЗЫ. Я не спец ни по сайберсесуриту, ни по психологии юных кулхацкеров. Всё выше написано в меру моего невежества. В чем я практически уверен, так это в том, что у лоровцев найдутся еще точки на эту Ё.
Хотя это не полностью скроет весь IP-трафик, он предотвратит опасные атаки подмены DNS, обеспечивая лучшую безопасность.
В Linux лучшим способом шифрования трафика DNS является использование DNSCrypt.
Установка DNSCrypt
Откройте терминал и введите команды, соответствующие вашему дистрибутиву Linux.
Ubuntu
Debian
Arch Linux
Fedora
OpenSUSE
Общий Linux
Если вы не можете найти версию DNSCrypt для своей операционной системы, то лучше всего загрузить программу непосредственно из Github.
К счастью, из-за усердия разработчика нет необходимости собирать DNSCrypt из исходников.
Вместо этого загружаются готовые бинарники.
Эти двоичные файлы будут работать во всех дистрибутивах Linux.
Чтобы скачать двоичный файл, откройте терминал и используйте инструмент загрузки wget, чтобы захватить самую последнюю версию.
или, чтобы загрузить 32-битную версию, выполните:
Знаете ли вы, что существует версия ARM версии DNSCrypt?
Этот инструмент можно использовать в операционных системах ARM Linux.
Чтобы скачать его, установите wget, откройте терминал и возьмите его с помощью следующей команды:
Чтобы начать, используйте команду «tаr» для полного извлечения содержимого архива.
Извлечение папки DNSCrypt поместит все необходимые файлы в папку Linux в /home.
Безопасно хранить эти файлы в /home/, где инструмент wget был запущен.
Хотя будьте осторожны, вы не удалите папку случайно!
С помощью команды CD перейдите к каталогу
DNSCrypt запустится, если использовать следующую команду:
Настройка DNSCrypt
Инструмент DNSCrypt находится на вашем ПК Linux и готов к работе.
Хотя, только потому, что он установлен, это не значит, что он работает.
К сожалению, вам нужно поработать с настройками DNSCrypt, чтобы заставить его работать.
Первым шагом является выбор общего DNS.
Существует множество безопасных общедоступных DNS-решений.
Важно работать с альтернативным DNS, а не придерживаться того, что предоставляет ваш интернет-провайдер, если вы хотите повысить безопасность.
На самом деле нет смысла настраивать зашифрованный DNS на Linux, если вы не скрываете его от своего провайдера.
Причина для этого провайдера проста: из всех других DNS-решений там CloudFlare неоднократно показывал, что они заботятся о конфиденциальности пользователей, когда дело доходит до DNS.
Примечание: не хотите работать с CloudFlare DNS?
Нажмите на значок своей сети и отредактируйте свое соединение по умолчанию.
Найдите параметр IPv4 и найдите «DNS-серверы».
В текстовом поле «DNS-серверы» вставьте следующий адрес:
После настройки программного обеспечения DNSCrypt настоятельно необходимо перезагрузить диспетчер сети с помощью следующей команды.
Если вы этого не сделаете, скорее всего, инструмент откажется работать.
Применение настроек DNS
Основные настройки, позволяющие работать с инструментом DNSCrypt, установлены.
Отключение DNSCrypt
Тем не менее если вы обнаружите, что-то не для вас (по какой-либо причине), вы можете отключить его.
Благодаря системе systemd init в Linux, DNSCrypt, пользователи могут запускать и останавливать ее в любое время, даже не требуя ее удаления!
Для этого откройте терминал и получите оболочку рута.
С помощью корневой оболочки вы можете манипулировать файлами службы DNSCrypt.
Чтобы остановить ее, выполните следующую команду:
Чтобы полностью отключить его и предотвратить его запуск при загрузке системы, выполните следующие действия:
Данная конфигурация поможет скрыть все DNS запросы локальных устройств из локальной сети.
В данной статье используется Unbound — высокопроизводительный, кеширующий и рекурсивный DNS сервер в сочетании с DNSCrypt-proxy — гибкий DNS-прокси с поддержкой современных зашифрованных протоколов DNS.
Установка DNSCrypt-proxy
Прописываем тестовый репозиторий
Настраиваем pinning в APT
Добавляем в файл:
Обновляемся и устанавливаем DNSCrypt-proxy
Проверяем работоспособность прокси:
Делаем запрос к прокси:
Если выскакивает ошибка [FATAL] Unable to load the configuration file [dnscrypt-proxy.toml] -- Maybe use the -config command-line switch?
То выполняем следующее:
На данном этапе мы получаем рабочий dnscrypt-proxy который слушает 53 порт и если вам не нужны расширенные возможности DNS сервера Unbound то дальнейшую установку можно опустить, взяв во внимание только пункт по настройке dnscrypt-proxy.toml
Настройка DNSCrypt-proxy
Заменяем содержимое файла на:
Заменяем содержимое файла на:
Установка Unbound
Настройка Unbound
Создаем дополнительный файл конфигурации
И добавляем туда следующую конфигурацию.
Проверяем конфигурацию на наличие ошибок:
Если появляется ошибка fatal error: logfile directory does not exist
То выполняем следующее:
Перезагружаем службу unbound
Проверяем работоспособность утилитой dig из пакета dnsutils
Некоторое описание значений
Параметр num-threads указывает количество потоков
Параметры msg-cache-slabs , rrset-cache-slabs , infra-cache-slabs и key-cache-slabs должны быть установлены степенями двойки, максимально близкими к num-threads.
Параметр outgoing-range указывает количество портов которые могут быть открыты
Параметры msg-cache-size , rrset-cache-size и key-cache-size указывает на объем кэша, при этом rrset-cache-size должен быть в два раза больше msg-cache-size.
Параметр cache-max-ttl указывает максимальное время жизни записи в кэше.
Параметр cache-min-ttl указывает минимальное время жизни записи где по умолчанию стоит 0. Ноль указывает что время жизни записи будет таким-же как установил владелец домена.
Если не работает лог.
Если записей в логе нет, а при запуске unbound в syslog пишется что нет доступа к файлу, то сначала проверьте права на этот файл. Права на запись должны быть выданы группе и пользователю unbound , который создается автоматически при установке сервера.
Стандартный протокол DNS во время передачи трафика не использует шифрование, что тем самым делает его уязвимым. Подобная передача трафика может использоваться в атаках и также является уязвимой.
Для шифрования DNS трафика установим программу Stubby. Stubby - программа с открытым исходным кодом, которая работает в качестве локального приватного DNS резолвера. Для шифрования трафика использует метод DNS поверх TLS.
Перейдем к установке программы.
Для Ubuntu и подобных дистрибутивов:
Для ArchLinux и подобных дистрибутивов
По умолчанию используется шифрование через резолверы Sinodun и другие. Если мы хотим поменять резолверы например на Cloudflare или Comss.one DNS, то нам нужно будет отредактировать конфигурационный файл.
Перейдем к редактированию конфигурационного файла программы:
А в случае Comss.one DNS добавляем следующие строки:
Сохраняем изменения комбинацией клавиш ctrl+o и ctrl+x.
Затем переходим в параметры сети и меняем DNS на следующее значение: 127.0.0.1
Если вы не используете systemd-resolved, и отключили его, например из-за утечки DNS в OpenVPN, то тогда вам нужно внести изменения в файл resolv.conf:
Заменяем строку nameserver на следующие две строки:
Сохраняем изменения комбинацией клавиш ctrl+o и ctrl+x. А так же сохраняем файл от дальнейшей перезаписи:
Запускаем приложение Stubby и включаем его службу:
Как проверить шифрование DNS трафика в GNU/Linux
Проверить шифрования DNS трафика в GNU/Linux можно с помощью следующих утилит Wireshark и Termshark. Мы воспользуемся Termshark.
Для работы Termshark необходимо установить следующий пакет:
для Ubuntu и подобных дистрибутивов:
для ArchLinux и подобных дистрибутивов:
Добавляем себя в группу wireshark:
Где username это имя пользователя.
Теперь можно скачать архив с файлом, который доступен по ссылке ниже.
Разархивируем архив, открываем терминал в папке с файлом и запускаем программу:
В строке Filter вводим слово DNS и нажимаем на кнопку Apply.
Читайте также: