Rookies/시스템, 네트워크 보안 기술

[SK shieldus Rookies 19기] 02 -DNS

bento 2024. 4. 3. 22:15
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

01. DNS(Domain Name System) 서버

: 도메인 이름과 IP 주소의 대응 관계를 데이터베이스 형태로 저장하고 제공하는 서비스 

호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발

 

하나의 IP 주소를 이용해 여러 개의 웹 서비스 운영이 가능 

서비스 중인 IP 주소가 바뀌더라도 도메인 주소를 그대로 유지해 접속 방법 변경 없이 서비스를 유지할 수 있음 

지리적으로 여러 위치에서 서비스가 가능 

 

  • 구조

각 계층의 경계는 "."으로 표시하고 뒤에서 앞으로 해석

 

  • DNS 명명 규칙

도메인 계층은 최대 128계층까지 구성할 수 있음

계층별 길이는 최대 63byte까지 사용할 수 있으며, 도메인 계층 구분자(".")를 포함해 전체 도메인 네임의 길이는 최대 255byte까지 사용할 수 있음 

문자는 알파벳, 숫자, "-" 만 사용할 수 있으며, 대소문자를 구분하지 않음

 

  • 루트 도메인

도메인을 구성하는 최상위 영역

DNS 서버는 사용자가 쿼리한 도메인에 값을 직접 갖고 있거나 캐시에 저장된 정보를 이용해 응답 

DNS 서버에 해당 도메인의 정보가 없으면, 루트 도메인을 관리하는 루트 DNS에 쿼리

  루트 DNS는 전 세계에 13개가 있고 DNS 서버를 설치하면 루트 DNS의 IP 주소를 기록한 힌트(hint) 파일을 가지고 있어 루트 DNS 관련 정보를 별도로 설정할 필요가 없음

 

  • TLD (Top-Level Domain)

IANA에서 6개로 구분

 

  • generic (gTLD)

특별한 제한 없이 일반적으로 사용되는 최상위 도메인으로 세 글자 이상으로 구성

1980년대 7개의 gTLD로 시작 .com, .edu, .gov, .int, .mil, .net, .org

계~속 만들어짐

com 일반 기업체
edu 4년제 이상 교육 기관
gov 미국 연방 정보 기관
int 국제 기구, 기관
mil 미국 연방 군사 기관
net 네트워크 관리 기관
org 비영리기관

 

 

  • country-code (ccTLD)

국가 최상위 도메인으로 ISO 3166 표준에 의해 규정된 두 글자의 국가 코드를 사용

  https://www.iso.org/obp/ui/#search 

 

https://www.iso.org/obp/ui/#search

 

www.iso.org

여기서 찾아볼 수 있음

 

일반적으로 ccTLD를 사용하는 경우, Second Level TLD에는 gTDL에서 구분한 것 처럼 사이트 용도에 따른 코드를 사용 

ex.

co.kr / go.kr 

 

  • sponsored (sTLD)

특정 목적을 위한 스폰서를 두고 있는 최상위 도메인

.aero, asia, .edu, .museum 

  • infrastructure

운용상 중요한 인프라 식별자 공간을 지원하기 위해 전용으로 사용되는 최상위 도메인

.arpa (인터넷 안정성을 유지하기 위해 모든 새로운 인프라 하위 도메인이 배치될 도메인 공간 역할)

  • generic-restricted (grTLD)

특정 기준을 충족하는 사람이나 단체가 사용할 수 있는 최상위 도메인

.biz, .name, .pro

  • test (tTLD)

IDN(Internationalized Domain Name) 개발 프로세스에서 테스트 목적으로 사용하는 최상위 도메인 

.test

 

  • DNS 캐시

로컬 캐시에서 도메인에 대한 값을 확인 → host 파일도 확인 없다면 도메인은 dns서버로 쿼리

 

  • DNS 동작 방식 재귀적 쿼리(Recursive Query) + 반복적 쿼리(Iterative Query)

재귀적 쿼리

: 쿼리를 보낸 클라이언트에 서버가 최종 결과 값을 반환하는 서버 중심 쿼리

  클라이언트와 로컬 DNS 간에서 사용 

 

반복적 쿼리

: 최종 값을 받을 때까지 클라이언트에서 쿼리를 계속 진행하는 방식

  로컬 DNS 서버와 상위 DNS 구간에서 사용

 

호스트가 로컬 캐시를 먼저 확인(1) → 없으면 dns 서버로 보내고 dns 서버는 자신의 로컬 캐시 검증(2)  → 그 다음 Root dns에게 TLD 서버를 물어봄(3) → 그러면 답을 보내줌(4) ⋯ 이런 식으로 진행

 

728x90