Hacker News인프라 · 데브옵스

ISP가 DNS 쿼리를 가로채 가짜 IP로 응답하고 있었다

원제 So my ISP was hijacking my DNS

105 포인트댓글 84
Key Point

ISP의 DNS 변조는 신뢰할 수 없는 상황을 만드는데, DoT나 DoH 같은 암호화 프로토콜이 어떻게 이를 막는지, 그리고 DNSSEC가 이 문제를 해결하지 못하는 이유를 구체적으로 보여준다.

핵심 요약

  • Podman 컨테이너가 외부 사이트에 연결되지 않자 DNS 설정을 확인하던 중, Google DNS와 Cloudflare DNS에서 같은 IP를 받았으나 Cloudflare의 DoH 엔드포인트에선 전혀 다른 IP가 나왔다.
  • 첫 번째 DNS 응답의 IP를 조사하니 자신의 ISP 소유였고, ISP가 DNS 쿼리를 가로채 변조된 IP 주소를 반환하고 있음을 발견했다.
  • DNS 쿼리는 여러 네임서버를 거쳐 일어나며, 전통적으로 평문 UDP를 사용하기 때문에 ISP가 감시하거나 변조할 수 있다.
  • 해결책은 DoT(DNS over TLS)나 DoH(DNS over HTTPS)를 사용하거나 Unbound 같은 로컬 리졸버에서 다른 리졸버로 쿼리를 포워딩하는 것이다.
  • DNSSEC는 DNS 트래픽을 암호화하지 않고 암호화 서명으로 데이터 진위를 검증할 뿐이므로, ISP의 감시와 변조로부터 보호하지 못한다.
  • 2026년 10월 조사에 따르면 검사된 도메인 중 7.03%만 유효한 DNSSEC 체인을 갖추고 있으며, 변조된 응답이 DNSSEC 검증에 실패하면 리졸버는 SERVFAIL을 반환한다.
  • DoT와 DoH는 ISP의 감시와 변조를 막지만, 결국 DNS 리졸버를 신뢰해야 하며 리졸버 자체가 응답을 조작할 수는 있다.
  • 일반 인터넷 트래픽이 TLS로 암호화되어도 ISP는 TLS 핸드셰이크 중 SNI를 통해 호스트명을 볼 수 있고, 때론 목적지 IP만으로도 방문 사이트를 파악할 수 있다.
  • 필자는 현재 AdGuard DNS를 사용하며 dnscrypt-proxy가 상위 DNS 쿼리를 DNSCrypt로 암호화하고, 일부 컨테이너는 Cloudflare를 폴백으로 설정했다.
  • DNS 서버 장애 시 다른 컨테이너의 DNS 해석을 영향받지 않도록 모든 컨테이너를 로컬 DNS로 라우팅하지 않는다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