X

DNS (Domain Name System)

I. 도메인 관리, DNS(Domain Name System)의 개요

가. DNS의 개념

  • 사람이 인식하기 쉬운 문자 도메인 이름에 대해 서버가 인식하는 IP주소를 제공해주는 시스템

나. DNS의 필요성

  • 네트워크 호스트가 인식 가능한 IP 주소를 사람이 기억할 수 있는 문자로 표현하도록 정보 제공 필요
  • 기하급수적으로 증가되는 인터넷 서비스의 가용성 및 효율성 제공 위해 호스트 이름 분산 관리 필요
  • 전세계 호스트에 대해 호스트 이름이 중복되지 않도록 중앙 기관(현재 ICANN)에서 체계적 관리 필요
  • 호스트 IP주소 변경, 신규 등록이 빈번해짐에 따른 호스트 이름 저장소 갱신 지연 최소화 필요

II. DNS의 유형 별 제공 서비스

유형 제공 서비스 서비스 기능
구성요소 별
제공 서비스
측면
Name Server
서비스
– 도메인 이름에 대한 질의 발생 시 보유 중인
도메인의 데이터를 조회하여 응답
Resource Record
서비스
– 도메인에 대한 정보를 제공하고 도메인을 지원하는
다양한 데이터 유형들로 각 필드를 주소 공간 구분
Zone File
서비스
– SOA(Start of Authority) 및 응답 레코드 영역 구성
– 도메인을 IP 주소나 URL 등으로 변환해주는 역할
Resolver
서비스
– Name Server에 원하는 Host에 대한 정보 질의, 추출
– Domain / Search / nameserver  지시자 등으로 구성
역할 별
제공 서비스
측면
Cache DNS
서비스
– Client 근처 DNS 서버에 DNS 질의 결과 메모리 저장
– 동일 DNS 질의 발생 시 메모리를 참조하여 신속 처리
Root DNS
서비스
– 최상위도메인(TLD)에 권한있는 네임 서버 목록 제공
– 전세계 루트서버는 13개, 애니캐스트 기반 서버 확장
단계 별 도메인 관리
서비스
– 도메인 이름을 트리 구성, 하위 네임 서버 정보 제공
– 최하위 네임 서버는 질의에 대한 IP주소 정보 제공
보안성
제공 서비스
측면
DNSSEC
서비스
– DNS 데이터 대상의 “데이터 위조-변조 공격” 방지
– 전자서명/검증 리소스 레코드(DNSKEY, RRSIG, DS)
DoT (DNS Over TLS)
서비스
– SSL/TLS 암호화 기반 전송 계층 도청 및 조작 방지
– TCP(853 Port), 4계층 암호화, 모니터링/필터링
DoH (DNS Over
HTTPS) 서비스
– DNS 질의 및 응답을 HTTPS 기반 End-to-End 암호화
– HTTPS(443port), 7계층암호화, 모니터/필터링 불가

 

III. DNS의 기본 동작 내용

① Client에서 Local DNS 서버로 www.kisa.or.kr에 대한 IP 주소를 질의
② Local DNS 서버는 cache에 도메인 정보 검색하여 존재 시 응답, 없으면 root 네임 서버에 질의
③ root 네임 서버는 Glue Record를 참조하여 .kr 네임 서버 IP 주소를 Local DNS 서버에 제공
④ Local DNS 서버는 .kr 네임 서버에 www.kisa.or.kr 주소 질의
⑤ .kr 네임 서버는 Glue Record를 참조하여 .or.kr 네임 서버 IP주소를 Local DNS 서버에 제공
⑥ Local DNS 서버는 .or.kr 네임 서버에 www.kisa.or.kr 주소를 질의
⑦ .or.kr 네임 서버는 Glue Record를 참조하여 kisa.or.kr 네임 서버 IP 주소를 Local DNS 서버에 제공
⑧ Local DNS 서버는 kisa.or.kr 네임 서버에 www.kisa.or.kr 대한 정보 질의
⑨ kisa.or.kr 네임 서버는 Zone File 참조, www.kisa.or.kr 에 대한 IP 주소를 Local DNS 서버에 제공
⑩ Local DNS 서버는 질의 요청 Client에 www.kisa.or.kr 주소 질의에 대한 IP 주소 정보 제공

