네트워크 보안

[네트워크] DNS 서버 동작과 보안

rumy29 2025. 4. 12. 10:09

DNS(Domain Name System)란?

도메인 이름을 IP 주소로 변환해 주는 시스템

 

■ DNS란?

- 쉽게 말하면, 인터넷에서 사용되는 주소록

- 숫자의 연속인 IP 주소를 일일이 외울 수 없기 때문에 쉽게 기억할 수 있는 도메인 주소 체계가 만들어짐

- DNS에는 도메인 이름과 IP가 서로 매핑되어 저장되어 있음

  ▷ 사용자가 특정 도메인을 입력하면, 그에 매핑된 IP 주소를 찾아서 접속할 수 있도록 해줌

  ▷ 예를 들어, www.example.com와 같은 주소를 입력하면, 192.0.0.0과 같은 IP 주소로 변환시켜 주는 것

 

■ DNS 동작 과정

1. 웹 브라우저에 “www.naver.com”을 입력하면 먼저 PC에 저장된 Local DNS(기지국 DNS 서버)에게 “www.naver.com”이라는 host name에 대한 IP 주소를 요청함

 ▷ 기본적으로 인터넷을 사용하기 위해서는 IP를 할당해 주는 통신사(LG U+, KT 등)에 등록하게 됨

 ▷ 인터넷이 연결되면, 가입한 각 통신사의 기지국 DNS 서버가 등록되게 됨

 ▷ Local DNS에는 “www.naver.com”의 IP 주소가 있을 수도 있고, 없을 수도 있음

  ⚫ 전에 네이버에 접속했던 전적이 있다면, Local DNS에 정보가 캐싱되어 있어, 바로 PC에 IP 주소를 주고 끝냄

 

2. Local DNS는 이제 “www.naver.com” IP 주소를 찾아내기 위해 다른 DNS 서버들과도 통신(DNS)을 시작함

 ▷ Root DNS 서버에 “www.naver.com” IP 주소를 요청함

 

3. Root DNS 서버는 “www.naver.com” IP 주소를 찾을 수 없어 Local DNS 서버에게 “www.naver.com” IP 주소를 찾을 수 없다고 다른 DNS 서버에게 물어보라고 응답함

 

4. Local DNS 서버는 com 도메인을 관리하는 TLD DNS 서버(최상위 도메인 서버)에 다시 “www.naver.com”에 대한 IP 주소를 요청함

 ▷ TLD(Top-Level Domain) DNS Server: 도메인 등록 기관이 관리하는 서버로, 도메인 네임의 가장 마지막 부분을 말함

   ⚫ 쉽게 말하자면 .com이나 co.kr과 같은 도메인을 관리하고 부여하는 서버

 

5. com 도메인을 관리하는 DNS 서버에도 해당 정보가 없으면 Local DNS 서버에게 “www.naver.com”의 IP 주소를 찾을 수 없다고 다른 DNS 서버에게 물어보라고 응답을 함

 

6. 이제 Local DNS 서버는 naver.com DNS 서버(Authoritative DNS 서버)에게 다시 “www.naver.com”의 IP 주소를 요청함

 

7. naver.com DNS 서버에는 “www.naver.com”의 IP 주소가 있음

 ▷ Local DNS 서버에게 “www.naver.com”에 대한 IP 주소는 222.122.195.6이라는 응답을 함

 

8. 이를 수신한 Local DNS는 “”의 IP 주소를 캐싱하고 이후 다른 요청이 있을 시 응답할 수 있도록 IP 주소 정보를 PC에 전달해 줌

 ▷ Local DNS 서버가 여러 DNS 서버에 차례대로 Root DNS 서버->TLD DNS 서버(.com)->Authoritative DNS 서버(naver.com)를 요청하여 답을 찾는 과정을 ‘재귀적 쿼리(Recursive Query)’라고 부름

DNS 동작 과정

 

 

■ DNS 서버의 종류

루트 DNS 서버: 처음으로 DNS 쿼리 요청을 보내는 서버

 ▷ 트리 구조로 되어 있음

