Что такое перехват dns и как его избежать?

Что такое атака dns hijacking и как ее предотвратить?

Скрещивание с TLS

У DNS по TLS (Transport Layer Security) несколько преимуществ перед DNSCrypt. Во-первых, это предлагаемый стандарт IETF . Также он довольно просто работает по своей сути — принимает запросы стандартного формата DNS и инкапсулирует их в зашифрованный TCP-трафик. Кроме шифрования на основе TLS, это по существу то же самое, что и отправка DNS по TCP/IP вместо UDP.

Существует несколько рабочих клиентов для DNS по TLS. Самый лучший вариант, который я нашел, называется Stubby, он разработан в рамках проекта DNS Privacy Project . Stubby распространяется в составе пакета Linux, но есть также версия для MacOS (устанавливается с помощью Homebrew) и версия для Windows, хотя работа над последней ещё не завершена.

Хотя мне удалось стабильно запускать Stubby на Debian после сражения с некоторыми зависимостями, этот клиент регулярно падал в Windows 10 и имеет тенденцию зависать на MacOS. Если вы ищете хорошее руководство по установке Stubby на Linux, то лучшая найденная мной документация — это пост Фрэнка Сантосо на Reddit . Он также написал shell скрипт для установки на Raspberry Pi.

Положительный момент в том, что Stubby допускает конфигурации с использованием нескольких служб на основе DNS по TLS. Файл конфигурации на YAML позволяет настроить несколько служб IPv4 и IPv6 и включает в себя настройки для SURFNet, Quad9 и других сервисов. Однако реализация YAML, используемая Stubby, чувствительна к пробелам, поэтому будьте осторожны при добавлении новой службы (например, Cloudflare). Сначала я использовал табы — и всё поломал.

Клиенты DNS по TLS при подключении к серверу DNS осуществляют аутентификацию с помощью простой инфраструктуры открытых ключей (Simple Public Key Infrastructure, SPKI). SPKI использует локальный криптографический хэш сертификата провайдера, обычно на алгоритме SHA256 . В Stubby этот хэш хранится как часть описания сервера в файле конфигурации YAML, как показано ниже:

— address_data: 1.1.1.1
tls_auth_name: «cloudflare-dns.com»
tls_pubkey_pinset:
— digest: «sha256»
value: yioEpqeR4WtDwE9YxNVnCEkTxIjx6EEIwFSQW+lJsbc=
— address_data: 1.0.0.1
tls_auth_name: «cloudflare-dns.com»
tls_pubkey_pinset:
— digest: «sha256»
value: yioEpqeR4WtDwE9YxNVnCEkTxIjx6EEIwFSQW+lJsbc=

После установления TCP-соединения клиента с сервером через порт 853 сервер представляет свой сертификат, а клиент сверяет его с хэшем. Если всё в порядке, то клиент и сервер производят рукопожатие TLS, обмениваются ключами и запускают зашифрованный сеанс связи. С этого момента данные в зашифрованной сессии следуют тем же правилам, что и в DNS по TCP.

После успешного запуска Stubby я изменил сетевые настройки сети DNS, чтобы направлять запросы на 127.0.0.1 (localhost). Сниффер Wireshark хорошо показывает этот момент переключения, когда трафик DNS становится невидимым.

Переключаемся с обычного трафика DNS на шифрование TLS

Хотя DNS по TLS может работать как DNS по TCP, но шифрование TLS немного сказывается на производительности. Запросы dig к Cloudflare через Stubby у меня выполнялись в среднем около 50 миллисекунд (у вас результат может отличаться), в то время как простые DNS-запросы к Cloudflare получают ответ менее чем за 20 мс.

Частично замедление работы происходит на стороне сервера из-за лишнего использования TCP. Обычно DNS работает по быстрому протоколу UDP: отправил и забыл, в то время как сообщение TCP требует согласования соединения и проверки получения пакета. Основанная на UDP версия DNS по TLS под названием DNS over Datagram Transport Layer Security (DTLS) сейчас в экспериментальной разработке — она может увеличить производительность протокола.

Здесь тоже имеется проблема с управлением сертификатами. Если провайдер удалит сертификат и начнёт использовать новый, то в настоящее время нет чистого способа обновления данных SPKI на клиентах, кроме вырезания старого и вставки нового сертификата в файл конфигурации. Прежде чем с этим разберутся, было бы полезно использовать какую-то схему управления ключами. И поскольку сервис работает на редком порту 853, то с высокой вероятностью DNS по TLS могут заблокировать на файрволе.

Но это не проблема для лидера нашего хит-парада — DNS по HTTPS. Он проходит через большинство файрволов, словно тех не существует.

Google и Cloudflare, похоже, одинаково видят будущее зашифрованного DNS

Теперь поменяем системные настройки DNS

Откройте настройки сети, для этого нажмите
Win+i, затем выберите «Сеть и Интернет». И нажмите кнопку «Настройка параметров адаптера».

Кликните правой кнопкой мыши по сетевому адаптеру, который используется для выхода в Интернет, и выберите «Свойства».

Найдите и дважды кликните пункт
IP версии 4 (TCP/IPv4).

В открывшемся окне поставьте переключатель на «Использовать следующие адреса DNS-серверов» и впишите
127.0.0.1:

В качестве резервного DNS сервера впишите «8.8.8.8».

Если ваш Интернет провайдер поддерживает IPv6, то повторите эту же процедуру для «IP версии 6 (TCP/IPv6)», но в качестве IPv6 адресов используйте «::1» и «2001:4860:4860::8888».

Откройте ещё одно окно командной строки и выполните там:

C:\nscrypt-proxy\dnscrypt-proxy -resolve hackware.ru

Также в командной строке проверим IP адрес домена с помощью утилиты
nslookup:

nslookup hackware.ru

Обратите внимание на строку:

Address: 127.0.0.1

Она означает, что IP адресом DNS сервера является
127.0.0.1.

Проверьте работу операционной системы — откройте веб сайты, загрузите файлы, используйте свою систему обычным образом, чтобы проверить, что нет никаких проблем с DNS.

Если что-то пошло не так и вы хотите вернуть всё назад, то откройте настройки сетевого адаптера, как это показано чуть выше и переключитесь на автоматическое получение адреса DNS-сервера.

Если всё нормально, то нажмите
Ctrl+C в первом терминале, где запущен dnscrypt-proxy чтобы остановить DNS прокси.

Теперь зарегистрируйте его как системную службу (эту команду нужно выполнить в окне с повышенными привилегиями, то есть с правами администратора):

C:\nscrypt-proxy\dnscrypt-proxy -service install

Если не появились ошибки, то это прекрасно! Значит ваша версия Windows совместима со встроенным установщиком.

Теперь, когда служба установлена, запустите её:

C:\nscrypt-proxy\dnscrypt-proxy -service start

Всё готово! При перезагрузке компьютера, данная служба будет запускаться автоматически.

Если нужно остановить службу, то выполните:

C:\nscrypt-proxy\dnscrypt-proxy -service stop

Чтобы перезапустить запущенную службу (например, после изменения конфигурационного файла) выполните:

C:\nscrypt-proxy\dnscrypt-proxy -service restart

Для удаления службы выполните:

C:\nscrypt-proxy\dnscrypt-proxy -service uninstall

Для проверки DNS сервера используйте команду:

C:\nscrypt-proxy\dnscrypt-proxy -resolve example.com

Чтобы полностью удалить dnscrypt-proxy сервер выполните:

C:\nscrypt-proxy\dnscrypt-proxy -service uninstall

А затем удалите папку C:\nscrypt-proxy — всё готово!

Атака на последовательность TCP

Этот тип атаки состоит из попытки предсказать порядковый номер TCP-трафика с целью идентификации пакетов TCP-соединения и перехвата сеанса. Типичным примером является сценарий, в котором злоумышленник отслеживает поток данных между двумя компьютерами, злоумышленник может прервать связь с реальным компьютером и установить себя как реальный компьютер, предсказывая порядковый номер следующего TCP-пакета. Злоумышленник «убьет» реальный компьютер, используя атаку отказа в обслуживании (DoS) или что-то подобное.

Благодаря такому предсказанию порядкового номера пакет сможет достичь пункта назначения раньше, чем какая-либо информация от легитимного хоста, поскольку последний подвергается DoS-атаке и не позволит установить связь с хостом-жертвой. Этот пакет от злоумышленника может быть использован для получения доступа к системе, принудительного разрыва соединения или прямой отправки вредоносной полезной нагрузки.

Как предотвратить атаку последовательности TCP?

В 2012 году IETF выпустила новый стандарт, чтобы установить улучшенный алгоритм и предотвратить возможность злоумышленника угадать начальный порядковый номер в TCP-коммуникациях. Этот стандарт разработан для повышения устойчивости TCP-коммуникаций к прогнозируемому анализу и мониторингу злоумышленников. В настоящее время все операционные системы используют этот новый стандарт для предотвращения этой атаки, поэтому злоумышленник не сможет предсказать порядковые номера, но злоумышленники при определенных обстоятельствах все еще могут их угадать, хотя это намного сложнее, чем раньше.

Атаки на DNS

  • подмена DNS или «отравление» кэша: использование уязвимости системы для управления кэшем DNS с целью перенаправления пользователей в другое место
  • DNS-туннелирование: в основном используется для обхода средств защиты от удаленных подключений
  • перехват DNS: перенаправление обычного трафика DNS на другой целевой DNS-сервер путем изменения регистратора домена
  • атака NXDOMAIN: проведение DDoS-атаки на авторитетный сервер DNS путем отправки неправомерных доменных запросов для получения принудительного ответа
  • фантомный домен: заставляет DNS-преобразователь (DNS resolver) ждать ответа от несуществующих доменов, что приводит к снижению производительности
  • атака на случайный субдомен: взломанные хосты и ботнеты проводят DDoS-атаку на действующий домен, но сосредотачивают огонь на ложных субдоменах, чтобы принудить DNS-сервер выполнять поиск записей и захватить управление над службой
  • блокировка домена: представляет собой отправку множества спам-откликов для блокировки ресурсов DNS-сервера
  • ботнет-атака с абонентского оборудования: совокупность компьютеров, модемов, роутеров и других устройств, концентрирующих вычислительную мощность на определенном веб-сайте для его перегрузки запросами трафика

Как защититься от перехвата DNS?

Как защититься от перехвата DNS?

Как защититься от перехвата DNS?

Атаки DNS-перехвата особенно коварны. Возможно, вы атакованы DNS-хакером, и иногда вы даже не узнаете об этом

Вот почему лучше предпринять меры предосторожности и повысить безопасность, а не сожалеть позже

Во-первых, лучше поддерживать безопасность на высоком уровне, используя самые распространенные методы защиты. Есть некоторые основные вещи, которые нужно обязательно использовать, такие как:

  • Наличие обновленного программного обеспечения безопасности
  • Убедитесь, что исправления безопасности не повреждены, прежде чем выходить в интернет
  • Не нажимайте на подозрительные ссылки и не открывайте неизвестные электронные письма.

Помимо этого есть много других проверенных и проверенных способов избежать взлома DNS:

1. Часто обновляйте пароль вашего роутера:

1. Часто обновляйте пароль вашего роутера:

1. Часто обновляйте пароль вашего роутера:

В маршрутизаторы обычно оснащены по умолчанию заводской пароль. Чтобы оставаться защищенным, лучше постоянно менять настройки маршрутизатора.

Если хакер решит нацелиться на ваш роутер и попытаться получить к нему доступ для внесения изменений, он получит пользовательский пароль, а не заводской. Это может помочь предотвратить доступ хакера к маршрутизатору.

2. Подписаться на услугу VPN:

2. Подписаться на услугу VPN:

2. Подписаться на услугу VPN:

VPN лучше всего известны для защиты вашей конфиденциальности. Они, как известно, являются наиболее эффективным способом защиты от перехвата DNS.

VPN зашифровывает ваши данные и воспринимает их через туннель, поэтому их невозможно узнать всем, у кого нет ключа шифрования.

3. Не будь в темноте:

3. Не будь в темноте:

3. Не будь в темноте:

Поскольку вы осведомлены о возможных DNS-атаках, то выход из ситуации – знать, подвергаетесь ли вы DNS-атакам или нет.

Лучший способ отследить перехват DNS – использовать утилиту ping. Это метод, при котором вы пытаетесь пропинговать домен, которого, как вы уверены, не существует.

Если неизвестный домен разрешается, то есть вероятность того, что вы находитесь под атакой DNS.

