
DNS over HTTPS(DoH)는 DNS 요청을 암호화해 보안과 프라이버시를 크게 높여주는 최신 인터넷 표준입니다. 대부분의 브라우저가 조만간 기본으로 지원할 것으로 예상되지만, 아직은 파이어폭스 외에는 실험적 기능으로 분류된 경우가 많아 몇 가지 추가 단계를 거쳐야 합니다. 이 글에서는 주요 브라우저별로 DoH를 켜는 방법을 하나씩 정리했습니다.
DNS over HTTPS를 활성화해야 하는 이유
웹사이트에 접속할 때 컴퓨터는 먼저 입력한 도메인 이름과 연결된 IP 주소를 알아내기 위해 DNS 서버에 질의를 보냅니다. 그동안 이 요청은 평문(암호화되지 않은 상태)으로 전송됐기 때문에, 실제 연결이 HTTPS로 암호화되어 있더라도 제3자가 이를 가로채면 어떤 사이트에 접속하려는지 파악할 수 있었습니다.
DNS over HTTPS는 HTTPS 프로토콜을 이용해 DNS 요청 자체를 암호화해 도청을 원천적으로 차단합니다. 더 안전하고 사적인 웹 서핑을 위한 필수 기능인 셈입니다. 물론 DNS 필터링으로 트래픽을 통제하던 서비스 입장에서는 반갑지만 않은 기술이기도 합니다.
파이어폭스(Firefox)에서 DoH 활성화하기
DoH를 가장 먼저 지원한 파이어폭스는 설정 방법도 가장 간단합니다.
1. 주소창에 about:preferences를 입력하거나 '설정' 메뉴로 이동합니다.

2. '일반' 탭에서 아래로 스크롤해 '네트워크 설정' 항목을 찾은 뒤 '설정...' 버튼을 클릭합니다.

3. 팝업 창에서 다시 아래로 스크롤해 'DNS over HTTPS 사용' 항목을 확인합니다.

4. 기본 제공자인 Cloudflare를 선택하거나, '사용자 지정'을 골라 Quad9, Google Public DNS 등 원하는 제공자를 지정합니다.
이것으로 끝! 이제 파이어폭스의 모든 DNS 요청이 암호화됩니다.
모바일용 파이어폭스에는 아직 별도 설정 메뉴가 없지만, 안드로이드에서는 다음 방법으로 활성화할 수 있습니다.

1. 주소창에 about:config를 입력합니다.
2. 'network.trr.mode'를 검색한 뒤 위쪽 화살표 버튼을 눌러 값을 2로 변경합니다.
이제 안드로이드용 파이어폭스에서도 DoH를 사용할 수 있습니다!
크롬(Chrome) 및 크로뮴 기반 브라우저에서 DoH 활성화하기
크롬에도 DoH 기능이 있지만 '플래그(flag)'로 분류된 실험적 기능입니다. 실험 기능을 건드리면 브라우저가 불안정해질 수 있지만, DoH 플래그 자체는 부작용이 거의 없습니다. 다만 실험 기능인 만큼 항상 의도대로 작동한다고 보장할 수 없으므로, 정식 지원이 포함된 안정 버전이 나오기 전까지는 크로뮴 계열 브라우저가 언제나 DoH를 사용하리라 기대하지 않는 것이 좋습니다.
참고로 최신 크롬에서는 설정 > 개인정보 및 보안 > 보안 메뉴의 '보안 DNS 사용' 옵션으로도 같은 기능을 켤 수 있습니다.
다른 플래그들도 궁금하다면 주소창에 chrome://flags를 입력해 확인해 보세요.
아래 절차는 크롬과 크로뮴 코드를 기반으로 한 모든 브라우저에 동일하게 적용됩니다. 달라지는 것은 주소창에 입력하는 브라우저 이름 정도입니다(아래 목록 참고). 실제로 크롬용 플래그가 거의 모든 크로뮴 브라우저에서 작동합니다.

1. 크롬이라면 주소창에 chrome://flags/#dns-over-https를 입력합니다.
2. 'Secure DNS lookups'(보안 DNS 조회) 옵션을 찾아 오른쪽 메뉴에서 'Enabled'로 변경합니다.
3. 설정을 적용하기 위해 크롬을 재시작합니다.
이 방법은 데스크톱과 모바일 크롬 모두에서 작동합니다.
엣지(Edge)에서 DoH 활성화하기

