domenica 11 ottobre 2020

DNSSEC: una guida ragionata all’implementazione - Parte III

Reissblog riprende la saga su DNSSEC, scritta dal mio amico Antonio PRADO, brillante e appassionato networker, con grande esperienza teorica e pratica maturata su reti in produzione. Antonio è un personaggio ben conosciuto nell'ambiente, ha un suo blog, collabora con molti enti internazionali (es. MANRS), è l'autore della collana "Internet per le Nonne", insieme a Max Stucchi è l'animatore di ITNOG-on-the-Web, e molto altro.

La prime due parti del post le trovate qui e qui.


La collaborazione tra NSD e OpenDNSSEC

Abbiamo ora tutte le carte in regola per comunicare al mondo della grande Rete che il nostro nome a dominio è incatenato a un àncora che garantisce la veridicità delle informazioni.

La comunicazione avviene attraverso la pubblicazione della zona nel database del server DNS individuato per esercitare l’autorità sul nome a dominio in questione e dunque, nel nostro esempio, sarà quello identificato con il nome ns1.mia.demo.

Nello specifico, il demone NSD sarà in ascolto sulla porta 53 del protocollo TCP e sulla 53 del protocollo UDP riferibili agli IP 192.0.2.1 e 2001:db8:c:d:e::1 e dovrà servire le zone gestite da OpenDNSSEC.


~ # netstat -anfinet|grep 53
tcp4 0 0 *.53 *.* LISTEN
udp4 0 0 *.53 *.*
~ # netstat -anfinet6|grep 53
tcp6 0 0 *.53 *.* LISTEN
udp6 0 0 *.53 *.*
~ #

Volendo interrogare il server dei nomi autoritativo per i resource record di tipo NS (name server) nella classe IN (internet) della zona mia.demo così come arricchita dalle estensioni DNSSEC:

~ # drill -D mia.demo. @::1 NS IN
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 8806
;; flags: qr aa rd ; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 8

;; QUESTION SECTION:
;; mia.demo. IN NS

;; ANSWER SECTION:
mia.demo. 86400 IN NS ns1.mia.demo.
mia.demo. 86400 IN NS ns2.mia.demo.
mia.demo. 86400 IN RRSIG NS 13 2 86400 20201015031430 20200914151954 15169 mia.demo. 7qJ7PZr95lFPN4/74BtGIJUgkks/EUO1fMPBjEvSu7bRmKJLcqlrdjJblk8FfXUhXsJcYqnDYKAapeMPTFUEOw==

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:
ns1.mia.demo. 3600 IN AAAA 2001:db8:c:d:e::1
ns1.mia.demo. 3600 IN RRSIG AAAA 13 3 3600 20201014140919 20200914151954 15169 mia.demo. uF0rKUWy3d4g1UG9bkmBplOWHQ6dSpBLvzdt5stEn5MxMl8LtSD/jdLtkWIRjknM9f9pgyyxBpn87zhAqeL+PA==
ns2.mia.demo. 3600 IN AAAA 2001:db8:f:1:2::12
ns2.mia.demo. 3600 IN RRSIG AAAA 13 3 3600 20201015010541 20200914151954 15169 mia.demo. FKPzZPMsOp3e1jBTAjI2Km3LMHVvK5XxVVnJlHZ0l0pWqhtNnJ7ktojN8nD28QT279kQrPrNHbDqTiZHp84Duw==
ns1.mia.demo. 3600 IN A 192.0.2.1
ns1.mia.demo. 3600 IN RRSIG A 13 3 3600 20201015010820 20200914151954 15169 mia.demo. vOZqFgVBMU06dSZVBTtyMEGggVfRw9cCp0B39nrIMpLSm8r1/C+mK4B066nSfqwEXft/EqELOd72Is62MFFr6A==
ns2.mia.demo. 3600 IN A 198.51.100.2
ns2.mia.demo. 3600 IN RRSIG A 13 3 3600 20201014194301 20200914151954 15169 mia.demo. mFnQmYIrmkeJ2uyEjliPFWABcQNUE+2nyr/6k0762ZwByJfTrSCuEA35S+MrB9LhCXYrZBliZeBCh62uXCnGVQ==

;; Query time: 0 msec
;; EDNS: version 0; flags: do ; udp: 4096
;; SERVER: ::1
;; WHEN: Tue Sep 15 16:58:13 2020
;; MSG SIZE rcvd: 681
~ #

