Where does website blocking happen? Reading DNS, SNI, and CDN controls

A warning.or.kr notice, a blank timeout, and an HTTP 451 can all feel like “the site is blocked.” They are not the same event. The layer that stopped the connection and whether the result follows the user across networks differ.
Collapsing those events into one label leads to the wrong diagnosis. An unusual DNS answer can be mislabelled as SNI filtering. A legal response returned by a CDN can be mistaken for an on-path interruption. The first task is to locate the decision layer.
One blocked page can originate at five control points
OONI separates IP blocking, DNS interference, HTTP blocking, and SNI filtering into distinct measurement categories.1 An operations model should add the service endpoint, producing five useful layers.
| Control layer | Actor and visible input | User-visible fingerprint | What encryption changes |
|---|---|---|---|
| DNS response | Recursive resolver or on-path device handles the queried name and answer | Different IP, notice address, or an answer that looks like NXDOMAIN | DoH and DoT reduce observation and interference between client and resolver |
| IP path | Router or filter acts on destination address | Timeouts or failures across several domains on one address | DoH, DoT, and ECH do not hide the destination IP |
| HTTP Host or URL | Plain HTTP host and path are inspected | Redirect, notice page, or path-specific restriction | HTTPS encrypts the URL path after the connection begins |
| TLS SNI | Plaintext server_name in ClientHello is matched to a list | Connection may end before a certificate or HTTP response arrives | ECH encrypts the real name inside ClientHelloInner |
| CDN, platform, or origin | TLS endpoint applies account, URL, location, and legal policy | 403, 451, removal, or a provider-specific notice | Transport encryption does not hide the request from its endpoint or change its policy |
A warning.or.kr notice does not by itself prove DNS blocking. A synthetic DNS answer and a plaintext HTTP Host or URL filter can both lead to the page, so DNS packets and the HTTP exchange must distinguish them.
DNS tampering also needs evidence. A response that differs from the authoritative data may come from resolver policy, on-path response injection, a stale cache, or a real authoritative change. Comparing resolvers and networks, then recording the TCP connection, TLS handshake, and final HTTP response, narrows the cause. NXDOMAIN or a timeout alone does not prove intentional blocking.
South Korea moved the observation point from DNS to SNI and CDN enforcement
The Korean Board of Audit and Inspection describes DNS-stage controls, URL filtering introduced in 2008, and SNI filtering introduced in 2019.2 This is not a clean replacement history. As HTTPS hid plaintext URL paths, enforcement moved to other visible signals while older methods remained available for different cases.
| Period | Public change or case | Technical reading |
|---|---|---|
| From 2008 | Plain HTTP Host and URL filtering at international gateways | Precise to a page or path, but ineffective for an encrypted HTTPS path |
| October 2018 | A government evaluation records DNS blocking of about 150 overseas adult sites with three carriers | DNS controls were still used for some enforcement after URL filters appeared3 |
| 11 February 2019 | Corrective requests for SNI filtering covered 895 overseas sites across ten service providers | Plaintext SNI remained visible under HTTPS, but it identifies a broader host rather than a URL path4 |
| 28 February 2019 | KT corrected SNI filtering applied to some sites outside the requested list | Distribution and implementation errors can expand the scope beyond a reviewed list5 |
| October 2023 | The Constitutional Court upheld the corrective requests concerning the 895 sites | Legal review, corrective requests, policy guidance, and ISP implementation are separate stages6 |
| From 2024 | Statutory-threshold domestic CDN and cache operators received expanded obligations concerning illegal recordings | A response served from a domestic cache became a separate control point outside a gateway filter7 |
| May 2026 | The first emergency copyright-blocking orders covered 34 sites | This changed the speed of legal enforcement, not the underlying network protocol8 |
SNI filtering changes precision. A plaintext HTTP filter can see a path such as /page/a; TLS SNI usually distinguishes only the hostname. Lawful and unlawful pages on the same host can therefore share the impact. The KT correction in 2019 shows how that wider unit and list operations can combine into over-application.
Control is also moving to the endpoint. If a CDN serves a response from a domestic cache or terminates TLS, it sees values that an on-path observer cannot. The endpoint mechanics and the reason ECH cannot remove CDN policy are covered in SNI, ECH, and CDN control points.
DoT, DoH, and ECH remove different plaintext clues
DNS over TLS (DoT) and DNS over HTTPS (DoH) encrypt DNS queries and responses between the client and a recursive resolver. DoT defines a dedicated TLS transport; DoH carries DNS over HTTPS.910 Both make plaintext inspection or modification on the local path harder. The chosen resolver still receives the query and can apply response policy. DNSSEC authenticates DNS data; it does not conceal the queried name.
Encrypted Client Hello (ECH) encrypts ClientHelloInner, which contains the real SNI and other values such as ALPN. It became RFC 9849 in March 2026.11 A real connection normally needs four conditions:
- The client implements and enables ECH.
- A DNS HTTPS record delivers a usable ECHConfig, unless the client is otherwise preconfigured.
- The client obtains and uses that configuration.
- The server or CDN accepts and decrypts ECH.
This combination changes the premise of an on-path classifier that relies only on plaintext DNS or SNI. In some networks, a filter can no longer reach the same decision from the same signal. Calling that a universal unblock feature would still be wrong. The destination IP, timing and volume, known encrypted-DNS endpoints, and CDN or application policy remain. In Iran, OONI observed SNI filtering after names were resolved over DoH, and separate interference with DoT and DoH endpoints.12
July 2026 support is about connection conditions, not a product badge
“This browser supports ECH” is incomplete. Version, release channel, enterprise policy, DNS mode, the destination HTTPS record, and CDN support can change the negotiated result. Where public product documentation does not confirm ECH, this table says so rather than treating missing documentation as proof of no support.
| Environment | DoH or DoT | ECH | Important constraint |
|---|---|---|---|
| Chrome | Desktop Secure DNS offers an automatic mode; its default mode may fall back to plaintext | Policy control is documented on Linux, macOS, Windows, ChromeOS, and Android | Actual use depends on rollout, policy, HTTPS records, and server support13 |
| Microsoft Edge | Offers browser and enterprise DoH policy | Its ECH policy supports Edge 108+ on Windows, macOS, and Android; iOS is listed as unsupported | Server support, HTTPS DNS records, rollout state, and policy determine actual use14 |
| Firefox | Offers DoH with region-specific defaults and fallback policy | Introduced in 118 and enabled by default for supported sites from 119 | Disabling DoH, family safety, transparent proxies, or enterprise policy can disable ECH15 |
| Safari and Apple platforms | System DoH and DoT can be configured through NetworkExtension, MDM, and resolver discovery | Current Safari ECH defaults could not be confirmed from public product documentation | Separate system DNS configuration from browser TLS behaviour16 |
| Android | Private DNS has provided DoT since Android 9 | Platform ECH is documented from Android 17, API 37 | Target API, app networking stack, and server support all matter17 |
| Windows 11 | The DNS client supports DoH and DoT | Native Windows TLS ECH defaults are not established in public documentation | Browser implementations and operating-system DNS policy are separate18 |
| Linux | Varies by distribution and resolver; systemd-resolved offers DoT modes | No distribution-wide default | Verify the browser, TLS library, package build, and resolver independently19 |
Tools likewise need a distinction between implementing a protocol and observing one.
| Tool | What it can establish | Limitation |
|---|---|---|
| curl 8.8+ | --doh-url and experimental --ech can reproduce an application connection | ECH is off by default and requires TLS 1.3, a compatible TLS backend, and ECHConfig acquisition20 |
BIND dig and Knot kdig | Inspect HTTPS type 65 ech values and compare DoH or DoT queries | A published DNS value does not prove that a browser negotiated ECH21 |
| OpenSSL 4.0 | Provides RFC 9849 client and server APIs plus s_client options | Installing the library does not enable ECH in an application or server22 |
| Wireshark | Locates ClientHello and connection termination, and can inspect the outer ECH structure or controlled key-log tests | Without test keys it cannot reveal the real SNI inside ClientHelloInner; it is an analyser, not an access tool23 |
| OONI Probe | Compares DNS, TCP, TLS, and HTTP results across networks | One anomaly does not establish intent or identify the actor1 |
The table works better as a verification plan than a shopping list. Record whether the HTTPS record exists, whether the client offered ECH, whether the endpoint accepted it, and what DNS and TLS behaviour follows a failure.
International cases show blocking and resistance moving up the stack
One pattern repeats across international cases. When one visible value is encrypted, filtering moves to another value or to a broader unit. Precision then falls and the chance of collateral damage rises.
| Country and period | Observed method and response | Lesson |
|---|---|---|
| China, 2020–2023 | The Great Firewall dropped connections carrying the old ESNI extension, then research documented statistical fingerprints and active probing against fully encrypted proxy traffic2425 | Hiding DNS and SNI does not remove extension or traffic-shape signals. The old ESNI event must not be generalized to modern ECH |
| Iran, 2020–2022 | OONI observed SNI-triggered resets or drops after DoH resolution, plus separate blocking of DoT and known DoH endpoints12 | Encrypted DNS and ECH are complements, not substitutes. One protected layer leaves other signals available |
| Russia, 2018–2021 | Operators blocked cloud IP ranges associated with Telegram and later applied SNI-triggered throttling to Twitter26 | A censor can widen scope to IP ranges or degrade performance instead of imposing a clean block |
| Kazakhstan, 2019 and 2020 | Authorities required a government root certificate for TLS visibility; major browser vendors blocked the certificate27 | The client trust store and browser update channel are independent control and response points |
| Spain, 2026 | OONI scanned 9.2 million domains and found more than 500,000 affected at least once by match-time IP blocks. Restricting 4–20 shared IPs disrupted more than 400,000 domains in some one-hour windows28 | IP blocking above SNI creates extensive collateral damage on shared CDNs and hosting |
| Egypt, UAE, and others, 2016–2018 | Signal used domain fronting on shared CDNs to raise the collateral cost of blocking; the approach became less sustainable after Google and AWS restricted the relevant behaviour29 | Resistance depends on cloud and platform product policy, not only a wire protocol |
“Circumvention” is not a permanent binary outcome in these cases. Packet variation or shared infrastructure may temporarily make classification harder, but filters can move to IPs, protocol fingerprints, or throttling. Broad controls then harm legitimate domains and infrastructure. The contest reallocates costs among visibility, precision, collateral damage, and platform policy.
Operators need an evidence bundle, not a screenshot
Availability and compliance work needs repeatable evidence rather than a single success or failure.
- Compare DNS answers. Record answers, TTLs, and extended errors from local, approved encrypted, and authoritative DNS sources without labelling every difference an attack.
- Record the stop point. Preserve TCP status, the server response after ClientHello, the certificate, and HTTP status in sequence.
- Cross-check networks and devices. Compare carriers, corporate networks, mobile networks, and managed endpoints.
- Separate decision makers and enforcement actors. Regulator deliberation, ISP implementation, and CDN Trust & Safety have different appeal paths.
- Estimate shared-infrastructure blast radius. Identify legitimate services sharing the IP, edge, certificate, or platform policy.
- Make encryption and fallback an explicit policy. Document whether DoH, DoT, or ECH falls back to plaintext, fails closed, or conflicts with a managed environment.
The best diagnostic question is not “Which sites open?” It is: who read which value, where did they make a decision, and what log proves it? That framing keeps privacy technology, enterprise security, legal enforcement, and ordinary outages from collapsing into one network symptom.
Cloud & infrastructure covers DNS, TLS, CDN, and fallback verification for production architectures. AX consulting connects regulatory requirements, availability, and operating procedures.
References
Support status was checked against public product documentation on 16 July 2026. Country implementations vary by operator and period; individual measurements are not presented as permanent country-wide behaviour.
Sources & notes29ExpandCollapse
Footnotes
-
OONI, How is Website Blocking Implemented? and OONI Glossary. These distinguish DNS tampering, IP and HTTP blocking, and SNI filtering. ↩ ↩2
-
Board of Audit and Inspection of Korea, Institutional Audit of the Korea Communications Commission, 2019. The report compares DNS, URL, and SNI methods and their rollout. ↩
-
Government Performance Evaluation Committee, 2018 self-evaluation report. It records DNS blocking of about 150 sites with three carriers in October 2018. ↩
-
Korea Communications Commission, Explanation of overseas illegal-site access restrictions, February 2019. It describes the 895 corrective requests and use of the SNI field. ↩
-
Korea Communications Commission and Korea Communications Standards Commission, Explanation of KT's over-application of SNI restrictions, 28 February 2019. ↩
-
Constitutional Court of Korea, Blocking of overseas illegal internet sites, cases 2019Hun-Ma158 and 232, 26 October 2023. ↩
-
Korea Communications Commission, Expanded responsibility for preventing distribution of illegal recordings, 2024; Korean Law Information Center, Enforcement Decree Article 35-2. ↩
-
Ministry of Culture, Sports and Tourism, First emergency blocking orders for copyright-infringing sites, May 2026. ↩
-
IETF, RFC 7858: Specification for DNS over Transport Layer Security. ↩
-
IETF, RFC 9849: TLS Encrypted Client Hello, RFC 9848, and RFC 9460. These define ECH and configuration delivery through HTTPS and SVCB. ↩
-
OONI, Measuring SNI based blocking in Iran, Blocking of DNS over TLS in Iran, and Internet censorship in Iran amid the Mahsa Amini protests. ↩ ↩2
-
Chrome Enterprise, EncryptedClientHelloEnabled policy and DnsOverHttpsMode policy; Google Chrome Help, Secure DNS. ↩
-
Microsoft Learn, Microsoft Edge EncryptedClientHelloEnabled policy and DnsOverHttpsMode policy. ↩
-
Mozilla Support, Understand Encrypted Client Hello and Firefox DNS over HTTPS. ↩
-
Apple, Enable encrypted DNS, DNS Settings device management payload, and Discover DNS resolvers with DDR. ↩
-
Android Developers, DNS over TLS support in Android P, Android 17 security configuration changes, and Network security configuration. ↩
-
Microsoft, Windows network security and
netsh dnsclient. ↩ -
freedesktop.org,
resolved.conf, which documentssystemd-resolvedDoT modes and fallback behaviour. ↩ -
curl,
CURLOPT_ECH, curl 8.8.0 changes, and curl command-line options. ↩ -
ISC BIND, BIND 9.20 manual pages; CZ.NIC,
kdigmanual. ↩ -
OpenSSL, OpenSSL 4.0 Final Release and
openssl-s_client. ↩ -
Wireshark, TLS display-filter reference and ECH decryption support. ↩
-
University of Maryland Breakerspace, Exposing and Circumventing SNI-based Censorship in China with ESNI, 2020. This measured blocking of the draft ESNI extension used at the time. ↩
-
USENIX Security 2023, How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic. ↩
-
RIPE Cooperation WG, Russian IP blocks associated with Telegram; Censored Planet, Throttling Twitter in Russia. ↩
-
Mozilla, Mozilla takes action to protect users in Kazakhstan and Kazakhstan Root CA, 2020; Google, Protecting Chrome users in Kazakhstan. ↩
-
OONI, Collateral Damage of IP-Based Blocking During LALIGA Football Streaming in Spain, 30 June 2026. ↩
-
Signal, Doodles, stickers, and censorship circumvention and Looking back on the front; Tor Project, Domain Fronting Is Critical to the Open Web. ↩


