O comando dig
é simples:
% dig +dnssec www.isoc.org.
; <<>> DiG 9.6.0-APPLE-P2 <<>> +dnssec www.isoc.org.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49304
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;www.isoc.org. IN A
;; ANSWER SECTION:
www.isoc.org. 86382 IN A 212.110.167.157
www.isoc.org. 86382 IN RRSIG A 7 3 86400 20100706205007 20100622205007 56495 isoc.org. ETERh/blyD1LvW+hCeET9Zy/XTdTewilU8nhA5HCGtNoccdjPN/4pBg6 Vv2S/nJTZfQu7S1KwFJpijSg0n81A8Fpr1rjlS4AfKZgiSA6ureGDOzZ J4MImGFb9h1lG7qBrJ3Psmzs292obZfA98oJstsTzd4tNwFQf5bp5pDJ KoU=
Observe duas coisas:
- O
+dnssec
flag - pede ao seu servidor DNS para validar os dados da zona. - A entrada
ad
na linhaflags
da resposta. Isso confirma que os dados da zona estão corretos.
[se os dados da zona estiverem incorretos, o servidor teria retornado um erro SERVFAIL
]
No entanto, o servidor DNS não retornará esse ad
flag, a menos que tenha sido configurado para executar a validação do DNSSEC. O meu tem, claro.
Você pode habilitar o DNSSEC em seu servidor BIND recursivo adicionando as seguintes linhas ao seu arquivo named.conf
:
dnssec-enable yes;
dnssec-validation yes;
e uma cópia da chave pública da zona raiz. Outros nomes de domínio podem ser validados seguindo a cadeia de assinaturas através da hierarquia do DNS.
Você também precisará de uma versão bastante recente do seu software DNS - apenas as versões mais recentes suportam o algoritmo de criptografia RSA / SHA-256 que será usado para assinar a raiz. Isso significa BIND 9.6.2+ ou Unbound 1.4.0 +