Назад | Перейти на главную страницу

Используйте DNSSEC для безопасных соединений

Насколько я понимаю, DNSSEC позволяет мне создавать открытый ключ и подписывать свои записи DNS. Кажется, есть несколько способов получить запись сертификата (например, DANE см. https://wiki.mozilla.org/Security/DNSSEC-TLS-details#Embedding_Certificate_Information_in_DNS)

Я не совсем понимаю, как это работает. Я предполагаю эти шаги. Это верно?

Я чувствую, что что-то не так, и в ссылке Mozilla упоминается, что не все записи будут поддерживаться, поэтому в настоящее время это хорошо поддерживается (скажем, firefox, chrome, IOS и android), и какую запись я использую для того, что я описываю? ДЕЙН? CAA?

DNSSEC и ДЕЙН это разные вещи, но DNSSEC является предпосылкой для использования DANE.

DNSSEC позволяет проверять подлинность полученных данных DNS, не более того.

Использование DNSSEC означало бы создание ключей DNSSEC, подписание вашей зоны (что привело бы к публикации открытых ключей как DNSKEY записи, добавление RRSIG/NSEC/NSEC3 записи, основанные на ваших фактических данных зоны и т. д.), что делает делегирование подписанным путем добавления регистратором DS запись (которая определяет действительный ключ, который вы опубликовали в делегированной зоне) вместе с обычным NS / клей записи.

Использование DANE по сути сводится к добавлению TLSA сделайте запись в зоне, подписанной DNSSEC, следующим образом:

_443._tcp.example.com. IN TLSA tlsa-parameters-identifying-the-valid-certificate

(Вы можете использовать tlsa(1) из хищник для создания этой записи)

Клиент HTTPS с поддержкой DANE (в этом примере) будет знать, что они подключаются к порту 443 / tcp на example.com, и затем будет искать _443._tcp.example.com. IN TLSA, проверьте подлинность данных DNS, а затем, в свою очередь, используйте эти данные для проверки сертификата, представленного в TLS-соединении.