한 홈랩(homelab) 운영자가 자신의 Podman 컨테이너에서 외부 사이트 접속 오류를 겪던 중, ISP(인터넷 서비스 제공자)가 DNS(도메인 이름 시스템) 질의를 가로채 변조하고 있음을 발견했습니다. 일반적인 DNS 질의에서는 ISP 소유의 변조된 IP 주소가 반환되었지만, Cloudflare의 DoH(DNS over HTTPS) 엔드포인트로 질의했을 때는 올바른 IP 주소를 얻을 수 있었습니다. 이 경험은 인터넷 연결의 기본인 DNS가 얼마나 취약할 수 있는지, 그리고 이를 보호하기 위한 다양한 기술의 역할과 한계를 명확히 보여줍니다.
이 운영자는 처음에는 여러 공용 DNS 서버에 질의했지만 모두 같은 변조된 IP를 받았고, DoH를 통해서야 실제 IP를 확인할 수 있었습니다. 이는 ISP가 53번 포트를 지나는 모든 평문 DNS 트래픽을 감시하고 변조했음을 의미합니다. Unbound와 같이 자체 호스팅하는 DNS 리졸버를 사용하더라도, 리졸버가 다른 네임서버와 주고받는 질의는 여전히 평문(UDP)일 수 있어 ISP의 관찰이나 변조에 취약합니다. DNSSEC(DNS Security Extensions)는 암호화가 아닌 암호학적 서명으로 데이터의 진위를 검증하지만, 트래픽 자체를 암호화하지는 않으며, 여전히 도메인에 유효한 서명 체인이 갖춰져 있어야 합니다. DoH와 DoT(DNS over TLS)는 클라이언트와 리졸버 사이의 전송 구간을 암호화하여 ISP의 중간자 공격을 어렵게 하지만, 리졸버 자체의 응답 조작까지 막지는 못하므로 결국 사용자는 리졸버 운영자를 신뢰해야 합니다. 또한, DNS 암호화만으로는 TLS 핸드셰이크의 SNI(Server Name Indication)나 목적지 IP를 통해 ISP가 방문 사이트를 파악하는 것을 완전히 막을 수 없습니다.
이 사례는 인터넷 사용자들이 자신의 온라인 활동을 보호하기 위해 단순히 특정 기술에만 의존해서는 안 된다는 중요한 교훈을 줍니다. DNSSEC, DoT, DoH 등 각 기술은 특정 위협에 대한 방어막을 제공하지만, 완벽한 해결책은 아닙니다. 따라서 이 운영자는 AdGuard와 dnscrypt-proxy를 사용하여 상위 DNS 질의를 암호화하고, DNS 장애에 대비해 Cloudflare를 대체 DNS로 설정하는 등 다층적인 방어 전략을 구축했습니다. 이는 1인 창업자나 소규모 팀이 서비스를 개발할 때도, 사용자 데이터 보호와 서비스 안정성을 위해 DNS 보안을 심각하게 고려해야 함을 시사합니다. ODoH(Oblivious DNS over HTTPS)와 같은 새로운 기술도 등장하고 있지만, 어떤 솔루션을 선택하든 결국 사용자가 신뢰할 수 있는 서비스 제공자를 선택하고, 다양한 보안 기술의 한계를 이해하는 것이 중요합니다.