-
Notifications
You must be signed in to change notification settings - Fork 100
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'agm-2240-add-info-about-edns' of https://github.com/Adg…
…uardTeam/KnowledgeBaseDNS into agm-2240-add-info-about-edns
- Loading branch information
Showing
319 changed files
with
5,991 additions
and
4,726 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
--- | ||
title: Structured DNS Errors (SDE) | ||
sidebar_position: 5 | ||
--- | ||
|
||
With the release of AdGuard DNS v2.10, AdGuard has become the first public DNS resolver to implement support for [*Structured DNS Errors* (SDE)](https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/09/), an update to [RFC 8914](https://datatracker.ietf.org/doc/rfc8914/). This feature allows DNS servers to provide detailed information about blocked websites directly in the DNS response, rather than relying on generic browser messages. In this article, we'll explain what *Structured DNS Errors* are and how they work. | ||
|
||
## What Structured DNS Errors are | ||
|
||
When a request to an advertising or tracking domain is blocked, the user may see blank spaces on a website or may not even notice that DNS filtering has occurred. However, if an entire website is blocked at the DNS level, the user will be completely unable to access the page. When trying to access a blocked website, the user may see a generic "This site can't be reached" error displayed by the browser. | ||
|
||
!["This site can't be reached" error](https://cdn.adtidy.org/content/blog/dns/dns_error.png) | ||
|
||
Such errors don't explain what happened and why. This leaves users confused about why a website is inaccessible, often leading them to assume that their Internet connection or DNS resolver is broken. | ||
|
||
To clarify this, DNS servers could redirect users to their own page with an explanation. However, HTTPS websites (which are the majority of websites) would require a separate certificate. | ||
|
||
![Certificate error](https://cdn.adtidy.org/content/blog/dns/certificate_error.png?1) | ||
|
||
There’s a simpler solution: [Structured DNS Errors (SDE)](https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/09/). The concept of SDE builds on the foundation of [*Extended DNS Errors* (RFC 8914)](https://datatracker.ietf.org/doc/rfc8914/), which introduced the ability to include additional error information in DNS responses. The SDE draft takes this a step further by using [I-JSON](https://www.rfc-editor.org/rfc/rfc7493) (a restricted profile of JSON) to format the information in a way that browsers and client applications can easily parse. | ||
|
||
The SDE data is included in the `EXTRA-TEXT` field of the DNS response. It contains: | ||
|
||
- `j` (justification): Reason for blocking | ||
- `c` (contact): Contact information for inquiries if the page was blocked by mistake | ||
- `o` (organization): Organization responsible for DNS filtering in this case (optional) | ||
- `s` (suberror): The suberror code for this particular DNS filtering (optional) | ||
|
||
Such a system enhances transparency between DNS services and users. | ||
|
||
### What is required to implement Structured DNS Errors | ||
|
||
Although AdGuard DNS has implemented support for Structured DNS Errors, browsers currently do not natively support parsing and displaying SDE data. For users to see detailed explanations in their browsers when a website is blocked, browser developers need to adopt and support the SDE draft specification. | ||
|
||
### AdGuard DNS demo extension for SDE | ||
|
||
To showcase how Structured DNS Errors work, AdGuard DNS has developed a demo browser extension that shows how *Structured DNS Errors* could work if browsers supported them. If you try to visit a website blocked by AdGuard DNS with this extension enabled, you will see a detailed explanation page with the information provided via SDE, such as the reason for blocking, contact details, and the organization responsible. | ||
|
||
![Explanation page](https://cdn.adtidy.org/blog/new/jlkdbaccess_blocked.png) | ||
|
||
You can install the extension from the [Chrome Web Store](https://chromewebstore.google.com/detail/oeinmjfnchfhaabhchfjkbdpmgeageen) or from [GitHub](https://github.com/AdguardTeam/dns-sde-extension/). | ||
|
||
If you want to see what it looks like at the DNS level, you can use the `dig` command and look for `EDE` in the output. | ||
|
||
```text | ||
% 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:[email protected]"]}) | ||
;; QUESTION SECTION: | ||
;ad.doubleclick.net. IN A | ||
... | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
{ | ||
"position": 1, | ||
"position": 2, | ||
"label": "Solving problems", | ||
"collapsible": true, | ||
"collapsed": true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
i18n/cs/docusaurus-plugin-content-docs/current/miscellaneous/acknowledgements.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 5 additions & 1 deletion
6
i18n/cs/docusaurus-plugin-content-docs/current/miscellaneous/create-dns-stamp.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
...s/docusaurus-plugin-content-docs/current/miscellaneous/structured-dns-errors.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
--- | ||
title: Strukturované chyby DNS (SDE) | ||
sidebar_position: 5 | ||
--- | ||
|
||
Vydáním AdGuard DNS v2.10 se AdGuard stal prvním veřejným DNS řešitelem, který implementoval podporu [_Strukturované chyby DNS_ (SDE)](https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/09/), aktualizaci [RFC 8914](https://datatracker.ietf.org/doc/rfc8914/). Tato funkce umožňuje DNS serverům poskytovat podrobné informace o blokovaných webových stránkách přímo v odpovědi DNS a nespoléhat se na obecné zprávy prohlížeče. V tomto článku vysvětlíme, co jsou _Strukturované chyby DNS_ a jak fungují. | ||
|
||
## Co jsou strukturované chyby DNS | ||
|
||
Pokud je požadavek na reklamní nebo sledovací doménu zablokován, může se stát, že se na webových stránkách zobrazí prázdná místa nebo si uživatel ani nevšimne, že došlo k DNS filtrování. Pokud je však celá webová stránka zablokována na úrovni DNS, uživatel se na ni vůbec nedostane. Při pokusu o přístup na blokovanou webovou stránku se může v prohlížeči zobrazit obecná chyba "Tento web není dostupný". | ||
|
||
!["This site can't be reached" error](https://cdn.adtidy.org/content/blog/dns/dns_error.png) | ||
|
||
Takové chyby nevysvětlují, co se stalo a proč. Uživatelé jsou proto zmateni, proč jsou webové stránky nedostupné, a často se domnívají, že jejich připojení k internetu nebo řešitel DNS je nefunkční. | ||
|
||
Pro objasnění by DNS servery mohly uživatele přesměrovat na vlastní stránku s vysvětlením. Webové stránky HTTPS (což je většina webových stránek) však vyžadují samostatný certifikát. | ||
|
||
![Certificate error](https://cdn.adtidy.org/content/blog/dns/certificate_error.png?1) | ||
|
||
Existuje jednodušší řešení: [Strukturované chyby DNS (SDE)](https://datatracker.ietf.org/doc/draft-ietf-dnsop-structured-dns-error/09/). Koncept SDE vychází ze základu [_Rozšířené chyby DNS_ (RFC 8914)](https://datatracker.ietf.org/doc/rfc8914/), které zavedly možnost zahrnout do odpovědí DNS další informace o chybách. Návrh SDE jde v tomto směru ještě dál a používá [I-JSON](https://www.rfc-editor.org/rfc/rfc7493) (omezený profil JSON) k formátování informací způsobem, který mohou prohlížeče a klientské aplikace snadno analyzovat. | ||
|
||
Údaje SDE jsou obsaženy v poli `EXTRA-TEXT` odpovědi DNS. Obsahují: | ||
|
||
- `j` (justification): Důvod blokování | ||
- `c` (contact): Kontaktní informace pro dotazy, pokud byla stránka omylem zablokována | ||
- `o` (organization): Organizace odpovědná za filtrování DNS v tomto případě (nepovinné) | ||
- `s` (suberror): Kód dílčí chyby pro toto konkrétní filtrování DNS (nepovinné) | ||
|
||
Takový systém zvyšuje transparentnost mezi službami DNS a uživateli. | ||
|
||
### Co je potřeba k implementaci Strukturovaných chyb DNS | ||
|
||
Ačkoli AdGuard DNS implementoval podporu pro Strukturované chyby DNS, prohlížeče v současné době nativně nepodporují analýzu a zobrazení dat SDE. Aby se uživatelům v prohlížečích zobrazovala podrobná vysvětlení blokování webových stránek, musí vývojáři prohlížečů přijmout a podporovat návrh specifikace SDE. | ||
|
||
### Demo rozšíření AdGuard DNS pro SDE | ||
|
||
Pro ukázku fungování Strukturovaných chyb DNS, vyvinul AdGuard DNS ukázkové rozšíření prohlížeče, které ukazuje, jak by _Strukturované chyby DNS_ mohly fungovat, kdyby je prohlížeče podporovaly. Pokud se pokusíte navštívit webovou stránku blokovanou AdGuard DNS s tímto rozšířením, zobrazí se stránka s podrobným vysvětlením a informacemi poskytnutými prostřednictvím SDE, jako je důvod blokování, kontaktní údaje a odpovědná organizace. | ||
|
||
![Explanation page](https://cdn.adtidy.org/blog/new/jlkdbaccess_blocked.png) | ||
|
||
Rozšíření můžete nainstalovat z [Chrome Web Store](https://chromewebstore.google.com/detail/oeinmjfnchfhaabhchfjkbdpmgeageen) or from [GitHub](https://github.com/AdguardTeam/dns-sde-extension/). | ||
|
||
Pokud chcete zjistit, jak to vypadá na úrovni DNS, můžete použít příkaz `dig` a ve výstupu vyhledat `EDE`. | ||
|
||
```text | ||
% 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:[email protected]"]}) | ||
;; QUESTION SECTION: | ||
;ad.doubleclick.net. IN A | ||
... | ||
``` |
2 changes: 1 addition & 1 deletion
2
i18n/cs/docusaurus-plugin-content-docs/current/miscellaneous/take-screenshot.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
i18n/cs/docusaurus-plugin-content-docs/current/miscellaneous/update-kb.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.