Non è possibile fare di più con la nostra zona dimostrativa poiché il TLD demo è inventato e quindi non presente nelle gerarchie gestite dai root server. Possiamo però ricorrere a un nome a dominio in produzione per continuare le nostre speculazioni ed esaminare gli ulteriori aspetti dell’argomento.

Controlli e validazione

Prendiamo il nome a dominio prado.it che gestisco e posso agevolmente configurare a mio piacimento (ciascuno dei lettori potrà fare altrettanto con un proprio nome).

Diciamo innanzitutto che si tratta di un nome a dominio di secondo livello sotto il ccTLD .it. Dalle pagine del Registro italiano si può osservare se il Registrar è capace di trattare le estensioni DNSSEC.

~ # whois -h whois.nic.it prado.it|grep -A5 Registrar
Registrar
Organization: Domeneshop AS
Name: DOMENESHOP-REG
Web: http://www.domainnameshop.com/
DNSSEC: yes

~ #

In questo caso il Registrar ha superato la validazione per la gestione di DNSSEC presso il Registro Italiano, ma occorre ancora sapere se il Registrant (o quanto meno il suo referente tecnico) abbia configurato le estensioni di sicurezza sul singolo nome a dominio.

Con una semplice richiesta ai name server autoritativi possiamo scoprirlo facilmente:

~ # drill -D prado.it @lily.ns.cloudflare.com SOA IN
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 25754
;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; prado.it. IN SOA

;; ANSWER SECTION:
prado.it. 3600 IN SOA lily.ns.cloudflare.com. dns.cloudflare.com. 2035120822 10000 2400 604800 3600
prado.it. 3600 IN RRSIG SOA 13 2 3600 20200916151628 20200914131628 34505 prado.it. ADM+YOcXnqu+EVNyuJk5TIRiq9uN9D0ApLeixkp4ipeLkY3H5EP1QDfCO4Saf0sfji2E3oXRScLVlS7++PzTBg==

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:
;; Query time: 41 msec
;; EDNS: version 0; flags: do ; udp: 1232
;; SERVER: 108.162.192.130
;; WHEN: Tue Sep 15 18:00:22 2020
;; MSG SIZE rcvd: 203

~ #

Come si può vedere sono presenti resource record firmati, di conseguenza abbiamo la dimostrazione che le estensioni DNSSEC sono abilitate per il nome a dominio in parola, ma interroghiamo anche l’autorità sovraordinata per capire se il record DS per prado.it sia stato inserito nel database del name server autoritativo per .it.

Prima elenchiamo i nomi degli autoritativi chiedendoli a un name server ricorsivo disponibile al pubblico come quello di Google:

~ # drill it @8.8.8.8 NS IN
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 29933
;; flags: qr rd ra ; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;; it. IN NS

;; ANSWER SECTION:
it. 10800 IN NS r.dns.it.
it. 10800 IN NS nameserver.cnr.it.
it. 10800 IN NS s.dns.it.
it. 10800 IN NS a.dns.it.
it. 10800 IN NS dns.nic.it.
it. 10800 IN NS m.dns.it.

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:
;; Query time: 178 msec
;; SERVER: 8.8.8.8
;; WHEN: Tue Sep 15 18:10:22 2020
;; MSG SIZE rcvd: 139

~ #

Ora scegliamone uno e interroghiamolo:

~ # drill -D prado.it @a.dns.it DS IN
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 41982
;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; prado.it. IN DS

;; ANSWER SECTION:
prado.it. 10800 IN DS 2371 13 2 7c25a7c8272edc86e8d60b4fb0a970902ed1838526ac0e9bc73c54c1a7ced733
prado.it. 10800 IN RRSIG DS 10 2 10800 20201015130314 20200915130314 18395 it. lAhIZ++E/7hy32yVm1lDFTHHaVFoQoX6vMffgN+5bzIMvBWH/FBn1Yv3r/42W4E9ltIyMHgn82VpR9D7tm3fyemHP0Sgqt8TeiZP9ZfFk69/UeJ8L+fOtU9mFvO9Hcf1QLSBZLp37UJgAVaa7/3iTq0uIAeKhgqu8jKD6KZ7qbqbE296aKCzJZdTNyWoyaYVh26Z4rmxisNWgawPkSV6jQn8TDLLe2CLZs4n+XVgKLMF/GZ2dI77IeoRG7o75j+1sUvHeo+8zG9m1+6WNlsKhL+NMkk4aSoFD0qbChjDJaFwZicQW33QR3O+/jIp+/CzbGbgpzgOwU4tUTg2D4jdBg==

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 38 msec
;; EDNS: version 0; flags: do ; udp: 4096
;; SERVER: 194.0.16.215
;; WHEN: Tue Sep 15 18:11:33 2020
;; MSG SIZE rcvd: 375

~ #

La chiave pubblica è questa: 

7c25a7c8272edc86e8d60b4fb0a970902ed1838526ac0e9bc73c54c1a7ced733

Confermiamo che sia presente nella zona prado.it:

~ # drill -s dnskey @lily.ns.cloudflare.com prado.it
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 20659
;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; prado.it. IN DNSKEY

;; ANSWER SECTION:
prado.it. 3600 IN DNSKEY 257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ== ;{id = 2371 (ksk), size = 256b}
prado.it. 3600 IN DNSKEY 256 3 13 oJMRESz5E4gYzS/q6XDrvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA== ;{id = 34505 (zsk), size = 256b}

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION: 

;; Query time: 38 msec
;; SERVER: 173.245.58.130
;; WHEN: Tue Sep 15 18:46:16 2020
;; MSG SIZE rcvd: 186
;
; equivalent DS records for key 2371:
; sha1: prado.it. 3600 IN DS 2371 13 1 360fd3893f5c5fb03de4360396ddcae73ada3b26
; sha256: prado.it. 3600 IN DS 2371 13 2 7c25a7c8272edc86e8d60b4fb0a970902ed1838526ac0e9bc73c54c1a7ced733
;
; equivalent DS records for key 34505:
; sha1: prado.it. 3600 IN DS 34505 13 1 432c98a61ad3640654417d66ab4e1aa8cf7bb430
; sha256: prado.it. 3600 IN DS 34505 13 2 5f27c58a1bd03d69dd524e4a3c318c82b850ac5c51c63d0b6cdbefeef5e33c64

~ #

Per la chiave #2371 il valore è il medesimo:

7c25a7c8272edc86e8d60b4fb0a970902ed1838526ac0e9bc73c54c1a7ced733.

Ma facciamo ora la stessa operazione per le due autorità superiori, cioè il “.” e il Registro italiano:

~ # drill -t -s dnskey it @a.dns.it
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 50382
;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; it. IN DNSKEY

;; ANSWER SECTION:
it. 10800 IN DNSKEY 257 3 10 AwEAAay8sLBy644P9n/DUS3XakNteW7zvQTBVPGwXDknOSR/ywiIeKRR5aoroib5zkEhchqGxMqYxtnuemPsAW/II9pv/coNAJEx6PYjW7nTXfKvMR+JGgjCHn2o/pK7J+MO9MUp9Vt35qRczcrtc9Yaidh5ZBM2ju/S6X4L7vdNDiWc4iia1fG6p8b+J4mvl6ewzV9sggbBAZGaE//S3ed06FGYdSD9I/fC8PNkBRXXVsv9tR3IlxyGtw0hINGkUKn6Ku+SZ4VtkU5+bvaAeFWwfAIdG+Jaj56gm5rMuRYlCfRzlqM5Q5Yv/LGo22E8SPO8NMAulo9ULP9chxg4mfyzDNU= ;{id = 41901 (ksk), size = 2048b}
it. 10800 IN DNSKEY 256 3 10 AwEAAbCBaRnTOVXDfC5ulw7mj4aT2Tr/vs1j6q97qKI+eWbyQUwpf9LVcrq7sKMSRoF6oiK9AaHDyCWogIbVADuYKAJfLU0ahJvB00sWQHiqOj5AJFMLnRtD7yylpPRNagRHmv6hFODR6uq0p67yTMzOc7MTixKTsRQQ1lyrr90uNrUaqnRVTc4TLBypvuWXfXP8SBfK4zfq5TPux6V8gU8kzJ17RoWMRetEarY2Q8T34YsT4484Bnns+IJjf8lPjEptfDL+E02+/K+zY4VGemQf/xyyHtu9rAjSLXJv74hXumTWMlUOKwUf7jz1+LMKMYS55czc47pf0BZZAraZjE3NgBk= ;{id = 18395 (zsk), size = 2048b}

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 70 msec
;; SERVER: 194.0.16.215
;; WHEN: Tue Sep 15 18:52:55 2020
;; MSG SIZE rcvd: 572
;
; equivalent DS records for key 41901:
; sha1: it. 10800 IN DS 41901 10 1 13aac5ad1f0e01c28c1df2efdebc10423223bfb3
; sha256: it. 10800 IN DS 41901 10 2 47f7f7ba21e48591f6172eed13e35b66b93ad9f2880fc9bada64f68ce28ebb90
;
; equivalent DS records for key 18395:
; sha1: it. 10800 IN DS 18395 10 1 8246032a950217608d8afb99c65517b2c095917b
; sha256: it. 10800 IN DS 18395 10 2 c01911b2f1729a4633258ad24009c32415c44172755b7972f18c9b17fe8ee544

~ #

~ # drill -D it @a.root-servers.net DS IN
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 21063
;; flags: qr aa rd ; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; it. IN DS

;; ANSWER SECTION:

it. 86400 IN DS 41901 10 2 47f7f7ba21e48591f6172eed13e35b66b93ad9f2880fc9bada64f68ce28ebb90
it. 86400 IN RRSIG DS 8 1 86400 20200928050000 20200915040000 46594 . EPdvYCThGCiyWfdy61+nT038xetZPtcUI5NkENJnovXVKwtWby5dcbK/3hyF+zi+2QES/EE9AjuWhhRAo06HcdrWttLBCXiuvBc8zBNrvVVAmHG3VEAsAPVMdMigErhURE9vF9WnLRUZgpwfdaNjH9YzRXh+NP7t+ihauLyAmgcSBTKZ7QTQ5/BWV6tt2aplUhfnkZq2Rcrek6XwK1DBjskXtdrJ3O9D5XrCPFdD12UNA2Ofuc92zPNqoDIbZlUod9VWfl5uiZiAWS6T23t8qdcuSlJW7O4jNCvrAizjaclsaP5UzkZ/0r362V3IEAJwGvT9JiI4S3anPU5scRI9Rg==

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 59 msec
;; EDNS: version 0; flags: do ; udp: 4096
;; SERVER: 198.41.0.4
;; WHEN: Tue Sep 15 18:54:36 2020
;; MSG SIZE rcvd: 366

~ #

Anche in questo caso il valore della chiave #41901 

47f7f7ba21e48591f6172eed13e35b66b93ad9f2880fc9bada64f68ce28ebb90

corrisponde, avendo così dimostrato che prado.it. è correttamente incatenato a .it. e quest’ultimo lo è, a sua volta, al “.”.

Ora, come accennato ormai molte righe fa, le chiavi del “.” vengono ritenute affidabili per un atto di fiducia nei confronti di una organizzazione trasparente e di un protocollo condiviso, i soli elementi che possono legittimare quella autorità che diventa per noi, lo ripetiamo, una vera e propria àncora di fiducia (trust anchor).

Le chiavi della zona “.” si ottengono semplicemente chiedendole a un name server ricorsivo disponibile al pubblico come quello di Cloudflare e pulendo convenientemente il risultato:

~ # drill -aD . @1.1.1.1 DNSKEY IN|sed -e '/^$/d' -e '/^;/d' -e '/RRSIG/d'
. 1130 IN DNSKEY 256 3 8 AwEAAdauOGxLhfAKFTTZwGhBXbk793QKdWIQRjiSftWdusCwkPhNyJrIjwtNffCWXGLlZAbpcs414RE3oS1qVwV+AdXsO92SBu5haGlxMUk0NqZO7Xlf84/wrzGZVRRouPo5pNX/CKS8Mv9UOi0olKGCu31dNfh8qCszWZcloLDgeLzSnQSkvFoGe69vNCfh7feESKedkBC2qRz0BZv9+oJI0IY/3D7WEnV0NOlf8gSHozhfJFJ/ZAKtvw/Q3ogrVJFk0LyVaU/NVtVA5FM4pVMIRID7pfrPi78aAzG7b/Wh/Pce4jPAIpS3dApq25YkvMuPvfB91NMf9FemKwlp78PBVcM= ;{id = 46594 (zsk), size = 2048b}
. 1130 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU= ;{id = 20326 (ksk), size = 2048b}

~ #

Gli identificativi delle due chiavi pubbliche, al momento della scrittura di questo testo, sono: #20326 della chiave usata per firmare le chiavi DNSKEY (KSK); #46594 della chiave usata per firmare le zone (ZSK). Nel tempo, per ovvie ragioni di sicurezza, le chiavi cambiano (tra le due, cambia con maggiore frequenza la ZSK).

Dopo aver salvato le due chiavi in un file di nome “chiavi”, che useremo specificamente come àncora di fiducia, tentiamo un altro percorso di verifica che parta da un resource record specifico e risalga fino alla zona “.”.

Per rimanere nell’alveo dell’esempio riportato in precedenza, prendiamo il resource record (RR) di tipo address (A) per la classe internet (IN) di www.prado.it.

Effettuiamo una interrogazione a un name server ricorsivo disponibile al pubblico come quello di Quad9 e usiamo le sue risposte per la validazione di tutta la catena della fiducia:

~ # drill -aDSV4 -k ./chiavi www.prado.it @9.9.9.9 A IN
;; Number of trusted keys: 2
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 37529
;; flags: qr rd cd ra ad ; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; www.prado.it. IN A

;; ANSWER SECTION:
www.prado.it. 300 IN A 104.28.0.91
www.prado.it. 300 IN A 172.67.133.171
www.prado.it. 300 IN A 104.28.1.91
www.prado.it. 300 IN RRSIG A 13 3 300 20200917140304 20200915120304 34505 prado.it. 3N9nqZyEIFakKvNUFi5KcFmhZvQnuvoZgG1U9Vgb7Hx0QtQDz+Z+9Hg0AoarbIzHQIov1ztadfc+WtlnZTnm2Q==

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 124 msec
;; EDNS: version 0; flags: do ; udp: 512
;; SERVER: 9.9.9.9
;; WHEN: Wed Sep 16 14:36:30 2020
;; MSG SIZE rcvd: 193
;; Chasing: www.prado.it. A


DNSSEC Data Chain:
;; rcode: NOERROR
;; qtype: DNSKEY
rrset:
. 23752 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU= ;{id = 20326 (ksk), size = 2048b}
. 23752 IN DNSKEY 256 3 8 AwEAAdauOGxLhfAKFTTZwGhBXbk793QKdWIQRjiSftWdusCwkPhNyJrIjwtNffCWXGLlZAbpcs414RE3oS1qVwV+AdXsO92SBu5haGlxMUk0NqZO7Xlf84/wrzGZVRRouPo5pNX/CKS8Mv9UOi0olKGCu31dNfh8qCszWZcloLDgeLzSnQSkvFoGe69vNCfh7feESKedkBC2qRz0BZv9+oJI0IY/3D7WEnV0NOlf8gSHozhfJFJ/ZAKtvw/Q3ogrVJFk0LyVaU/NVtVA5FM4pVMIRID7pfrPi78aAzG7b/Wh/Pce4jPAIpS3dApq25YkvMuPvfB91NMf9FemKwlp78PBVcM= ;{id = 46594 (zsk), size = 2048b}
sigs:
. 19386 IN RRSIG DNSKEY 8 0 172800 20200930000000 20200909000000 20326 . o/GuEANolz40+XYxbaT6zMDo5jy5hSBMcBdKpSgsTvSN89k880mzFvi2BfFoP+TYKjUOaK6THCISoH5kP0N9mm9DpFivhXyhQWCtTareLwW63YdqA91tqT+QhluoVlf0ZVoMGyCCib3FRCW0siKGBljadtSr3dootSyKxzGcQ8kSJLyRcQF7fn7LWMadfcFLPjxkk43iWusaFYbLZb2BCo/CzQPd6WdUjiD24C1OwJlVRdYNZPIgZmgO3cw8eU87NaRKWljKv59jyVti1WcYMsWqKFaKag6LOfk4OkVsbFc2Y937cnnxNfthH1Mzlhs3Kybo+yvUd+YZAit+JWkaAg==
---
;; rcode: NOERROR
;; qtype: DS
rrset:
it. 15782 IN DS 41901 10 2 47f7f7ba21e48591f6172eed13e35b66b93ad9f2880fc9bada64f68ce28ebb90
sigs:
it. 15782 IN RRSIG DS 8 1 86400 20200929050000 20200916040000 46594 . hnQ5V5mDmOG4Fp48n7MWNXrBeGEhujjAIQaSS9kZV89hCUJGI5cRR7znuuA8fv2aIqkI9Q2XaxIdtwhuXpBXK9bAIP4SsSP6ij5nTqdVlaRhIMzC248S5OJJcvNXXhXnvnMVwo4Axxl36S7kkgzmJDYzZx7POtAS4wYu7e6ATwW3euqK7+wRak6S3cWdIq8viHvh6gspfGA/YajlLZHE7s9wzs5N0XTFWqGkmXOW2tNkbbvTA+5GgPuLTwsdTooA4SKfpzOeNCTH7lYEzuyN+GKpBa20dGew4CDKApfu077QIRJ1UCt0wXNTIC+KrpRxmc7XZCLlFdj+95NxwwJZiA==
---
;; rcode: NOERROR
;; qtype: DNSKEY
rrset:
it. 5963 IN DNSKEY 256 3 10 AwEAAbCBaRnTOVXDfC5ulw7mj4aT2Tr/vs1j6q97qKI+eWbyQUwpf9LVcrq7sKMSRoF6oiK9AaHDyCWogIbVADuYKAJfLU0ahJvB00sWQHiqOj5AJFMLnRtD7yylpPRNagRHmv6hFODR6uq0p67yTMzOc7MTixKTsRQQ1lyrr90uNrUaqnRVTc4TLBypvuWXfXP8SBfK4zfq5TPux6V8gU8kzJ17RoWMRetEarY2Q8T34YsT4484Bnns+IJjf8lPjEptfDL+E02+/K+zY4VGemQf/xyyHtu9rAjSLXJv74hXumTWMlUOKwUf7jz1+LMKMYS55czc47pf0BZZAraZjE3NgBk= ;{id = 18395 (zsk), size = 2048b}
it. 5963 IN DNSKEY 257 3 10 AwEAAay8sLBy644P9n/DUS3XakNteW7zvQTBVPGwXDknOSR/ywiIeKRR5aoroib5zkEhchqGxMqYxtnuemPsAW/II9pv/coNAJEx6PYjW7nTXfKvMR+JGgjCHn2o/pK7J+MO9MUp9Vt35qRczcrtc9Yaidh5ZBM2ju/S6X4L7vdNDiWc4iia1fG6p8b+J4mvl6ewzV9sggbBAZGaE//S3ed06FGYdSD9I/fC8PNkBRXXVsv9tR3IlxyGtw0hINGkUKn6Ku+SZ4VtkU5+bvaAeFWwfAIdG+Jaj56gm5rMuRYlCfRzlqM5Q5Yv/LGo22E8SPO8NMAulo9ULP9chxg4mfyzDNU= ;{id = 41901 (ksk), size = 2048b}
sigs:
it. 5331 IN RRSIG DNSKEY 10 1 10800 20201016100302 20200916100302 18395 it. Z4OhmKUqPPKetRmw7dmPYXGo5w1wvU/YqQs6BCn5VW5rHu1vCmK9fh7J8eFHoFEiSzfLnRRq4XuZtWZsaiUw9ebp+P0Umici991pc3v0oKYtqprm9W8oHPjzxAahin3lbJiz2OqlUJYRR0TqBmYdnUJsLEPEyWAgZvs/AQ5FkaqrbbkIn5KaVDd3aKNeNz3sRla5sXg80Gb2W4L0HnHoQ3Rn0FV9BCe3SkJFF/bVdh3wqLxfoh7L8DFaqbx8M4iLLJlehhULfCp9rLpOx3ePc2wn1vbcoJBAdMGp9vqk6zu+BjDJE817uA1OMbtK4GxCseFyQjhWhuWUN3Pi4cjbDg==
it. 5331 IN RRSIG DNSKEY 10 1 10800 20201016100302 20200916100302 41901 it. cf4ckum5h5ps1KmWpf+gpNqwqOrBa03nOghYfKSxDrqE1UhW8+23DgHIgPomv8XvawbWMyIouHbovxveE4Ou09jOZqwVYz8dEGABE3PDwnejGnQxMgbJO4gaX83WHtQcUWUsMs+0uNPt0lQsMoRk5Dcx6SqS+I5JwN/r8PfjkYRNdIc5358fAGA5YxJG66r7nO3Mz6fMwgMnNWSjiRAeMivFjoihMwGjvA6OT5yl09Jp1qtoH23+jrMqw24I+vCGTvU7lc/YYRiShPDINGkG1yVLueECzTctzSInZpo6WfxQFsMtnYuvpsySujCLn9HVtefSPu+1One49h3CiXUl3Q==
---
;; rcode: NOERROR
;; qtype: DS
rrset:
prado.it. 10596 IN DS 2371 13 2 7c25a7c8272edc86e8d60b4fb0a970902ed1838526ac0e9bc73c54c1a7ced733
sigs:
prado.it. 10596 IN RRSIG DS 10 2 10800 20201016110323 20200916110323 18395 it. T/5JC6Ksm4J1MLK9gpvDB+Ucp/PQ6x67e2ZRwaKWEQgeVvuAQrX15B7sNMVgC+mki2ocXGKMlYWMzrGO6TXqCLeolA1pFFKWOjCQSQdsfPYDkLMhJvOSk4UwkZrQLZUZui0Hc1ezD/TmSHqN3c3DAWStOvHx1eAM3y3XjJcTNtT0fmy1BzLlnFFNoDnJTggMvudhutEtMaBiS+od3sg9P6kbBE9xapHvmfevDmW/o1nDl7VjchF1t/Z2+HQJ6S8SGUUuEv3ERkN8XVmtrJxpVSpRCq8rAPBf/bHaBd6uAzvNB+vT6HuALZ5RMg81+Df2diNS75GNIl6T7sK9Q6ae7g==
---
;; rcode: NOERROR
;; qtype: DNSKEY
rrset:
prado.it. 3600 IN DNSKEY 257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ== ;{id = 2371 (ksk), size = 256b}
prado.it. 3600 IN DNSKEY 256 3 13 oJMRESz5E4gYzS/q6XDrvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA== ;{id = 34505 (zsk), size = 256b}
sigs:
prado.it. 3600 IN RRSIG DNSKEY 13 2 3600 20201008050704 20200809050704 2371 prado.it. o4BpZGSvIN+R+weWNNDFWvviZuJCzEdHWrwBMYybhzA4Q0cm18o9gGu0voq/px/UVzncvlZm2m+V2z15F5GdaQ==
---
;; rcode: NOERROR
rrset:
www.prado.it. 300 IN A 104.28.0.91
www.prado.it. 300 IN A 172.67.133.171
www.prado.it. 300 IN A 104.28.1.91
sigs:
www.prado.it. 300 IN RRSIG A 13 3 300 20200917140304 20200915120304 34505 prado.it. 3N9nqZyEIFakKvNUFi5KcFmhZvQnuvoZgG1U9Vgb7Hx0QtQDz+Z+9Hg0AoarbIzHQIov1ztadfc+WtlnZTnm2Q== 

---

DNSSEC Trust tree:
www.prado.it. (A)
|---prado.it. (DNSKEY keytag: 34505 alg: 13 flags: 256)
|---prado.it. (DNSKEY keytag: 2371 alg: 13 flags: 257)
|---prado.it. (DS keytag: 2371 digest type: 2)
|---it. (DNSKEY keytag: 18395 alg: 10 flags: 256)
|---it. (DNSKEY keytag: 41901 alg: 10 flags: 257)
|---it. (DS keytag: 41901 digest type: 2)
|---. (DNSKEY keytag: 46594 alg: 8 flags: 256)
|---. (DNSKEY keytag: 20326 alg: 8 flags: 257)
;; Chase successful
~ #

Come si può osservare da quest’ultimo schema ad albero, la convalida a ritroso di tutte le maglie della catena della fiducia è andata a buon fine. Con ciò vogliamo significare che di sicuro la risposta alla nostra domanda sul RR IN A www.prado.it contiene dati autentici.

Per validazioni più gradevoli e più ricche di dettagli possiamo usare il servizio dnsviz del ricercatore Casey Deccio ospitato da DNS-OARC o dnssec-analyzer di Verisign Labs. Per strappare un sorriso: https://dnssec-name-and-shame.com

Ovviamente non è pensabile operare queste validazioni prima di muovere ogni singolo passo su Internet. E allora che si fa?

Come disse Forrest Gump "sono un po' stanchino" e quindi mi fermo un attimo. La risposta alla prossima e ultima puntata. Grazie per la vostra attenzione.

Nessun commento:

Posta un commento