구형 EdgeHTML 기반 엣지는 DoH를 지원하지 않았지만, 크로뮴 기반으로 전환한 현재의 마이크로소프트 엣지는 정식으로 지원합니다. 주소창에 edge://flags/#dns-over-https를 입력해 활성화하거나, 설정 > 개인정보, 검색 및 서비스 > 보안 메뉴에서 'DNS 공급자'를 선택해 켤 수도 있습니다.
브레이브(Brave)에서 DoH 활성화하기

개인정보 보호와 광고 차단에 강점을 둔 브레이브도 DoH 활성화 방법은 크롬과 거의 같습니다. 주소창에 brave://flags/#dns-over-https를 입력하면 됩니다.
모바일에서는 현재 chrome://flags/#dns-over-https만 작동합니다.
오페라(Opera)에서 DoH 활성화하기

오페라는 2013년 크로뮴 소스 코드로 넘어왔기 때문에 다른 크로뮴 기반 브라우저와 같은 방식을 따릅니다. 주소창에 opera://flags/#dns-over-https를 입력하면 관련 설정을 찾을 수 있습니다.
현재로서는 오페라 모바일 버전에서 작동하지 않는 것으로 보입니다.
비발디(Vivaldi)에서 DoH 활성화하기

뛰어난 커스터마이징으로 사랑받는 생산성 브라우저 비발디 역시 크로뮴 코드베이스 덕분에 손쉽게 DoH를 설정할 수 있습니다. 주소창에 vivaldi://flags/#dns-over-https를 입력하세요.
비발디 모바일 베타에는 아직 DoH 옵션이 포함되어 있지 않습니다.
기타 크로뮴 기반 브라우저
그 밖의 크로뮴 기반 브라우저라면 위의 패턴을 그대로 따르면 됩니다. 사실상 모든 크로뮴 계열 브라우저에 적용되는 방식입니다.
크로뮴 계열 브라우저는 자체 DNS 제공자를 고르는 옵션을 따로 제공하지 않는다는 점에 유의하세요. 플래그를 'Enabled'로 바꾸면 기본값으로 Cloudflare가 지정되는데, 직접 변경하고 싶다면 아래 방법을 따르면 됩니다.

1. 바탕화면 등에 있는 크롬/크로뮴 바로 가기를 마우스 오른쪽 버튼으로 클릭합니다.
2. '대상(target)' 입력란에서 Chrome.exe로 끝나는 문자열 맨 뒤, 닫는 따옴표 다음에 공백을 하나 추가하고 아래 내용을 붙여넣습니다.--enable-features="dns-over-https<DoHTrial" --force-fieldtrials="DoHTrial/Group1" --force-fieldtrial-params="DoHTrial.Group1:server/https%3A%2F%2F1.1.1.1%2Fdns-query/method/POST
3. 문자열 속 '1.1.1.1'은 Cloudflare의 서비스 주소입니다. 선호하는 제공자의 주소로 바꿔 주세요.
4. '적용'을 클릭한 뒤 브라우저를 재시작합니다.
향후 버전에서는 크롬과 크로뮴 기반 브라우저가 여러 DNS 제공자를 지원할 계획입니다.
DoH를 아직 지원하지 않는 브라우저
- Safari – iOS 14와 macOS 빅서부터 시스템 차원의 암호화 DNS를 지원하기 시작했지만, 브라우저 자체의 DoH 설정 메뉴는 제공하지 않습니다.
- Internet Explorer – 암호화된 DNS를 전혀 지원하지 않습니다.
DNS over HTTPS 테스트하기
설정이 끝났다면 제대로 작동하는지 확인해 봅시다!
첫 번째 방법은 1.1.1.1/help에 접속해 Cloudflare의 테스트 서비스를 이용하는 것입니다. DNS over HTTPS 항목이 'Yes'로 표시되면 성공입니다.

또는 DNSLeakTest를 이용해 확인할 수도 있습니다. 자신의 위치나 인터넷 제공업체가 아닌 다른 결과가 표시되면 DoH가 정상적으로 작동하고 있는 것입니다.

작동하지 않을 때는?
브라우저에서 DoH를 켰는데도 테스트를 통과하지 못한다면 검색으로 문제를 해결해 볼 수 있습니다. 하지만 DoH는 비교적 새로운 기술이고 아직 많은 브라우저에서 정식 지원되지 않았기 때문에 답을 찾기 쉽지 않을 수 있습니다. 선호하는 브라우저가 안정 버전에서 이 기능을 지원하기 전까지는, 버그 없이 DoH를 사용할 수 있는 가장 확실한 선택지는 파이어폭스입니다.