본문 바로가기

IT기반지식/네트워크

네임서버 DNS S/W 정상운영 체크(UDP응답)


CHK_MAN_01
항목 네임서버 DNS SW 정상 운영
점검
목적

O 도메인이 위임 설정된 네임서버의 UDP/TCP 질의응답 가능여부 점검

O UDP DNS 응답하는 네임서버가 TCP DNS 응답도 정상 제공하는지 점검
  ※ DNS 표준에 의해 네임서버는 UDP 응답과 TCP 응답 모두를 제공해야 함
  ※ UDP 응답 없는 네임서버는 존재하지 않는 네임서버로 간주하여 점검되지 않음

점검
개요

O 네임서버가 UDP DNS 응답 가능하지만, TCP DNS 응답은 없는 경우

O 주된 원인 : 방화벽 장비 등에서의 TCP/53 포트 차단
  - DNS 표준을 구현한 대부분의 네임서버는 UDP/TCP DNS 응답이 가능함
  - 주로 방화벽 등의 장비에 TCP DNS용 포트(TCP/53)가 차단 설정되어 있는 경우
    ※ Zone Transfer 차단은 네임서버의 기능설정 옵션으로 설정해야 하며, TCP/53 포트 차단을 통한 방법은 일반 DNS 질의응답 절차에 불안정 현상 유발 가능

O TCP DNS 응답이 불가능한 경우, DNS 표준에 정의된 DNS 질의응답 절차가 충분히 수행될 수 없음
  - DNS 표준은 응답 DNS 데이터가 512바이트의 UDP DNS 응답 패킷으로 응답하기에 모자라는 경우, TCP DNS 질의 절차로 전환하는 메커니즘 정의
  - DNS 질의응답이 모든 경우에 성공적으로 완료되기 위해서는 TCP DNS 질의응답이 가능해야 함

개선 조치 가이드

O 대상 네임서버에 대하여 사이트 내부와 외부 인터넷에서 TCP/53 포트를 사용한 DNS 질의를 수행하여 TCP/53 포트 차단 원인 파악
  ※ 방화벽 등 차단시스템을 경유하지 않는 내부 네트워크에서 네임서버로 질의한 결과와 방화벽을 경유 네임서버에 질의하는 경우의 결과를 서로 비교하여 방화벽 차단 여부 확인
  ※ TCP DNS 질의방법은 아래 참조

O 방화벽을 경유하는 TCP DNS 질의 경우에만 응답이 없는 경우 : 방화벽의 차단 설정을 검사하여, TCP 53 포트 해제 설정 조치

O 방화벽을 경유하지 않는 TCP DNS 질의 경우에도 응답이 없는 경우 : 네임서버 설정에서 TCP DNS 질의응답 기능 관련 옵션 설정 사항 점검
  ※ 네임서버 자체가 TCP 응답 불능인 경우, 해당 네임서버 SW의 관련 옵션설정 검토 필요

점검방법

O TCP DNS 질의 방법 - MS Windows의 nslookup 사용 경우
  - 명령 : nslookup -vc -type=SOA ‘도메인네임‘ ’대상 네임서버 IP‘
  - "-vc" 옵션 : TCP/53을 사용하여 DNS 질의수행 옵션
  - "-type=SOA" 옵션 : 도메인네임의 SOA RR 질의 옵션

  - 예시 : TCP DNS 정상응답의 경우
C:\>nslookup -vc -type=SOA nida.or.kr 202.30.50.52
Server:         202.30.50.52
Address:        202.30.50.52#53

nida.or.kr
        origin = ns1.nida.or.kr
        mail addr = domain.nida.or.kr
        serial = 2008060501
        refresh = 1800
        retry = 300
        expire = 3600000
        minimum = 300
O TCP DNS 질의 방법 - BIND DNS의 dig 사용 경우
  - 명령 : dig +vc @'대상 네임서버' '도메인네임‘ SOA
  - "+vc" 옵션 : TCP/53을 사용하여 DNS 질의수행 옵션

  - 예시 : TCP DNS 정상응답의 경우
C:\>dig +vc @202.30.50.52 nida.or.kr SOA

; <<>> DiG 9.4.1-P1 <<>> +vc @202.30.50.52 nida.or.kr SOA
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1418
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;nida.or.kr.                    IN      SOA

;; ANSWER SECTION:
nida.or.kr.             300     IN      SOA     ns1.nida.or.kr. domain.nida.or.kr. 2008060501 1800 300 3600000 300

;; AUTHORITY SECTION:
nida.or.kr.             300     IN      NS      ns0.nida.or.kr.
nida.or.kr.             300     IN      NS      ns1.nida.or.kr.
nida.or.kr.             300     IN      NS      ns2.nida.or.kr.

;; ADDITIONAL SECTION:
ns0.nida.or.kr.         300     IN      A       202.30.50.52
ns0.nida.or.kr.         300     IN      AAAA    2001:dc5:0:10:202:30:50:52
ns1.nida.or.kr.         300     IN      A       202.30.50.51
ns2.nida.or.kr.         300     IN      A       61.74.72.161

;; Query time: 140 msec
;; SERVER: 202.30.50.52#53(202.30.50.52)
;; WHEN: Wed Jun 11 10:31:19 2008
;; MSG SIZE  rcvd: 201