Перейти к основному содержанию

Как создать собственную DNS-метку для шифрованного DNS

В этой инструкции рассказывается о том, как создать собственную DNS-метку (DNS stamp) для шифрованного DNS. Шифрованный DNS — это сервис, который улучшает конфиденциальность и безопасность в интернете через шифрование DNS-запросов. Таким образом злоумышленники не смогут перехватить ваши DNS-запросы.

В шифрованном DNS обычно используются URL-адреса tls://, https:// или quic://. Этого достаточно для большинства пользователей, и мы рекомендуем использовать именно их.

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

Коротко о DNS-метках

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

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

Выбор протокола

Типы шифрованного DNS включают в себя DNS-over-HTTPS (DoH), DNS-over-QUIC (DoQ), DNS-over-TLS (DoT) и некоторые другие. Выбор одного из этих протоколов зависит от контекста, в котором вы будете их использовать.

Создание DNS-метки

  1. Откройте DNSCrypt Stamp Calculator.

  2. В зависимости от выбранного протокола выберите соответствующий протокол из раскрывающегося меню (DoH, DoT или DoQ).

  3. Заполните необходимые поля:

    • IP address: Введите IP-адрес DNS-сервера. Если вы используете протокол DoT или DoQ, убедитесь, что вы также указали соответствующий порт.
    note

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

:::

- **Hashes**: Введите SHA256-дайджест одного из сертификатов TBS, найденных в цепочке проверки. Если используемый вами DNS-сервер предоставляет готовый хеш, найдите и скопируйте его. Иначе вы можете получить его, следуя инструкциям в разделе [*Получение хеша сертификата*](#obtaining-the-certificate-hash).

:::note

Это поле необязательно

:::

- **Host name**: введите имя хоста DNS-сервера. Это поле используется для проверки имени сервера в протоколах DoT и DoQ.

- Для **DoH**:
- **Path**: введите путь для выполнения DoH-запросов. Обычно это `"/dns-query"`, но ваш провайдер может указать другой путь.

- Для **DoT и DoQ**:
- Обычно в этом инструменте нет специальных полей для этих протоколов. Убедитесь, что порт, указанный в адресе резолвера, введён правильно.

- В разделе **Properties** вы можете проверить соответствующие свойства, если они известны и применимы к вашему DNS-серверу.
  1. Ваша метка будет сгенерирована автоматически, и вы увидите ее в поле Метка.

Получение хеша сертификата

Чтобы заполнить поле Hashes of the server's certificate, можно воспользоваться следующей командой, заменив <IP_ADDRESS>, <PORT> и <SERVER_NAME> на соответствующие значения для вашего DNS-сервера:

echo | openssl s_client -connect <IP_ADDRESS>:<PORT> -servername <SERVER_NAME> 2>/dev/null | openssl x509 -outform der | openssl asn1parse -inform der -strparse 4 -noout -out - | openssl dgst -sha256
caution

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

Использование DNS-метки

Теперь у вас есть собственная DNS-метка, которую можно использовать для настройки шифрованного DNS. Эту метку можно ввести в AdGuard и AdGuard VPN для повышения конфиденциальности и безопасности в интернете.

Пример создания DNS-метки

Разберем пример создания метки для AdGuard DNS с помощью DoT:

  1. Откройте DNSCrypt Stamp Calculator.

  2. Выберите протокол DNS-over-TLS (DoT).

  3. Заполните следующие поля:

    • IP-адрес: введите IP-адрес и порт DNS-сервера. В данном случае это 94.140.14.14:853.

    • Host name: введите имя хоста DNS-сервера. В данном случае это dns.adguard-dns.com.

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

    echo | openssl s_client -connect 94.140.14.14:853 -servername dns.adguard-dns.com 2>/dev/null | openssl x509 -outform der | openssl asn1parse -inform der -strparse 4 -noout -out - | openssl dgst -sha256

    Результат: 1ebea9685d57a3063c427ac4f0983f34e73c129b06e7e7705640cacd40c371c8 Вставьте этот хеш SHA256 сертификата сервера в поле.

  4. Оставьте раздел «Свойства» пустым.

  5. Ваша метка будет сгенерирована автоматически, и вы увидите ее в поле Stamp.