사이트 차단은 어디서 일어날까 — DNS·SNI·CDN 통제점을 구분하는 법

warning.or.kr 안내 페이지, 아무 응답 없이 끝나는 흰 화면, 451 상태코드는 모두 "사이트가 막혔다"고 느끼게 한다. 하지만 같은 현상이 아니다. 어느 계층에서 연결을 멈췄는지, 다른 네트워크에서도 같은 결과가 나는지가 다르다.
이 차이를 지우면 진단도 틀어진다. DNS 응답 하나만 보고 SNI 차단이라고 단정하거나, CDN이 반환한 법적 제한 응답을 경로 중간 장비의 간섭으로 잘못 읽게 된다. 먼저 차단을 계층으로 나눠야 한다.
같은 차단처럼 보여도 관측 지점은 다섯 곳이다
OONI는 웹 차단을 IP 차단, DNS 간섭, HTTP 차단, SNI 필터링처럼 서로 다른 측정 범주로 나눈다.1 운영 관점에서는 서비스 종단 정책까지 더해 아래 다섯 층으로 보는 편이 유용하다.
| 통제 계층 | 판단 주체와 읽는 값 | 이용자에게 남는 지문 | 암호화가 바꾸는 것 |
|---|---|---|---|
| DNS 응답 | 재귀 리졸버 또는 경로 장비가 질의 이름과 응답을 처리 | 다른 IP, 차단 안내 주소, NXDOMAIN처럼 보이는 응답 | DoH·DoT는 클라이언트와 리졸버 사이의 관찰·간섭 지점을 줄인다 |
| IP 경로 | 라우터·필터가 목적지 주소를 기준으로 연결을 제한 | 여러 도메인이 함께 시간 초과 또는 연결 실패 | DoH·DoT·ECH로 목적지 IP가 숨겨지지는 않는다 |
| HTTP Host·URL | 평문 HTTP의 호스트와 경로를 검사 | 안내 페이지나 리다이렉트, 경로별 차단 | HTTPS가 Host 이후의 URL 경로를 암호화한다 |
| TLS SNI | ClientHello의 평문 server_name을 목록과 비교 | 인증서나 HTTP 응답 전에 연결이 끝날 수 있다 | ECH가 실제 SNI를 ClientHelloInner 안에 암호화한다 |
| CDN·플랫폼·원 서버 | TLS를 종료한 종단이 계정, URL, 지역, 법적 정책을 적용 | 403·451, 삭제 또는 사업자 고유 제한 페이지 | 전송 암호화가 종단의 결정을 숨기거나 바꾸지는 않는다 |
warning.or.kr 안내가 보였다는 사실만으로 DNS 방식이라고 확정할 수는 없다. DNS가 차단 안내 주소를 돌려준 경우와 평문 HTTP의 Host·URL 필터가 안내 페이지로 보낸 경우를 DNS 패킷과 HTTP 응답으로 구분해야 한다.
DNS 변조라는 표현도 증거와 함께 써야 한다. 권위 DNS와 다른 응답이 나와도 재귀 리졸버의 정책 응답, 경로상 응답 주입, 캐시 문제, 실제 권위 레코드 변경은 서로 다른 원인이다. 서로 다른 네트워크와 리졸버에서 DNS 응답을 비교하고, TCP 연결과 TLS 핸드셰이크, 최종 HTTP 상태를 함께 남겨야 차단 계층을 좁힐 수 있다.
국내 차단은 DNS에서 SNI와 CDN으로 관측점을 옮겨 왔다
감사원 자료는 국내 해외 불법정보 차단 방식을 DNS 단계, 2008년부터의 URL 단계, 2019년 SNI 단계로 구분한다.2 이 연혁은 한 기술이 이전 기술을 완전히 없앤 교체사가 아니다. HTTPS 보급으로 평문 URL이 보이지 않자 집행 가능한 관측점을 옮기고, 사안과 사업자에 따라 여러 방식을 병행해 온 과정에 가깝다.
| 시기 | 공개된 변화·사례 | 기술적으로 읽을 점 |
|---|---|---|
| 2008년부터 | 해외 관문 구간에서 평문 HTTP Host·URL 필터링 | 페이지·경로 단위로 정밀하지만 HTTPS 경로에는 적용하기 어렵다 |
| 2018년 10월 | 정부 자체평가에 통신 3사와 약 150개 해외 음란사이트의 DNS 차단 실적 기록 | DNS 방식이 URL 필터 도입 뒤에도 특정 집행에 쓰였음을 보여준다3 |
| 2019년 2월 11일 | 10개 통신사업자에 895개 해외 사이트 SNI 차단 시정요구 적용 | HTTPS에서도 평문 SNI를 읽을 수 있지만 URL 경로보다 범위가 넓다4 |
| 2019년 2월 28일 | KT가 요청 목록 밖 기존 URL 차단 대상 일부에 SNI 방식을 적용한 뒤 수정 | 목록 배포와 사업자 구현 차이가 과잉 적용으로 이어질 수 있다5 |
| 2023년 10월 | 헌법재판소가 2019년 895개 사이트 시정요구를 합헌으로 판단 | 네트워크 방식뿐 아니라 심의·시정요구·행정지도라는 법적 경로를 분리해 봐야 한다6 |
| 2024년부터 | 일정 규모 이상의 국내 CDN·캐시 사업자에게 불법촬영물 유통방지 의무 확대 | 해외 관문 필터 밖에서 국내 캐시가 응답하는 구조가 별도 통제점이 됐다7 |
| 2026년 5월 | 저작권 침해사이트 긴급차단 제도로 34개 사이트에 최초 명령 | 집행 속도를 바꾼 법적 절차이며, 새로운 네트워크 프로토콜은 아니다8 |
SNI 단계의 중요한 차이는 정밀도다. 평문 HTTP 필터는 /page/a 같은 경로를 볼 수 있지만 TLS SNI는 대개 호스트 이름까지만 구분한다. 같은 호스트에 적법한 페이지가 섞여 있어도 서비스 전체가 영향을 받을 수 있다. 2019년 KT 사례는 이 범위 차이와 목록 운영의 오차가 실제 과잉 적용으로 이어질 수 있음을 보여준다.
그리고 통제는 다시 종단으로 이동하고 있다. CDN이 국내 캐시에서 요청을 직접 처리하거나 TLS를 종료하면 경로 중간에서 읽지 못한 값도 종단은 안다. ECH가 CDN 통제를 없애지 못하는 이유는 SNI·ECH와 CDN 통제 지점에서 더 자세히 다뤘다.
DoT·DoH·ECH는 각각 다른 평문 단서를 줄인다
DoT(DNS over TLS)와 DoH(DNS over HTTPS)는 클라이언트와 재귀 리졸버 사이의 DNS 질의·응답을 암호화한다. DoT는 전용 TLS 전송을, DoH는 HTTPS 전송을 정의한다.910 둘 다 로컬 네트워크가 평문 질의 이름을 읽거나 응답을 바꾸기 어렵게 하지만, 선택한 리졸버는 질의 이름을 알고 응답 정책을 적용할 수 있다. DNSSEC는 응답 데이터의 출처와 무결성을 검증하는 기술이지 질의를 숨기는 기술이 아니다.
ECH(Encrypted Client Hello)는 TLS 1.3의 ClientHelloInner를 암호화해 실제 SNI와 ALPN 같은 값을 경로 관찰자에게서 감춘다. 2026년 3월 RFC 9849로 표준화됐다.11 실제 연결에는 네 조건이 함께 맞아야 한다.
- 클라이언트가 ECH를 구현하고 활성화해야 한다.
- DNS HTTPS 레코드가 유효한 ECHConfig를 전달해야 한다.
- 클라이언트가 그 설정을 간섭 없이 얻어야 한다.
- 서버·CDN이 ECH를 받아 복호화해야 한다.
이 조합은 평문 DNS나 SNI 하나에 의존한 경로형 분류의 전제를 바꾼다. 어떤 네트워크에서는 기존 방식이 같은 근거로 더 이상 성립하지 않는 결과가 생길 수 있다. 그러나 이를 보편적인 차단 해제 기능으로 부르면 틀리다. 목적지 IP, 연결 시각과 크기, 알려진 암호화 DNS 종단, CDN과 애플리케이션 정책은 남는다. 이란에서는 DoH로 이름을 조회해도 평문 SNI가 차단됐고, DoT·DoH 리졸버 종단 자체가 간섭 대상이 된 사례도 측정됐다.12
2026년 7월 지원 현황은 ‘제품명’보다 성립 조건으로 본다
"이 브라우저는 ECH를 지원한다"는 말만으로는 부족하다. 같은 제품도 버전, 배포 채널, 관리 정책, DNS 모드, 접속하는 사이트의 HTTPS 레코드와 CDN에 따라 실제 협상 결과가 달라진다. 공개 문서에서 확인되지 않는 항목은 미지원으로 단정하지 않고 확인 불가로 남겼다.
| 환경 | DoH·DoT | ECH | 확인할 제약 |
|---|---|---|---|
| Chrome | 데스크톱 Secure DNS 자동 모드 제공. 기본 모드는 실패 시 평문으로 돌아갈 수 있다 | Linux·macOS·Windows·ChromeOS·Android에서 정책 제어가 문서화돼 있다 | 실제 사용은 롤아웃, 관리 정책, HTTPS 레코드와 서버 지원에 좌우된다13 |
| Microsoft Edge | 브라우저와 기업용 DoH 정책 제공 | Windows·macOS·Android의 Edge 108 이상에서 ECH 정책을 지원하며 iOS는 미지원으로 표시한다 | 서버 지원, HTTPS DNS 레코드, 롤아웃과 관리 정책에 따라 실제 사용이 달라진다14 |
| Firefox | DoH를 제공하며 기본 적용 지역과 폴백 정책이 다르다 | 118에서 도입, 119부터 지원 사이트에서 기본 활성화 | DoH 비활성화, 가족 보호, 투명 프록시, 기업 정책이 ECH를 끌 수 있다15 |
| Safari·Apple 플랫폼 | NetworkExtension·MDM과 네트워크 자동 발견을 통한 시스템 DoH·DoT 지원 | Safari의 현재 ECH 기본값을 확정할 공개 제품 문서를 찾지 못했다 | 시스템 DNS 설정과 네트워크 조건을 따로 확인해야 한다16 |
| Android | Android 9부터 Private DNS 기반 DoT 제공 | Android 17(API 37)부터 플랫폼 ECH가 문서화됐다 | 타깃 API와 앱 네트워크 스택, 서버 지원이 모두 필요하다17 |
| Windows 11 | DNS 클라이언트가 DoH와 DoT를 지원 | Windows 네이티브 TLS의 ECH 기본값은 공식 문서로 확정하기 어렵다 | 브라우저 자체 구현과 OS DNS 정책을 구분해야 한다18 |
| Linux | 배포판·리졸버별로 다르며 systemd-resolved는 DoT 모드를 제공 | 배포판 공통 기본값 없음 | 브라우저, TLS 라이브러리와 패키지 빌드를 각각 확인해야 한다19 |
도구도 "지원"과 "검증 가능"을 구분해야 한다.
| 도구 | 할 수 있는 일 | 주의점 |
|---|---|---|
| curl 8.8 이상 | --doh-url, 실험적 --ech로 애플리케이션 연결을 재현 | ECH는 TLS 1.3과 지원 TLS 백엔드, ECHConfig 획득이 필요하며 기본값이 아니다20 |
BIND dig·Knot kdig | HTTPS(type 65) 레코드의 ech 값을 확인하고 DoH·DoT 질의를 비교 | DNS 게시 확인은 실제 ECH 협상 성공의 증거가 아니다21 |
| OpenSSL 4.0 | RFC 9849 ECH 클라이언트·서버 API와 s_client 옵션 제공 | 라이브러리 설치만으로 애플리케이션이나 서버의 ECH가 켜지지 않는다22 |
| Wireshark | ClientHello, 연결 종료 위치, ECH 외부 구조와 자체 테스트 키 로그 분석 | 키가 없으면 ClientHelloInner의 실제 SNI를 볼 수 없다. 분석기이지 우회 도구가 아니다23 |
| OONI Probe | 여러 네트워크에서 DNS·TCP·TLS·HTTP 결과를 대조 | 단일 측정 이상만으로 원인이나 행위자를 확정하지 않는다1 |
지원표는 제품 구매표보다 검증 계획으로 쓰는 편이 낫다. DNS HTTPS 레코드가 있는지, 클라이언트가 ECH를 제안했는지, 종단이 수락했는지, 실패하면 어느 DNS 경로와 TLS 형태로 돌아가는지를 실제 대상 환경에서 기록해야 한다.
해외 사례는 차단과 회피가 다음 계층으로 이동하는 과정을 보여준다
해외 사례에서 반복되는 패턴은 단순하다. 한 관측값이 암호화되면 필터는 다른 값이나 더 넓은 단위로 이동한다. 그럴수록 정밀도는 낮아지고 정상 서비스가 함께 영향을 받을 가능성은 커진다.
| 국가·시기 | 관측된 방식과 대응 | 남긴 교훈 |
|---|---|---|
| 중국, 2020~2023 | 구형 ESNI 확장 연결을 통째로 드롭했고, 뒤에는 완전히 암호화된 프록시 트래픽의 통계적 지문과 능동 탐사를 연구·적용했다2425 | DNS와 SNI를 숨겨도 확장자와 트래픽 형태가 새 분류 신호가 될 수 있다. 구형 ESNI 사례를 현재 ECH의 동작 여부로 일반화하면 안 된다 |
| 이란, 2020~2022 | DoH 조회 뒤에도 SNI 기반 RST·드롭이 관측됐고, DoT와 알려진 DoH 종단도 별도로 차단됐다12 | 암호화 DNS와 ECH는 대체재가 아니다. 단일 계층만 바꾸면 다른 평문 단서가 남는다 |
| 러시아, 2018~2021 | Telegram 관련 공유 클라우드 IP 대역 차단과 Twitter의 SNI 기반 선택적 속도 저하가 관측됐다26 | 차단자는 부수 피해를 감수해 IP 범위를 넓히거나 완전 차단 대신 성능을 떨어뜨릴 수 있다 |
| 카자흐스탄, 2019·2020 | 정부 루트 인증서 설치를 요구해 TLS 가시성을 확보하려 했고, 주요 브라우저 사업자가 해당 인증서를 차단했다27 | 브라우저의 신뢰 저장소와 업데이트 채널도 독립된 통제점이자 대응 지점이다 |
| 스페인, 2026 | OONI는 920만 개 도메인을 조사해 경기 시간대 IP 차단의 영향을 한 번 이상 받은 도메인이 50만 개를 넘는다고 측정했다. 한 시간에 4~20개 공유 IP만으로 40만 개가 넘는 도메인이 중단되기도 했다28 | SNI보다 넓은 IP 차단은 공유 CDN·호스팅에서 막대한 부수 피해를 만든다 |
| 이집트·UAE 등, 2016~2018 | Signal은 공유 CDN의 도메인 프론팅으로 차단의 부수 비용을 높였지만 Google과 AWS가 관련 동작을 제한하면서 지속 가능성이 약해졌다29 | 회피 가능성도 프로토콜만이 아니라 클라우드·플랫폼 사업자의 제품 정책에 달려 있다 |
여기서 "회피"를 성공·실패의 이분법으로 읽으면 중요한 부분을 놓친다. 일부 패킷 변형이나 공유 인프라가 한동안 분류를 어렵게 만들 수 있지만, 필터는 IP·프로토콜 지문·속도 제한으로 이동할 수 있다. 반대로 넓은 차단은 정상 도메인과 핵심 인프라까지 손상시킨다. 결국 기술 경쟁은 가시성, 정밀도, 부수 피해, 플랫폼 정책 사이의 비용 배분이다.
운영자는 오류 화면보다 증거 묶음을 남겨야 한다
서비스 가용성과 컴플라이언스를 함께 다루려면 한 번의 접속 성공 여부보다 재현 가능한 증거가 필요하다.
- DNS 답을 비교한다. 로컬 재귀 DNS, 승인된 암호화 DNS, 권위 DNS의 응답·TTL·확장 오류를 비교하되 차이를 곧바로 공격으로 단정하지 않는다.
- 중단 단계를 기록한다. TCP 연결, ClientHello 이후 서버 응답, 인증서, HTTP 상태와 응답 표식을 순서대로 남긴다.
- 망과 기기를 교차한다. 통신사, 사내망, 모바일망, 관리형 단말에 따라 결과가 달라지는지 본다.
- 판단과 집행 주체를 분리한다. 규제기관 심의, ISP 구현, CDN Trust & Safety의 이의 절차는 서로 다르다.
- 공유 인프라의 폭발 반경을 계산한다. 같은 IP·CDN 엣지·인증서 정책을 공유하는 정상 서비스가 함께 영향을 받는지 확인한다.
- 암호화와 폴백을 운영 정책으로 만든다. DoH·DoT·ECH의 성공 여부뿐 아니라 실패 시 평문으로 낮아지는지, 연결을 중단하는지, 관리형 환경과 충돌하는지를 명시한다.
차단 여부를 판단하는 가장 좋은 질문은 "어떤 사이트가 열리는가"가 아니다. 누가 어떤 값을 보고 어디에서 결정을 내렸으며, 그 결정을 입증할 로그가 무엇인가다. 이 질문을 기준으로 잡으면 프라이버시 기술, 기업 보안, 법적 집행과 장애를 같은 네트워크 현상으로 뭉개지 않을 수 있다.
DNS·TLS·CDN 통제점과 폴백 경로를 서비스 아키텍처에 맞게 검증하는 일은 클라우드 & 인프라에서, 규제·가용성·운영 절차를 함께 설계하는 일은 AX 컨설팅에서 다룬다.
참고 자료
지원 현황은 공개 제품 문서를 기준으로 2026년 7월 16일 확인했다. 국가별 구현은 사업자와 시기에 따라 달라질 수 있으므로 개별 측정을 국가 전체의 고정 동작으로 일반화하지 않았다.
출처와 각주29개펼치기접기
Footnotes
-
OONI, How is Website Blocking Implemented?와 OONI Glossary. DNS tampering, IP·HTTP blocking, SNI filtering의 측정 지문을 구분한다. ↩ ↩2
-
감사원, 방송통신위원회 기관운영감사, 2019. DNS·URL·SNI 방식과 시행 경위를 비교한다. ↩
-
정부업무평가포털, 2018년도 정부업무 자체평가 결과보고서. 2018년 10월 통신 3사와 약 150개 사이트의 DNS 차단 실적을 기록한다. ↩
-
방송통신위원회, 해외 불법사이트 접속차단 관련 설명자료, 2019년 2월. 895개 시정요구와 SNI 필드 이용을 설명한다. ↩
-
방송통신위원회·방송통신심의위원회, KT의 SNI 차단 과잉 적용 관련 설명, 2019년 2월 28일. ↩
-
헌법재판소, 해외 불법 인터넷사이트 접속차단 사건, 2019헌마158·232, 2023년 10월 26일. ↩
-
방송통신위원회, 불법촬영물 등의 유통방지 책임자 지정 대상 확대, 2024; 국가법령정보센터, 정보통신망법 시행령 제35조의2. ↩
-
문화체육관광부, 저작권 침해사이트 최초 긴급차단 명령, 2026년 5월. ↩
-
IETF, RFC 7858: Specification for DNS over Transport Layer Security. ↩
-
IETF, RFC 9849: TLS Encrypted Client Hello, RFC 9848, RFC 9460. ECH와 HTTPS/SVCB를 통한 설정 배포를 정의한다. ↩
-
OONI, Measuring SNI based blocking in Iran, Blocking of DNS over TLS in Iran, Internet censorship in Iran amid the Mahsa Amini protests. ↩ ↩2
-
Chrome Enterprise, EncryptedClientHelloEnabled 정책과 DnsOverHttpsMode 정책; Google Chrome Help, Secure DNS. ↩
-
Microsoft Learn, Microsoft Edge EncryptedClientHelloEnabled 정책과 DnsOverHttpsMode 정책. ↩
-
Mozilla Support, Understand Encrypted Client Hello와 Firefox DNS over HTTPS. ↩
-
Apple, Enable encrypted DNS, DNS Settings device management payload, Discover DNS resolvers with DDR. ↩
-
Android Developers, DNS over TLS support in Android P, Android 17 보안 구성 변경, Network security configuration. ↩
-
Microsoft, Windows network security와
netsh dnsclient. ↩ -
freedesktop.org,
resolved.conf.systemd-resolved의 DoT 모드와 폴백 동작을 설명한다. ↩ -
curl,
CURLOPT_ECH, curl 8.8.0 changes, curl command line options. ↩ -
ISC BIND, BIND 9.20 manual pages; CZ.NIC,
kdigmanual. ↩ -
OpenSSL, OpenSSL 4.0 Final Release와
openssl-s_client. ↩ -
Wireshark, TLS display filter reference와 ECH decryption support. ↩
-
University of Maryland Breakerspace, Exposing and Circumventing SNI-based Censorship in China with ESNI, 2020. 당시 초안 ESNI 확장 차단을 측정했다. ↩
-
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와 Kazakhstan Root CA, 2020; Google, Protecting Chrome users in Kazakhstan. ↩
-
OONI, Collateral Damage of IP-Based Blocking During LALIGA Football Streaming in Spain, 2026년 6월 30일. ↩
-
Signal, Doodles, stickers, and censorship circumvention와 Looking back on the front; Tor Project, Domain Fronting Is Critical to the Open Web. ↩


