Este problema é resolvido com uma cadeia de confiança : cada link nesta cadeia assinou DS
registro (s) na zona anterior, como já mencionado na sua pergunta. Isso enfatiza a importância de uma âncora nos servidores de nomes raiz. Se isso foi falsificado, toda a cadeia de confiança foi comprometida. Portanto, os resolvedores devem ser pré-configurados com a âncora de confiança . RFC 6781 explica:
4.2.3. Compromises of Keys Anchored in Resolvers
A key can also be pre-configured in resolvers as a trust anchor. If trust anchor keys are compromised, the administrators of resolvers using these keys should be notified of this fact. Zone administrators may consider setting up a mailing list to communicate the fact that a SEP key is about to be rolled over. This communication will of course need to be authenticated by some means, e.g., by using digital signatures.
End-users faced with the task of updating an anchored key should always verify the new key. New keys should be authenticated out-of- band, for example, through the use of an announcement website that is secured using Transport Layer Security (TLS) [RFC5246].
Você pode fazer o download das Âncoras de confiança raiz atuais ( bind.keys
) diretamente dos Sistemas da Internet Consórcio. O site é protegido usando TLS & o arquivo também é assinado com sua chave de assinatura.
If you don’t have anything in
named.conf
and there is nobind.keys
file, named will use the compiled in keys.Note: these are managed keys, so this is only applies the first time you execute named. Assuming that the keys are not already expired (in which case named will log that the key is expired and validation will not work), named will use RFC 5011 to detect new keys and automatically roll and maintain keys. Once named is managing the keys, the current keys will be in
managed-keys.bind
or*.mkeys
, if you use views.
Outro problema é a comunicação com o seu resolvedor, a "última milha". O resolvedor pode estar validando as assinaturas e respondendo com o bit DNS Authenticated Data (AD) , mas como o DNS funciona em texto simples, os resultados podem ser modificados por um invasor man-in-the-middle (MITM). Existem várias soluções possíveis para isso:
-
Você poderia ter um próprio resolvedor local com o arquivo de chaves de ancoragem, mas essa não é uma solução prática para massas. Isso também causa mais tráfego para os servidores de nomes raiz, se não houver encaminhadores configurados. É uma solução confiável, em que você verifica as assinaturas sozinho.
-
DNS-sobre-TLS & DNS-over-HTTPS . Por exemplo. A Cloudflare, com o
1.1.1.1
, suporta ambos :What's needed is a move to a new, modern protocol. There are a couple of different approaches. One is DNS-over-TLS. That takes the existing DNS protocol and adds transport layer encryption. Another is DNS-over-HTTPS. It includes security but also all the modern enhancements like supporting other transport layers (e.g., QUIC) and new technologies like server HTTP/2 Server Push. Both DNS-over-TLS and DNS-over-HTTPS are open standards.
We think DNS-over-HTTPS is particularly promising — fast, easier to parse, and encrypted. – – We're hoping that with an independent DNS-over-HTTPS service now available, we'll see more experiments from browsers, operating systems, routers, and apps to support the protocol.
-
DNSCrypt autentica as comunicações entre um cliente DNS e um resolvedor de DNS usando assinaturas criptográficas. Isso nunca foi proposto para o IETF (não há RFC).