많은 전문가들이 속도나 개인정보 보호를 위해 DNS를 수정하거나 DNS 공급자를 변경하라고 이야기하는 것을 보았습니다. 이러한 변화가 중요해 보일 수 있지만, 브라우저가 시스템과 동일한 DNS를 사용하지 않는다면 이는 헛수고가 되거나 효과가 없을 수 있습니다.

브라우저의 DoH(DNS-over-HTTPS) 기능은 브라우저 자체 내에서의 확인(resolution)을 제어합니다. 이 설정을 바로잡지 않으면 DNS 변경 사항은 아무런 의미가 없을 수도 있습니다. 그 이유와 해결 방법을 정확히 알려드리겠습니다.

다른 설정을 변경하기 전에 이 설정을 먼저 확인하세요

브라우저가 완전히 다른 서버를 통해 도메인을 확인하고 있을 수 있습니다

최신 브라우저는 종종 호스트와 독립적으로 DNS를 확인하므로, 라우터나 운영 체제에 적용된 설정이 항상 브라우저 DNS에 영향을 미치는 것은 아닙니다.

Chrome에서는 설정 -> 개인정보 및 보안 -> 보안으로 이동한 다음 ‘보안 DNS 사용’을 선택합니다. 이것이 ‘OS 기본값(사용 가능한 경우)’으로 설정되어 있으면, Chrome이 반드시 다른 공급자로 전환하는 것은 아니며 기존 DNS 연결을 암호화된 연결로 업데이트하려고 시도합니다. 이는 Chrome의 기본적이고 의도적으로 보수적인 모드로, 현재 DNS 공급자가 DoH를 지원하는 경우에만 활성화됩니다. Pi-hole과 같은 로컬 확인자를 사용하는 경우, Chrome은 기본적으로 시스템 DNS를 사용하며 이를 재정의하지 않습니다. Edge는 Chromium을 기반으로 하므로 Chrome과 동일하게 작동합니다.

Firefox에는 실제 재정의 기능이 있습니다. 설정 -> 개인정보 및 보안 -> DNS-over-HTTPS로 이동합니다. 여기서는 끄기, 기본 보호, 강화된 보호, 최대 보호 모드를 제공합니다. 강화된 보호나 최대 보호를 사용하면, 시스템이 사용하는 DNS와 관계없이 Firefox는 외부 확인자(기본적으로 Cloudflare, NextDNS도 사용 가능)를 통해 쿼리를 라우팅합니다.

DoH를 활성화한 상태와 비활성화한 상태에서 Browserleaks’ DNS 누출 테스트를 실행하여 이 동작을 확인할 수 있습니다. 두 테스트 간에 확인자가 변경된다면 브라우저가 DNS를 재정의하고 있다는 확인을 얻을 수 있습니다.

브라우저가 네트워크 전체에 영향을 미치는 결정을 내린 이유

DoH가 해결하기 위해 만들어진 개인정보 보호 문제 그리고 그로 인해 사라지는 제어권

이러한 동작은 의도된 것입니다. 브라우저의 DNS 계층은 실제 취약점을 해결하기 위해 의도적으로 추가되었습니다.

이 글도 확인해 보세요:  ChatGPT 대 Microsoft Bing AI 대 Google Bard: 최고의 AI 챗봇은 무엇인가요?

기존 DNS를 사용하면 DNS 쿼리가 일반 텍스트로 전송되기 때문에 사용자와 DNS 서버 사이에 있는 누구든 사용자의 도메인 조회를 볼 수 있습니다. 특정 상황에서는 이러한 쿼리가 가로채져 리디렉션될 수 있습니다. DNS-over-HTTPS는 암호화된 트래픽을 사용하여 쿼리를 감싸므로, 외부에서 보는 사람에게는 일반적인 웹 브라우징 트래픽과 동일하게 보입니다.

하지만 DNS-over-HTTPS는 네트워크로부터 DNS 제어권을 빼앗아 브라우저에 부여하므로, 트래픽의 각 부분마다 서로 다른 DNS 설정을 사용하게 될 수 있습니다.