IV. DNS의 구성요소

구성요소 설명
도메인네임
스페이스
– 데이터 이름 관련 규칙 정의
– 자원 레코드라는 정보 집합체로 표현
네임서버 – 도메인 트리 정보 관리 프로그램
– 도메인 네임 질의에 응답 서비스
해석기 – 네임서버로부터 도메인 네임 정보수집
– 네임 서버의 정보로 질의에 응답

 

V. 네트워크 통신 위한 DNS 관리 정보

가. 자원 레코드 및 질의 레코드 구조도

  • 질의 레코드는 클라이언트가 DNS 서버에 정보를 요청하는 용도로 사용

나. DNS 관리정보 구성요소

구분 구성요소 설명
자원
레코드
존재
Name – 검색할 가변길이의 도메인이름
– 질의 레코드에 기록, 서버에 요청
Type – 16bit 크기의 자원 종류 나타냄
Class – 프로토콜 패밀리를 의미,
– 인터넷에서는 IN 값을 사용
질의
레코드
존재
TTL (Time To Live) – 레코드 만기까지의 유효 시간(초)
– 서버에 저장되는 기간
RD Length – 자원 데이터의 길이 (byte 단위)
RD (Resource Data) – 자원 레코드의 데이터로 유형에 따라 구성, 크기가 별화

다. 자원 레코드의 Type

Type 설명
A(Address) – 호스트 IP 주소, IP주소 변환 시 사용
NS(Name Server) – 도메인을 관장하는 인증된 네임 서버
CNAME(Canonical Name) – 자원에 대한 접근 단순화
– 호스트 이름의 별명(alias)을 지원
SOA(Start of Authority) – 존의 시작을 표시
WKS (Well-Known Services) – 호스트가 제공하는 네트워크 서비스
PTR(Pointer) – IP 주소를 도메인이름으로 변환

 

V. DNS 주요 공격과 대응방안

가. DNS 주요 공격

  • IoT 환경에서 미라이봇 공격대상 등 다양한 공격에 노출

나. DNS 공격기법/대응방안

공격기법 설명 대응방안
캐시
포이즈닝
– Recursive DNS 서버에 악성 DNS 데이터 삽입하여 해커 Site로 유도 – DNSSEC 레코드 추가
– SIEM, FDS 적용
DNS
권한 탈취
– DNS의 OS 보안취약점 기반 시스템 권한 탈취 – Secure OS
– IP기반 ACL 적용
DDoS
공격 거점
– 공격 대상 시스템 소스IP로 설정 후 DNS 쿼리 – 신뢰 Host 설정
– Blackhole 옵션

 

VI. DNSSEC기반 취약점 해결방안

가. DNSSEC 절차

나. DNSSEC 구성요소

구성요소 역할 기능
DNSKEY 공개키 – 도메인존 공개키 배포
RRSIG 서명 데이터 – 개인키로 전자서명값 표현
DS 원본 데이터 – 인증 위임체계 구성 데이터
NSEC/NSEC3 원본 데이터 – DNS 데이터 부재인증 정의
  • 이외 IPsecKEY, SSHFP, CERT 등 리소스 레코드 Type 존재

 

VII. DNS 제공 서비스 동향과 변화 방향

  • 과학기술정보통신부에서 발표한 제5차 인터넷주소자원의 개발·이용촉진 및 관리에 관한 기본계획에 따라 초연결 네트워크 사회 실현, 인터넷 거버넌스 논의 주도권 확대 등을 위해 국가도메인 운영체계 고도화, 주소자원관리 역량 강화 등 추진 필요
Categories: 네트워크
도리: