재귀 DNS 조회, 단계별로 살펴보기
브라우저
example.com 요청
리졸버
내 ISP / 1.1.1.1
루트 + TLD
.com 운영 주체는?
권한 네임서버
실제 응답
체인의 각 단계도 DNS 조회이며 이후 캐시됩니다
DNS over HTTPS 해설: 그것이 하는 일과 보호하지 않는 것
고전적인 DNS에는 사람들을 놀라게 하는 프라이버시 특성이 있습니다. 여러분의 조회가 평범하고 읽을 수 있는 텍스트로 이동한다는 점입니다. 여러분과 리졸버 사이의 어떤 네트워크도(카페 라우터, 제공업체, 뚫린 핫스팟) 여러분이 어떤 이름을 묻는지 볼 수 있고, 원칙적으로는 답을 바꿀 수도 있습니다. DNS over HTTPS, 보통 DoH로 줄여 부르는 이것은, 그 조회들을 여러분의 브라우저가 이미 웹사이트에 쓰는 것과 같은 암호화로 감쌉니다.
DoH는 진정으로 유용하지만, 또한 널리 과장되어 팔리기도 합니다. 그것은 특정한 대화의 특정한 구간 하나를 보호합니다. 정확히 어떤 구간인지 이해하면, 그것이 얼마의 가치가 있는지와 그것이 결코 여러분을 위해 할 일이 무엇이었는지를 모두 알 수 있습니다.
조회가 이동할 수 있는 세 가지 방법
여러분의 기기는 보통 인터넷의 DNS와 직접 말하지 않습니다. 애플리케이션이 운영 체제의 스텁 리졸버에게 묻고, 스텁은 재귀 리졸버에게 묻는데, 그것은 여러분의 네트워크가 할당한 서비스이거나 여러분이 고른 것입니다. DNS 풀이가 동작하는 방식은 그 사슬을 온전히 따라갑니다. DoH는 스텁이 리졸버와 말하는 방식을 바꿉니다.
| 고전 DNS | DNS over TLS (DoT) | DNS over HTTPS (DoH) | |
|---|---|---|---|
| 전송 | 평범한 UDP, 보통 포트 53 | TLS, 자체 포트 853 | HTTPS, 웹 트래픽과 포트 443 공유 |
| 암호화 | 아니요 | 예 | 예 |
| 로컬 네트워크가 보는 것 | 여러분이 조회하는 이름들 | DNS를 쓰고 있다는 것, 어떤 이름인지는 아님 | 평범한 웹 요청과 구별하기 어려움 |
| 답이 인증됨 | 아니요 | TLS 연결로 | HTTPS 연결로 |
DoT와 DoH 사이의 실용적인 차이는 대개 섞여 드러나지 않는 것과 누가 설정을 지배하는지에 관한 것입니다. DoT는 전용 포트에서 스스로를 알리므로, 네트워크는 그것을 의도적으로 허용하거나 막을 수 있습니다. DoH는 평범한 웹 트래픽 안에서 이동하므로, 네트워크가 그것을 골라내기 더 어려워지고, 흔히 시스템 전체가 아니라 애플리케이션별로 설정됩니다(브라우저는 DoH를 쓰는데 시스템의 나머지는 쓰지 않을 수 있습니다).
DoH가 보호하는 것
DoH를 켜면 여러분의 기기와 리졸버 사이의 그 한 구간은 암호화되고 인증됩니다. 로컬 네트워크는 더 이상 여러분이 조회하는 이름을 읽을 수 없고, 돌아오는 길에 답을 조용히 다시 쓸 수도 없습니다. 믿지 않는 네트워크에서는(공용 Wi-Fi가 교과서적인 경우입니다) 이것은 진짜 개선인데, 로컬 네트워크가 이전에는 조회를 엿보거나 손대기에 가장 쉬운 자리였기 때문입니다.
DoH는 리졸버 자체도 인증하는데, HTTPS가 웹사이트를 인증하는 것과 같은 방식입니다. 여러분의 스텁은 자기가 의도한 리졸버와 정말로 말하고 있다는 것을 알며, 로컬 네트워크가 끼워 넣은 사기꾼과 말하는 것이 아닙니다. 고전 DNS에서는 그 확신이 그저 존재하지 않습니다. 먼저 도착한 위조된 답이 받아들여집니다.
DoH가 보호하지 않는 것
세 가지 제한이 중요하고, 어떤 정직한 설명도 그것들을 건너뛰어서는 안 됩니다.
- 리졸버는 여전히 모든 것을 봅니다. 암호화는 여러분과 리졸버 사이에서 돌아가므로, 리졸버는 답하기 위해 모든 조회를 필연적으로 읽습니다. DoH는 여러분의 신뢰를 로컬 네트워크와 제공업체로부터 리졸버 운영자에게 옮깁니다. 신뢰의 필요를 없애지는 않습니다.
- 목적지는 여전히 보입니다. 조회가 끝난 뒤 여러분의 기기는 사이트의 IP 주소에 연결되고, 네트워크는 이름을 볼 수 없을 때조차 여러분이 어떤 주소에 연결하는지 관찰할 수 있습니다. 암호화된 DNS는 질문을 숨기지, 그 뒤에 이어지는 여정을 숨기지는 않습니다.
- 덮이는 것은 그 한 구간뿐입니다. 리졸버가 여러분의 조회를 손에 넣으면, 여러분을 대신해 권위 서버들로부터 답을 가져옵니다. DoH는 대화의 그쪽 편에 대해 아무것도 말하지 않고, 웹 트래픽 자체를 암호화하지도 않습니다. 그것은 사이트로의 연결에서 HTTPS와 TLS의 일로 남습니다.
DoH는 DNSSEC가 아니며, 어느 것도 다른 것을 대신하지 않습니다
이 두 기술은 둘 다 DNS와 보안을 다루기 때문에 늘 혼동되지만, 푸는 문제는 정반대입니다. DoH는 기밀성을 제공합니다. 여러분과 리졸버 사이의 대화를 비공개로 유지합니다. DNSSEC는 진정성을 제공합니다. 답이 정말로 도메인 소유자에게서 왔고 도중 어디에서도 바뀌지 않았음을, 리졸버가 DNS 자체에 게시된 디지털 서명을 이용해 확인할 수 있게 합니다.
암호화된 채널이 위조된 답을 나르고 있어도 그것은 여전히 위조된 답이며, 그래서 DoH만으로는 답이 참임을 증명할 수 없습니다. 그리고 서명되고 검증 가능한 답도 여전히 대낮에 이동할 수 있으며, 그래서 DNSSEC만으로는 아무것도 비공개로 유지되지 않습니다. 함께 쓰면 서로의 틈을 메웁니다. DNSSEC가 동작하는 방식은 서명 쪽을 자세히 다룹니다.
| DoH / DoT | DNSSEC | |
|---|---|---|
| 보호하는 것 | 여러분 조회의 프라이버시 | 답의 진실 |
| 동작 범위 | 여러분의 기기와 리졸버 사이 | 도메인 소유자와 검증하는 리졸버 사이 |
| 없으면 | 네트워크가 조회를 엿보거나 손댈 수 있음 | 위조된 답이 진짜로 받아들여질 수 있음 |
| 비유 | 봉인된 봉투 | 그 안에 든 편지의 서명 |
조용한 세부 사항: DoH가 실패하면 무슨 일이 일어나는가
암호화된 DNS 구현들은 암호화된 경로가 실패할 때 일반적으로 두 가지 동작 가운데서 고릅니다. 기회주의적 모드에서는 기기가 조용히 고전 DNS로 돌아가므로, 조회는 계속 동작하지만 눈에 보이는 불평 하나 없이 보호를 잃습니다. 엄격한 모드에서는 기기가 돌아가기를 거부하고, 암호화된 서비스에 다시 닿을 수 있을 때까지 이름은 그저 풀리지 않게 됩니다. 어느 것도 결함이 아닙니다. 전자는 프라이버시를 신뢰성과 바꾸고, 후자는 반대쪽 교환을 합니다. 그러나 여러분의 브라우저나 시스템이 어느 동작을 쓰는지 알 가치는 있는데, 기회주의적인 되돌아감은 여러분의 보호가 그것을 가장 원했던 바로 그 적대적인 네트워크에서 사라질 수 있음을 뜻하고, 아무도 여러분에게 말해 주지 않을 것이기 때문입니다.
DoH는 어디에서 설정되는가
DoH는 스텁 리졸버가 설정되는 곳에 살며, 그것은 실제로는 브라우저와 운영 체제를 뜻합니다. 많은 브라우저는 자체 암호화 DNS 설정을 가지고 있고 그것을 기본으로 켜 둘 수 있는데, 브라우저가 고른 리졸버를 사용합니다. 운영 체제도 시스템 전체의 암호화된 DNS 선택지를 점점 더 제공합니다. 그 갈라짐이 흔한 혼란 하나를 설명합니다. 브라우저는 DoH를 쓰는데 같은 기계의 다른 애플리케이션들은 여전히 고전 DNS를 쓸 수 있어서, 네트워크 수준의 점검에서는 둘이 한꺼번에 보일 수 있습니다.
전환 후: 누가 여전히 무엇을 볼 수 있습니까
전체 그림을 간결하게 바로 유지하는 방법은 관찰자 명단을 차례로 살펴보며 DoH가 켜진 뒤 각자가 무엇을 알게 되는지 묻는 것입니다:
| 관찰자 | 고전 DNS 사용 시 | DoH 사용 시 |
|---|---|---|
| 로컬 네트워크와 핫스팟 | 여러분이 조회하는 모든 이름이 평문으로 보입니다 | 리졸버로의 암호화된 연결이며, 그 안의 이름은 보이지 않습니다 |
| 여러분의 인터넷 제공업체 | 같은 평문 조회가 그 제공업체의 네트워크를 건너는 모습이 보입니다 | 리졸버 연결과, 그 뒤에 여러분이 연결하는 IP 주소가 보입니다 |
| 리졸버 운영자 | 그가 여러분을 위해 답하는 모든 조회입니다 | 변하지 않습니다: 여전히 그가 답하는 모든 조회를 읽습니다 |
| 여러분이 방문하는 웹사이트 | 그들의 주소로의 여러분의 연결입니다 | 변하지 않습니다: 이전과 같은 연결을 봅니다 |
이 표는 DoH를 따라다니는 논쟁도 설명합니다. 조회를 로컬 네트워크 밖으로 옮기면 조회는 더 적고 더 큰 리졸버들에 집중됩니다. 이는 적대적인 핫스팟을 벗어나는 데에는 좋지만, 인터넷의 일반적인 형태로서는 그만큼 분명히 좋다고 하기 어렵습니다. 그 논쟁의 어느 쪽도 위의 작동 방식을 바꾸지는 않습니다. 바뀌는 것은 로컬 네트워크가 예전에는 기본으로 받던 신뢰를 받을 자격이 있다고 여러분이 결정하는 리졸버가 어느 것인가 하는 점입니다.
실제 예시: 하나의 조회, 두 가지 방식
카페 Wi-Fi에 있는 노트북에서 shop.example.com에 대한 하나의 조회를 따라가 보겠습니다. 이름은 다른 어떤 일이 일어나기 전에 먼저 확인되어야 하며, 도메인의 IP 조회를 사용하면 리졸버가 결국 반환하는 주소를 볼 수 있습니다. 아래 두 경로에서 달라지는 것은 질문이 지나가는 통로뿐입니다.
고전 DNS에서는 노트북이 질문을 평범한 UDP로 카페의 리졸버에 보냅니다. 액세스 포인트, 카페 라우터의 펌웨어, 그리고 그 네트워크에서 트래픽을 기록하는 모든 것은 질문을 온전히 읽을 수 있습니다. 이 기기가 방금 shop.example.com을 물었다는 것입니다. 경로상의 어떤 기기가 답을 다시 써서 이름을 198.51.100.20으로 가리키게 하고 실제 주소인 203.0.113.44로는 가리키지 않게 한다면, 노트북은 차이를 알 방법이 없이 그것을 받아들입니다.
DoH에서는 노트북이 선택한 리졸버로 HTTPS 연결을 열고 같은 질문을 그 안에 보냅니다. 카페 네트워크가 보는 것은 포트 443에서 리졸버의 주소로 향하는 암호화된 연결이며, 그 형태는 평범한 웹 트래픽과 구별할 수 없습니다. 그 안의 이름은 결코 나타나지 않습니다. 돌아오는 답은 그 인증된 연결 안을 이동하므로, 로컬 네트워크상의 중간 장비는 연결을 완전히 끊지 않고서는 198.51.100.20으로 바꿔 넣을 수 없으며, 노트북은 그 사실을 알아차릴 것입니다.
두 번째 경로에서 변하지 않은 점에 주목하십시오. 리졸버 자체는 여전히 질문을 읽었습니다. 그렇게 해야 했기 때문입니다. 그리고 노트북이 답을 손에 넣으면, 같은 카페 네트워크가 훤히 보는 가운데 203.0.113.44로 연결을 엽니다. 질문은 비공개가 되었지만, 그 뒤의 여정은 그렇지 않았습니다. 이 한 쌍의 사실이 DoH의 전체 이야기를 축소한 것입니다.
켜야 할까요?
대부분의 사람에게는 그렇습니다. 눈을 뜨고서라면요. 여러분이 지배하지 않는 네트워크에서는, 암호화된 조회가 거의 비용 없이 가장 쉬운 엿듣기와 손대기의 지점을 없앱니다. 다만 셈은 분명히 하세요. 여러분은 조회들을 맡길 리졸버 운영자를 고르는 중이고, 나머지 트래픽의 프라이버시는 여전히 사이트들 자체가 HTTPS를 쓰는지에 달려 있습니다. DoH는 풀이 사슬의 한 구간에 대한 단단한 개선이며, 그것이, 더도 덜도 없이, 그것이 약속하는 바입니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
자주 묻는 질문
관련 글
“DNS 서버”라는 이름을 공유하는 세 계층
스텁 리졸버
내 기기 자체
재귀 리졸버
ISP, 라우터, 1.1.1.1
권한 네임서버
도메인 자체의 DNS
1.1.1.1이란 무엇인가요? 공개 DNS 리졸버 쉬운 가이드
어느 순간부터 “그냥 1.1.1.1을 쓰세요”는 가정용 네트워크 조언의 만능 테이프가 되었습니다. 때로는 도움이 됩니다. 때로는 질문에 답하는 주체만 바뀝니다. 실제로 무엇을 하는지 설명합니다.
재귀 DNS 조회, 단계별로 살펴보기
브라우저
example.com 요청
리졸버
내 ISP / 1.1.1.1
루트 + TLD
.com 운영 주체는?
권한 네임서버
실제 응답
체인의 각 단계도 DNS 조회이며 이후 캐시됩니다
DNS 확인 과정 설명: 도메인이 IP 주소로 변환되는 방식
DNS 조회 한 건을 처음부터 끝까지 따라가 봅니다. 브라우저 캐시, 재귀 확인자, 루트와 TLD의 안내, 권한 있는 서버의 답변, 그리고 돌아오는 길의 캐시까지 다룹니다.
“DNS 서버”라는 이름을 공유하는 세 계층
스텁 리졸버
내 기기 자체
재귀 리졸버
ISP, 라우터, 1.1.1.1
권한 네임서버
도메인 자체의 DNS
DNS 서버란? 종류와 작동 방식
DNS 서버란 무엇일까요? 재귀 리졸버, 권위 네임서버, 루트 서버와 TLD 서버라는 이름 뒤의 역할과, 각각이 무엇에 답하는지 알아봅니다.