루트 DNS 서버

 

 

- TLD 서버(1차 도메인): 루트 도메인 아래 단계

 ▷ ‘국가최상위도메인(국가명을 나타냄)’과 일반적으로 사용되는 ‘일반최상위도메인’으로 구분됨

 ▷ 도메인을 구입할 경우, 1단계의 도메인 중에 하나를 선택하고 원하는 도메인명을 지정하여 등록함

도메인 체계
도메인명 종류

 

- Second-level DNS 서버(2차 도메인): TLD 서버에서 Second-level DNS 서버를 반환해 줌

 ▷ 요청받은 Second DNS 서버는 자체적으로 sub 도메인 서버로 또 넘기게 됨

- Sub DNS 서버(최하위 서버): www, mail, cafe 등등을 구분하는 최하위 서버

 ▷ naver 서버의 메일, 블로그, 카페 등 여러 서비스들을 구분하는 도메인 네임

- 각각의 도메인을 담당하는 DNS 서버는 각각의 서버 목록과 IP를 알고 있음

DNS 문자열 구조

 

 

■ DNS 보안

- DNS 캐시를 통해 더 빠른 응답 속도를 얻을 수 있지만 문제점이 있음

 ▷ 바이러스나 네트워크 오류, 혹은 여러 가지 이유로 DNS 캐시 정보가 변조될 수 있음

 ▷ 즉, 특정 도메인을 입력했을 때 원래의 IP 주소가 아닌 해킹된 사이트의 IP 주소로 변경될 수 있음

- DNS 스푸핑: 위조된 DNS 데이터가 DNS 확인자의 캐시에 투입되어 확인자가 도메인의 잘못된 IP 주소를 반환하게 만드는 공격

- DNS 터널링: 해커가 DNS를 악성 트래픽의 전송 수단으로 사용하여 네트워크 보안을 우회하는 사이버 공격

- DNS 하이재킹: 웹사이트로 향하는 트래픽을 새로운 목적지로 리디렉션 하여 공격자가 원본 사이트와 유사하게 만들어 민감한 개인 정보를 수집하는 공격

 

■ DNS 보안 대응방안

- 주기적으로 캐싱된 DNS 데이터를 정리해야 함

- DNS 최신 버전으로 패치

- DNSSEC와 같은 보안 프로토콜 적용

 ▷ DNSSEC(Domain Name System Security Extension): DNS 데이터 대상의 “데이터 위조/변조 공격”을 방지하기 위한 인터넷 표준 기술

 

 

참고

https://nordvpn.com/ko/blog/dns-explained/?srsltid=AfmBOoobvbni4cqk4836jzk1OX1FwBuleLziKAxVAeOtgo_oNZHVe47s

 

DNS란? 꼭 알아야 하는 도메인 네임 시스템의 정의와 작동 방식

DNS는 인터넷에서 도메인 이름과 IP 주소를 연결해 주는 서버입니다. 여기서 DNS란 무엇인지, DNS 서버란 무엇인지에 대해 이해할 수 있도록 도와줍니다. DNS 뜻과 작동방식에 대해 자세히 살펴봅시

nordvpn.com

 

https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EA%B0%9C%EB%85%90-%EB%8F%99%EC%9E%91-%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC

 

🌐 DNS 개념 & 동작 ★ 알기 쉽게 정리

​DNS (Domain Name System) 란? 도메인 네임 시스템 (Domain Name System, DNS) 은 호스트의 도메인네임 (www.example.com)을 네트워크주소(192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다. 예를 들

inpa.tistory.com

 

https://www.akamai.com/ko/glossary/what-is-dns-tunneling

 

DNS 터널링이란 무엇일까요? | Akamai

DNS 터널링은 DNS 프로토콜을 악용해 클라이언트-서버 모델을 통해 멀웨어와 기타 데이터를 터널링하는 악용 방법입니다.

www.akamai.com

 

https://www.checkpoint.com/kr/cyber-hub/network-security/what-is-dns-security/