DNS 작동 구조와 보안 대응

DNS의 계층형 이름 공간, 리소스 레코드, 네임서버와 리졸버의 조회 흐름, DNSSEC·DoH·DoT 기반 보안 대응을 정리한다.

2026-08-14 · 최초 발행 2025-07-16

이름과 주소 사이를 연결하는 DNS

DNS(Domain Name System)는 호스트 이름과 IP 주소를 서로 변환하는 분산 데이터베이스 시스템이다. 사용자는 www.example.com처럼 기억하기 쉬운 이름을 입력하고, 컴퓨터는 192.168.1.1 같은 IP 주소를 바탕으로 통신한다.

DNS는 UDP 프로토콜을 사용해 오버헤드를 줄이고 쿼리를 빠르게 처리할 수 있다. 또한 계층형 분산 구조로 정보를 나누어 관리하므로 단일 장애점을 피하면서 인터넷 규모에 맞춰 확장할 수 있다.

초기 인터넷에서는 HOSTS.TXT 파일에 컴퓨터 이름과 IP 주소의 대응 관계를 모아 관리했다. 하지만 인터넷이 커지면서 파일 크기, 갱신 빈도, 네트워크 트래픽, 이름 충돌 문제가 함께 커졌다. DNS는 이 중앙 집중식 관리 방식을 분산 관리 체계로 바꿨다.

계층형 이름 공간과 DNS 데이터

도메인 이름 공간은 루트(.)에서 시작해 하위 도메인으로 내려가는 역트리 구조다. 루트 아래에는 TLD(Top-Level Domain)가 있고, 그 아래에 SLD(Second-Level Domain)와 하위 도메인이 이어진다. 각 노드의 레이블은 최대 63자이며, 전체 도메인 이름은 255자 이내다.

.comorgnetedugovgoogle.commicrosoft.commail.google.comdrive.google.com

DNS 데이터베이스의 기본 단위는 Resource Record(RR)다. RR은 도메인 이름에 연결된 정보를 저장한다.

  • A 레코드는 도메인 이름과 IPv4 주소를 매핑한다.
  • AAAA 레코드는 도메인 이름과 IPv6 주소를 매핑한다.
  • CNAME 레코드는 도메인 이름의 별칭을 정의한다.
  • MX 레코드는 메일 교환 서버를 지정한다.
  • NS 레코드는 도메인의 네임서버를 지정한다.
  • PTR 레코드는 IP 주소에서 도메인 이름으로 가는 역방향 매핑을 제공한다.
  • SOA 레코드는 도메인의 권한 시작 지점을 정의한다.
  • TXT 레코드는 SPF, DKIM 등에 활용되는 임의 텍스트 정보를 저장한다.

특정 도메인에 속한 RR은 Zone File에 담긴다. Zone File에는 SOA와 NS 레코드, 호스트의 A·AAAA·CNAME 레코드, 서비스 관련 MX·TXT 레코드 등이 포함된다. 관리자는 이를 직접 편집하거나 DNS 관리 도구를 통해 생성·수정할 수 있다.

조회를 나누는 네임서버와 리졸버

네임서버는 도메인 네임스페이스 일부인 zone의 정보를 보관하고 질의에 응답하는 서버 프로그램이다. 역할에 따라 루트 네임서버, TLD 네임서버, 권한 네임서버, 캐싱 네임서버로 구분할 수 있다.

루트 네임서버는 인터넷 최상위 계층이며 전 세계 13개 루트서버 그룹이 운영된다. TLD 네임서버는 .com, .org 같은 최상위 도메인을 관리하고, 권한 네임서버는 특정 도메인에 대한 권한 있는 정보를 제공한다. 캐싱 네임서버는 이전 쿼리 결과를 보관해 조회 성능을 높인다.

클라이언트 측에서는 운영체제에 내장된 리졸버가 애플리케이션의 DNS 요청을 처리한다. 리졸버는 여러 네임서버에 직접 질의하는 반복적 쿼리를 수행할 수 있고, 로컬 DNS 서버에 요청한 뒤 그 서버가 다른 서버들에 질의하도록 하는 재귀적 쿼리도 사용할 수 있다. 캐싱은 반복 조회에 필요한 응답 시간을 줄이는 역할을 한다.

도메인 조회가 권한 서버에 도달하는 과정

브라우저에 www.example.com을 입력하면 운영체제의 리졸버는 로컬 DNS 서버에 질의를 보낸다. 로컬 DNS 서버에 캐시가 없다면 루트 DNS 서버에서 .com TLD 서버 정보를 얻고, 이어서 TLD 서버에서 example.com의 권한 서버 정보를 확인한다. 권한 서버가 반환한 www.example.com의 IP 주소는 사용자에게 전달되며, 브라우저는 그 주소로 HTTP 요청을 보낸다.

AuthoritativeDNSTLDRootDNSLocalDNSClientAuthoritativeDNS["권한 DNS 서버"]TLD["TLD 서버"]RootDNS["루트 DNS 서버"]LocalDNS["로컬 DNS 서버"]Client["클라이언트"]AuthoritativeDNSTLDRootDNSLocalDNSClientAuthoritativeDNS["권한 DNS 서버"]TLD["TLD 서버"]RootDNS["루트 DNS 서버"]LocalDNS["로컬 DNS 서버"]Client["클라이언트"]캐시 확인 (없음)www.example.com 조회 요청www.example.com 조회 요청.com 네임서버 정보 응답www.example.com 조회 요청example.com 네임서버 정보 응답www.example.com 조회 요청www.example.com의 IP 주소 응답www.example.com의 IP 주소 전달

DNS가 공격 표면이 되는 지점

DNS 캐시 포이즈닝은 악의적인 DNS 데이터를 캐시 서버에 넣어 사용자를 가짜 웹사이트로 유도하는 공격이다. 사용자가 정상 URL을 입력해도 악성 사이트로 연결될 수 있다.

DNS 증폭 DDoS 공격은 작은 요청으로 큰 응답을 생성하는 DNS 특성을 악용한다. 공격자는 스푸핑된 소스 IP로 DNS 쿼리를 보내 피해자에게 대량의 응답이 집중되도록 한다.

DNS 하이재킹은 DNS 통신을 가로채 다른 IP 주소로 연결하는 방식이다. 라우터 설정 변경이나 악성 소프트웨어 설치 등이 공격 경로가 될 수 있다.

DNSSEC(DNS Security Extensions)는 디지털 서명을 이용해 DNS 응답의 출처 인증과 데이터 무결성을 보장한다. 루트 DNS부터 말단 도메인까지 신뢰 체인을 형성하는 방식이다.

DoH(DNS over HTTPS)와 DoT(DNS over TLS)는 DNS 쿼리와 응답을 암호화해 중간자 공격과 도청을 막고 사용자 프라이버시를 보호한다. DNS 필터링은 악성 도메인 접근을 차단하며, 기업 네트워크에서는 데이터 유출 방지와 사용자 보호에 활용할 수 있다. DNS 모니터링은 비정상 트래픽 패턴과 DNS 기반 데이터 유출 시도를 탐지하는 데 쓰인다.

DNS가 향하는 운영 환경

주요 브라우저와 운영체제는 DoH와 DoT를 기본 지원하고 있으며, 주요 TLD와 국가 도메인에서도 DNSSEC 적용이 확산되고 있다. CDN 업체들은 에지 로케이션에 DNS 리졸버를 배치해 지연 시간을 낮추고 성능을 높이고 있다.

블록체인 기술을 활용해 중앙 집중식 관리의 한계를 극복하려는 분산형 DNS 시스템도 연구되고 있다. 보안 측면에서는 머신러닝으로 이상 패턴을 감지하고 제로데이 공격에 선제적으로 대응하는 AI 기반 DNS 보안이 다뤄진다. IoT 환경에서는 제한된 리소스에서도 효율적으로 운영할 수 있도록 경량화된 DNS 프로토콜 개발이 요구된다.

DNS는 이름 해석만 담당하는 보조 기능이 아니라 사용자 경험과 네트워크 보안에 직접 영향을 주는 인터넷 기반 시설이다. 계층형 분산 구조와 지속적인 보안·프로토콜 개선을 바탕으로, 인터넷의 발전과 함께 더 안전하고 효율적인 시스템으로 발전할 전망이다.

DNS네트워크도메인네임서버DNS 보안