Графические оболочки

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

DNSCrypt WinClient

Одной из графических оболочек является DNSCrypt WinClient. Она позволяет сделать почти все те же действия, что и оригинальная DNSCrypt, кроме шага проверки работоспособности выбранного сервера (шаг 5 основного раздела). Выполните его, если хотите, а остальное вы можете сделать с помощью этой программы.

Итак, идите на сайт WinClient и загрузите её последнюю на данный момент версию. Для вашего удобства сохраните файл dnscrypt-winclient.exe в той же директории, где вы установили DNSCrypt, а затем запустите его от имени администратора (как это сделать, рассказано в описании шага 4). Согласившись с предупреждением системы о запуске программы с администраторскими правами, вы увидите основное окно WinClient. Перейдите во вкладку «Config».

В зависимости от того, запущен ли у вас уже клиент DNSCrypt, некоторые надписи будут отличаться от того, что показано на приведённой картинке: левая кнопка будет иметь надпись «Install» (DNSCrypt не установлен или не запущен) или «Uninstall» (DNSCrypt в данный момент запущен), а правая кнопка, соответственно, «Start» или «Stop». В этом окне вы можете сделать те же самые шаги, что делали в основном разделе: выбрать подходящий вам сервер DNSCrypt (выпадающий список «Select Provider») и запустить ваш клиент с соответствующей настройкой. Нажимая на «Install», вы устанавливаете клиент как службу Windows, а нажимая на кнопку снова, удаляете эту службу. Нажимая «Start» / «Stop», вы запускаете и останавливаете клиент в обычном режиме, например, если вы не уверены в работоспособности выбранного сервера DNSCrypt и хотите временно запустить клиент, чтобы проверить его работу.

Когда вы настроили службу и запустили её, вы можете закрыть окно программы.

Единственным недостатком программы на данный момент является то, что, запускаясь, она не определяет выбранный вами сервер DNSCrypt и всегда выделяет первый элемент из списка доступных серверов (он берётся из того же файла dnscrypt-resolvers.csv). Имея это в виду, можно управлять вашим клиентом DNSCrypt удобней, чем в консоли.

DNSCrypt Windows Service Manager

Другой графической оболочкой является DNSCrypt Windows Service Manager. Функционально она почти не отличается от DNSCrypt WinClient, но имеет небольшое преимущество: она правильно показывает выбранный вами сервер DNSCrypt.

Распакуйте скаченный архив — в нём папка «win64». Переименуйте эту папку в «dnscrypt-proxy» и переместите в корень диска C:\. Таким образом, папка и все файлы расположены по пути C:\dnscrypt-proxy\.

Откройте командную строку с правами администратора. Для этого нажмите Win+x и выберите «PowerShell (администратор)».

Выполните там команды:

При запуске nscrypt-proxy загружает списки DNS серверов с шифрованием, тестирует доступность и скорость отклика DNS серверов с поддержкой шифрования.

Если всё запустилось нормально, то продолжайте, здесь же несколько подсказок для тех, у кого возникла ошибка:

  • dnscrypt-proxy.toml: no such file or directory (dnscrypt-proxy.toml — нет такого файла или директории): скопируйте файл с образцом конфигурации и назовите его dnscrypt-proxy.toml как это написано выше.
  • listen udp 127.0.0.1:53: bind: permission denied (отклонён запрос на прослушивание порта): вы используете PowerShell без прав администратора, об этом также сказано выше.
  • listen udp 127.0.0.1:53: bind: address already in use (порт 53 уже используется): какая-то программа уже прослушивает DNS порт. Может быть какая-то другая программа, а может быть предыдущий экземпляр dnscrypt-proxy, который вы не остановили перед запуском нового.

Нет ошибок? Отлично!

Пока не закрывайте терминал. В дальнейшем мы установим dnscrypt-proxy как системную службу и нам не нужно будет каждый раз запускать её в командной строке. Но пока мы этого не сделали, dnscrypt-proxy будет работать только пока не закрыто окно консоли.

Configuration

The default configuration file referred to is at /etc/dnscrypt-proxy/dnscrypt-proxy.toml .

Tip: While dnscrypt-proxy has no manual currently, the project maintains an extensive configuration wiki.

Startup

Note: Even though there are two ways to start the proxy, upstream recommends the service one.

The service can be started in two mutually exclusive ways (i.e. only one of the two may be enabled):

  1. With the systemd service dnscrypt-proxy.service .
  2. Through socket activation using dnscrypt-proxy.socket .

Select resolver

By leaving server_names commented out in the configuration file, dnscrypt-proxy will choose the fastest server from the sources already configured under . The lists will be downloaded, verified, and automatically updated . Thus, configuring a specific set of servers is optional.

To manually set which server is used, uncomment the server_names variable in the configuration file and select one or more of the servers. For example, to use Cloudflare’s servers:

server_names = 

A full list of resolvers is located at the upstream page or Github. If dnscrypt-proxy has run successfully on the system before, /var/cache/dnscrypt-proxy/public-resolvers.md will also contain a list. Look at the description for servers note which validate DNSSEC, do not log, and are uncensored. These requirements can be configured globally with the require_dnssec , require_nolog , require_nofilter options.

Disable any services bound to port 53

Tip: If using #Unbound as your local DNS cache this section can be ignored, as unbound runs on port 53 by default.

To see if any programs are using port 53, run:

The factual accuracy of this article or section is disputed.

Reason: systemd-resolved listens on 127.0.0.53:53, it should not affect dnscrypt-proxy that listens on 127.0.0.1:53. (Discuss in Talk:Dnscrypt-proxy)