DNS 계층 적용되는 트래픽 기본 제어 주체
라우터 DNS 네트워크의 모든 기기 ISP (변경하지 않은 경우)
시스템(OS) DNS 해당 기기의 모든 앱 사용자 (설정 시)
브라우저 DoH 해당 브라우저 내부의 트래픽만 브라우저 공급업체

브라우저의 DNS 계층은 시스템 및 라우터 계층 위에 위치하므로, 브라우저 트래픽은 하위 계층에서 이루어진 DNS 변경을 무시할 수 있습니다.

관련 기사

이 사실을 알고 브라우저 VPN 사용을 중단했습니다여러분도 그래야 합니다

보안 및 성능상의 이유로 브라우저 VPN은 피해야 합니다.

이 설정이 의도한 작업을 방해할 때

브라우저 DNS가 우선권을 가질 때 작동을 멈추는 실제 설정들

일반적으로 네트워크 수준의 DNS에 의존하는 설정이 이를 무시하는 브라우저에서 사용될 때, 무언가가 예상대로 작동하지 않으면 DoH를 인지하게 됩니다.

Pi-hole 및 네트워크 전체 광고 차단기는 DNS 필터링이 라우터 수준에서 수행되는 경우 브라우저 DoH가 이를 완전히 우회하기 때문에 종종 영향을 받습니다. 브라우저에서 광고가 계속 로드되는 것을 보게 되며, 같은 네트워크의 다른 앱에서는 잘 작동하는데 왜 그런지 의아해하게 될 것입니다.

자녀 보호 DNS 서비스는 DNS 쿼리가 확인되기 전에 가로채기 때문에 필터링에 효과적입니다. 그러나 브라우저가 쿼리를 다른 곳으로 보내면 필터는 쿼리를 전혀 볼 수 없습니다.

이러한 트레이드오프는 기업 및 학교 네트워크의 필수 요소인 DNS 필터링에도 적용됩니다. 브라우저가 이를 우회하여 라우팅하면 예상치 못한 액세스 문제가 발생할 수 있습니다.

이 글도 확인해 보세요:  사이버 보안에 관한 7가지 최고의 YouTube 채널

이 외에도, 일반적으로 호스트 이름으로 내부 주소에 액세스하는 경우 브라우저의 외부 확인자에는 필요한 레코드가 없을 것입니다. 로컬 DNS가 필요한 모든 요소는 다른 앱에서는 계속 확인되지만, 브라우저 내부에서는 단순히 확인되지 않습니다.

DNS 설정을 예상대로 작동하게 만드는 간단한 조정

모든 DNS 계층이 같은 방향을 가리키도록 해야 합니다. 그것만이 예측 가능하게 작동하는 유일한 방법입니다. 취해야 할 구체적인 단계는 사용자의 특정 설정에 따라 다릅니다.

제가 하는 방법은 다음과 같습니다:

상황 해결 방법
특별한 설정 없음 (DNS 변경 적용을 원함) 브라우저 DoH를 끄거나 Chrome을 자동(재정의하지 않음)으로 유지
Pi-hole, OpenDNS 또는 필터링 DNS 사용 브라우저에서 DoH 비활성화 (네트워크 수준 필터가 쿼리를 확인해야 함)
VPN 없이 공용 Wi-Fi 사용 DoH 유지 (네트워크 운영자로부터 쿼리 보호)
VPN 사용 브라우저 DoH 비활성화 (VPN이 이미 암호화된 DNS를 처리함)
회사 또는 학교 네트워크 IT 부서에 확인하거나, 네트워크 정책 우회를 방지하기 위해 DoH 비활성화
암호화와 사용자 지정 DNS 적용을 모두 원함 브라우저의 DoH 공급자를 시스템 DNS와 일치시킴 (예: 둘 다 Cloudflare로 설정)

DoH 자체가 문제는 아닙니다. 설정의 다른 부분과 일치시키기만 하면 됩니다. 이렇게 하면 DNS 변경 사항이 일관되고 예측 가능한 결과를 제공할 것입니다.

By 김민수

안드로이드, 서버 개발을 시작으로 여러 분야를 넘나들고 있는 풀스택(Full-stack) 개발자입니다. 오픈소스 기술과 혁신에 큰 관심을 가지고 있고, 보다 많은 사람이 기술을 통해 꿈꾸던 일을 실현하도록 돕기를 희망하고 있습니다.