Eu tenho feito um esforço para obter o DNSSEC completo no meu sistema com a seguinte configuração:
dnscrypt-proxy
instalado, funcionando em 127.0.0.1 comrequire_dnssec = true
- execução resolvida pelo systemd, com
DNSSEC=yes
eDNS=127.0.0.1
- apenas
nameserver 127.0.0.1
em/etc/resolv.conf
- conectado através do NetworkManager a uma rede WiFi sobre a qual conheço os conjuntos de configuração DHCP 8.8.8.8 e 8.8.8.4 como servidores DNS
/run/systemd/resolve/resolv.conf
lista 8.8.8.8 e 8.8.8.4 abaixo de 127.0.0.1.
resolvectl status
mostra
DNSSEC setting: yes
DNSSEC supported: yes
Current DNS Server: 127.0.0.1
DNS Servers: 127.0.0.1
na seção Global, mas
DNSSEC setting: yes
DNSSEC supported: yes
Current DNS Server: 8.8.8.8
DNS Servers: 8.8.8.8
8.8.8.4
na seção da minha interface (por quê?).
tcpdump
não mostra nenhuma atividade no udp:53 ao usar um navegador da Web, dig ou outro uso normal. Isso significa que meu dnscrypt-proxy local está lidando com todas as solicitações de DNS no meu sistema. Também presumo que, devido às definições de configuração mencionadas acima, vou usar o DNSSEC até o fim.
No entanto, de tempos em tempos o diário contém linhas como:
Nov 30 09:10:41 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question v.dropbox.com IN SOA: failed-auxiliary
Nov 30 09:10:41 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question bolt.v.dropbox.com IN DS: failed-auxiliary
Nov 30 09:10:41 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question bolt.v.dropbox.com IN SOA: failed-auxiliary
Nov 30 09:10:41 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question bolt.v.dropbox.com IN A: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question v.dropbox.com IN SOA: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question d.v.dropbox.com IN A: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question v.dropbox.com IN SOA: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question d.v.dropbox.com IN A: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question d2e801s7grwbqs.cloudfront.net IN SOA: failed-auxiliary
Nov 30 09:10:43 tuxifaif systemd-resolved[179937]: DNSSEC validation failed for question d2e801s7grwbqs.cloudfront.net IN A: failed-auxiliary
resolvectl query v.dropbox.com
resulta no mesmo erro de validação DNSSECdig v.dropbox.com
funciona muito bemdig v.dropbox.com @8.8.8.8
também funciona muito bem (é claro, resultando em duas linhas de saída paratcpdump
)
Eu também verifiquei https://dnsleaktest.com , que me diz que muitos servidores 172.253.xx estão recebendo uma solicitação para resolver nomes de domínio que eu digito no meu navegador. Esses IPs parecem ser de propriedade do Google.
Então o que isso quer dizer? Existe alguma consulta (não DNSSEC) acontecendo neste sistema?
Quaisquer insights são apreciados!
Se ambos
dnscrypt-proxy
esystemd-resolved
estiverem usando127.0.0.1:53
, esse não deve ser o caso. Você precisa desabilitarsystemd-resolved
conforme recomendado pelo dnscrypt-proxy wiki e também bloquear/etc/resolv.conf
possíveis alterações feitas pelo seu Network Manager. Então, aqui estão os passos:systemd-resolved
:Verifique se há mais alguma coisa usando o mesmo
address:port
par quednscrypt-proxy
:sudo ss -lp 'sport = :domain'
. Se houver, desative-os.Se
dnscrypt-proxy
estiver escutando127.0.0.1:53
eresolv.conf
tivernameserver 127.0.0.1
, adicioneoptions edns0
(necessário para habilitar extensões de segurança DNS) abaixo danameserver
entradaresolv.conf
para que fique assim:/etc/resolv.conf
para alterações:sudo chattr +i /etc/resolv.conf
.dnscrypt-proxy
.No geral, o ponto é garantir que:
dnscrypt-proxy
está usando127.0.0.1:53
resolv.conf
tem o mesmo endereço usado pordnscrypt-proxy
resolv.conf
está protegido contra alterações feitas por outro software, como o Network Manager.Além disso, só porque o teste dnsleak mostra os IPs do Google não significa que o serviço de resolução de DNS seja operado pelo Google. Pode ser que os servidores sejam de propriedade do Google, mas operados por outra entidade. Se você não quiser, pode escolher um resolvedor diferente da lista de resolvedores públicos dnscrypt-proxy . Certifique-se de que o
dnssec
suporte esteja presente para o resolvedor selecionado. Eu pessoalmente uso os resolvedores dnscrypt.eu, que são habilitados para no-log, no-filter, não-google e dnssec.Referências: