Skip to main content

Structured DNS Errors (SDE)

Con il rilascio di AdGuard DNS v2.10, AdGuard è diventato il primo risolutore DNS pubblico a implementare il supporto per Errori DNS Strutturati (SDE), un'aggiornamento a RFC 8914. Questa funzione consente ai server DNS di fornire informazioni dettagliate sui siti web bloccati direttamente nella risposta DNS, piuttosto che fare affidamento su messaggi generici del browser. In questo articolo, spiegheremo cosa sono e come funzionano gli SDE.

Cosa sono gli SDE (errori DNS strutturati)

Quando una richiesta a un dominio pubblicitario o quello di tracciamento è bloccata, l'utente potrebbe vedere spazi vuoti su un sito web o potrebbe non notare affatto che è avvenuto un filtro DNS. Tuttavia, se un intero sito web è bloccato a livello DNS, l'utente non sarà completamente in grado di accedere alla pagina. Quando si tenta di accedere a un sito web bloccato, l'utente può vedere un errore generico "Questo sito non può essere raggiunto" visualizzato dal browser.

Errore "Questo sito non può essere raggiunto"

Tali errori non spiegano cosa è successo e perché. Questo lascia gli utenti confusi su perché un sito web sia inaccessibile, portandoli spesso a supporre che la loro connessione a Internet o il risolutore DNS siano danneggiati.

Per chiarire questo punto, i server DNS potrebbero reindirizzare gli utenti alla propria pagina con una spiegazione. Tuttavia, i siti web HTTPS (che sono la maggioranza dei siti web) richiederebbero un certificato.

Errore di certificato

Esiste una soluzione più semplice: SDE (Errori DNS strutturati). Il concetto di SDE si basa sui principi degli Errori DNS Estesi (RFC 8914), che ha introdotto la possibilità d'includere ulteriori informazioni sugli errori nelle risposte DNS. Il progetto SDE porta questo ulteriore passaggio utilizzando I-JSON (un profilo ristretto di JSON) per formattare le informazioni in un modo che i browser e le app client possono facilmente analizzare.

I dati SDE sono inclusi nel campo EXTRA-TEXT della risposta DNS. Contiene:

  • j (giustificazione): Motivo per cui è stato bloccato
  • c (contatto): Informazioni di contatto per richieste se la pagina è stata bloccata per errore
  • o (organizzazione): Organizzazione responsabile del filtraggio DNS in questo caso (facoltativo)
  • s (suberror): il codice suberror per questo particolare filtraggio DNS (facoltativo)

Un sistema del genere aumenta la trasparenza tra i servizi DNS e gli utenti.

Cosa è richiesto per implementare gli SDE

Sebbene AdGuard DNS abbia implementato il supporto per gli SDE, i browser attualmente non supportano nativamente l'analisi e la visualizzazione dei dati SDE. Affinché gli utenti possano visualizzare spiegazioni dettagliate nei loro browser quando un sito web è bloccato, gli sviluppatori di browser devono adottare e supportare la specifica SDE.

Estensione demo DNS AdGuard per SDE

Per mostrare come funzionano gli SDE AdGuard DNS ha sviluppato un'estensione demo per il browser che mostra come potrebbero funzionare gli SDE se i browser li supportassero. Se provi a visitare un sito web bloccato da AdGuard DNS con questa estensione abilitata, vedrai una pagina di spiegazione dettagliata con le informazioni fornite tramite SDE, come il motivo del blocco, i dettagli di contatto e l'organizzazione responsabile.

Pagina di spiegazione

Puoi installare l'estensione dal Chrome Web Store o da GitHub.

Se desideri vedere come appare a livello di DNS, puoi utilizzare il comando dig e cercare EDE nell'output.

% dig @94.140.14.14 'ad.doubleclick.net' A IN +ednsopt=15:0000

...

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; EDE: 17 (Filtered): ({"j":"Filtered by AdGuard DNS","o":"AdGuard DNS","c":["mailto:support@adguard-dns.io"]})
;; QUESTION SECTION:
;ad.doubleclick.net. IN A

...