If the output contains more than the first line of column names, you need to disable whatever service is using port 53. One common culprit is systemd-resolved.service (NetworkManager#Unit dbus-org.freedesktop.resolve1.service not found), but other network managers may have analogous components. You are ready to proceed once the above command outputs nothing more than the following line:

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port

Modify resolv.conf

This article or section needs expansion.

Modify the resolv.conf file and replace the current set of resolver addresses with the address for localhost and options :

nameserver ::1 nameserver 127.0.0.1 options edns0

Other programs may overwrite this setting; see resolv.conf#Overwriting of /etc/resolv.conf for details.

Start systemd service

Finally, start/enable the dnscrypt-proxy.service unit or dnscrypt-proxy.socket , depending on which method you chose above.

Check if dnscrypt-proxy is working

Open the browser and head to DnsLeakTest and do an extended test, if the results show servers that you have set in the configuration files it means that dnscrypt-proxy is working, otherwise something is wrong.

Сканирование портов

В любом пентестинге сканирование портов — это первое, что нужно сделать, чтобы попытаться взломать цель. Это один из методов распознавания, который чаще всего используется киберпреступниками для обнаружения уязвимых служб с открытыми портами, если используется брандмауэр и даже какую операционную систему использует жертва. Все компьютеры, подключенные к локальной сети или Интернету, используют большое количество служб, которые прослушивают определенные порты TCP и UDP. Это сканирование портов позволяет нам узнать, какие порты открыты и даже какая служба за ними стоит, чтобы воспользоваться уязвимостью этой службы.

При сканировании портов мы будем отправлять сообщения на каждый порт, одно за другим, в зависимости от типа полученного ответа порт будет открыт, отфильтрован или закрыт. Одной из наиболее часто используемых программ для сканирования портов является Nmap, это швейцарский армейский нож сканирования портов, потому что у нас также есть Nmap NSE, который позволяет вам использовать сценарии для использования известных уязвимостей или для атаки Samba, FTP, SSH-серверов и т. Д.

Также очень важно знать, какие порты у нас открыты, потому что порт определяет службу, работающую в системе. Например, протокол FTP использует порт 21, если он открыт, это может быть связано с тем, что у нас есть FTP-сервер, который слушает, и мы можем атаковать его

Сканирование портов — это первый этап пентестинга.

Как предотвратить сканирование портов?

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

Чтобы ограничить информацию, которую мы собираемся предоставить злоумышленнику при сканировании портов, мы должны сделать следующее:

  • Закройте все порты в брандмауэре, кроме тех, которые должны быть открыты для правильного функционирования системы.
  • Использование ограничительной политики брандмауэра открывает только то, что будет использоваться.
  • Закройте ненужные службы операционной системы.
  • Настройте веб-службы, SSH, FTP-службы таким образом, чтобы они предоставляли нам такую ​​информацию, как номер версии, чтобы избежать использования возможных уязвимостей.
  • Используйте TCP Wrappers, оболочку TCP, которая предоставит администратору большую гибкость при разрешении или запрете доступа к определенным службам.
  • Используйте такие программы, как fail2ban, для блокировки IP-адресов, которые проводят атаки.
  • Используйте IDS / IPS, такие как Snort или Suricata, для блокировки IP-адресов злоумышленников.

Установка DNSCrypt (dnscrypt-proxy) в Windows, Linux и MacOS

Установки службы DNSCrypt-proxy в ОС Windows, Linux и MacOS для шифрования DNS трафика между пользователем и защищенными DNS-серверами. Это позволяет предотвратить попытки отслеживания, перехвата DNS и MITM-атаки

DNSCrypt — это спецификация, реализованная в программном обеспечении unbound, dnsdist, dnscrypt-wrapper и dnscrypt-proxy.

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

Настройка dnscrypt-proxy

1. Скачайте и установите dnscrypt-proxy для выбранной системы (Windows, Linux, MacOS):

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

Наш пример настройки файла dnscrypt-proxy.toml. Список общедоступных DNS-резольверов доступен по этой ссылке.

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

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

4. Установите системную службу.

Установка системной службы dnscrypt-proxy (Windows, Linux, MacOS)

В командной строке, запущенной с правами администратора, введите следующую команду dnscrypt-proxy -service install для регистрации dnscrypt-proxy в качестве системной службы, а затем введите команду dnscrypt-proxy -service start для запуска службы.

В Windows данный шаг не требуется. Просто дважды щелкните по файлу server-install.bat для установки службы.

Служба будет автоматически запускаться при каждой перезагрузке.

Процедура установки совместима с операционными системами Windows, Linux (systemd, Upstart, SysV) и macOS (launchd).

Другие полезные команды: stop , restart (полезна при изменении конфигурации) и uninstall .

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

Используемые сервера можно оставить по умолчанию, а можно отредактировать файл конфигурации и указать нужные сервер, для этого нужно раскомментировать (убирать значок #) строку server_names (и заменяем имена серверов на нужные нам). Для сохранения изменений нажимаем CTRL+O соглашаемся на изменения и затем CTRL+X для закрытия. Либо от имени Администратора в текстовом редакторе правим файл dnscrypt-proxy.toml расположенный в /etc/dnscrypt-proxy/.

В настройках сети — IPV4 — DNS — отключаем Автоматический и ставим 127.0.2.1 . Перезапускаем NetworkManager:

Установка системной службы dnscrypt-proxy (Arch Linux, Manjaro)

2. Активируйте и запустите службу:

В настройках сети — IPV4 — DNS — отключаем Автоматический и ставим 127.0.0.1 . Перезапускаем NetworkManager:

3. Проверьте, был ли успешен запуск службы:

Проверка работы

Проверьте, что все работает корректно. DNS-запрос для resolver.dnscrypt.info должен возвращать один из выбранных DNS-серверов вместо серверов вашего провайдера

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

Так же проверить шифрование DNS трафика можно с помощью утилиты Wireshark — анализатор трафика компьютерных сетей. Программа доступна для операционных систем Windows и GNU/Linux.

Установка Wireshark в Ubuntu и подобные дистрибутивы:

В окне программы выбираем нужный сетевой интерфейс и нажимаем Enter. В следующей окне, в графе Filter вводим слово DNS и снова нажимаем Enter.

Пример отсутствия шифрования DNS запросов:

Пример шифрования DNS запросов с помощью dnscrypt-proxy:

Тот же сетевой интерфейс, тот же фильтр — DNS, но запросы не отображены, т.к зашифрованы.

Simple DNSCrypt для Windows

Для Windows также можно использовать Simple DNSCrypt — инструмент для настройки шифрования DNSCrypt на компьютерах Windows с помощью простого в использовании интерфейса.

Как избежать перехвата DNS в домене

Используйте обновленное программное обеспечение

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

Важно, чтобы у нас всегда были правильно установлены последние версии. Это то, что мы должны применять во всех случаях, независимо от того, какое у нас программное обеспечение

Таким образом мы не только добьемся улучшения производительности, но и избежим проблем с безопасностью.

Изменить пароль и логин

Еще один очень важный момент — иметь password это сильно и сложно. Первым делом нужно изменить пароль и имя доступа, которые могут быть установлены по умолчанию. Также интересно часто менять его, чтобы снизить риски.

Надежный пароль — это пароль, содержащий буквы (в верхнем и нижнем регистре), цифры и другие специальные символы, которые могут затруднить его взломщику. Всегда все это случайным образом, и мы не должны использовать это где-либо еще.

Просмотрите все установленные плагины

Также важно проверьте плагины и надстройки, которые мы установили. Во многих случаях они представляют собой проникновение угроз, которые могут поставить под угрозу наши системы и, в данном случае, наш домен

Это еще одна проблема, которая может привести к перехвату DNS.

Поэтому мы всегда советуем убедиться, что те плагины или надстройки, которые мы установили, безопасны. Мы должны загружать их с официальных сайтов, избегая, таким образом, сторонних страниц, которые не предоставляют гарантий.

Инструменты безопасности

Наконец, имея средства безопасности на наших серверах также поможет снизить риск. В нашем распоряжении есть множество приложений для защиты оборудования. У нас всегда должны быть программы такого типа, которые помогают нам обрести безопасность.

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

Чем мониторить

Каким же образом можно отслеживать подозрительный DNS-трафик с помощью систем безопасности и резолверов?

Один из простейших вариантов — это использование анализаторов трафика, таких как Wireshark или tcpdump. С их помощью аналитик может выявить вредоносные потоки данных. Для этого стоит записать и открыть фильтр DNS-трафика между клиентами и собственным DNS-сервером, а затем сохранить его в файле PCAP и создать скрипты для поиска образцов подозрительных действий. Но это — весьма объёмный ручной труд, а файлы PCAP требуют большого количества свободного пространства на диске.

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

Современные NGFW охватывают большой набор средств детектирования аномалий и защиты от них в DNS-трафике. Помимо предотвращения DDoS-атак с использованием DNS настраиваемые политики позволяют обнаружить DNS-запросы в обход серверов, используемых по умолчанию. Ежедневно обновляемые репутационные базы дают возможность детектировать соединения с известными C&C-серверами. Механизм DNS Sinkholing помогает идентифицировать заражённые хосты в защищённой сети с использованием трафика DNS в ситуациях, когда брандмауэр не может видеть DNS-запрос инфицированного клиента (или, точнее, не может видеть отправителя DNS-запроса); он используется для подмены DNS-серверов, предотвращая разрешение имён узлов указанных URL-адресов. Этого можно добиться настроив переадресацию DNS, чтобы вернуть ложный IP-адрес в ответ на запрос по определённому URL-идентификатору. Большинство вендоров активно внедряет в свои продукты NGFW дополнительные модули анализа DNS-трафика в режиме реального времени, в том числе — используя технологии машинного обучения, что позволяет контролировать нежелательные домены, командные серверы, DNS-туннели и вредоносные программы, использующие DGA.

Одним из методов протоколирования DNS-запросов, позволяющих восстанавливать историю изменений данных с возможностью индексации и поиска, является метод Passive DNS. Пассивная репликация DNS — это технология, которая создаёт копии зон без сотрудничества с их администраторами, на основе полученных ответов от сервера имён.  Основная идея пассивного DNS заключается в следующем:

  • межсерверные DNS-сообщения захватываются датчиками и отправляются в точку сбора для анализа;
  • после обработки отдельные записи DNS хранятся в базе данных, где они могут быть проиндексированы и откуда их можно запрашивать.

Таким образом, пассивный DNS — потенциальный источник ответов на ряд вопросов: «куда это имя домена указывало в прошлом?», «какие доменные имена размещаются этим сервером имён?», «какие доменные имена указывают на данную IP-сеть?», «какие субдомены существуют под определённым доменным именем?». 

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

Функциональные возможности названных выше систем «из коробки» не всегда удовлетворяют запросы потребителя. В таких случаях оптимальным решением будет сбор журналов DNS в системы лог-менеджмента или анализа событий, такие как SIEM или ELK. С их помощью возможно создать собственные настройки правил мониторинга, а также проводить профилирование своей инфраструктуры для выявления аномалий в DNS-трафике.

Понравилась статья? Поделиться с друзьями:
Гуру настройки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: