IT

DNS 가 뭐에요? (개념, 레코드 유형, 동작 방식, 보안)

jaewon_sss 2024. 12. 17. 21:46
반응형

DNS(Domain Name System)는 인터넷의 중요한 기반 기술 중 하나로, 도메인 이름(예: example.com)을 IP 주소(예: 192.0.2.1)로 변환하는 역할을 합니다. 이를 통해 사람이 읽기 쉬운 도메인 이름을 사용하는 동시에 네트워크에서는 IP 주소를 사용하여 통신할 수 있게 됩니다. DNS는 분산 데이터베이스 시스템으로 동작하며, 여러 유형의 레코드와 서버로 구성됩니다.

DNS의 주요 개념

  1. 도메인 계층 구조
    • DNS는 트리 구조를 가지고 있으며, 루트 도메인에서 시작하여 하위 도메인으로 확장됩니다.
    • 구조 예시: www.example.com
      • example.com (루트 도메인)
      • com (최상위 도메인, TLD)
      • example (2차 도메인)
      • www (서브도메인)
  2. DNS 서버의 역할
    • DNS 서버는 클라이언트(사용자)의 요청을 처리하고, 도메인 이름과 IP 주소 간의 매핑을 제공합니다.
    • 주요 DNS 서버의 유형:
      • 루트 네임 서버: 인터넷 DNS의 최상위 계층. 최상위 도메인(TLD) 네임 서버의 주소를 제공합니다.
      • TLD 네임 서버: 특정 TLD(.com, .org 등)를 관리하며, 해당 도메인의 권한이 있는 DNS 서버로 연결합니다.
      • 권한 있는 네임 서버: 특정 도메인에 대한 최종 정보를 제공합니다.
      • 리졸버(캐싱 네임 서버): 사용자 요청을 받아 DNS 계층을 탐색하고 결과를 반환합니다.

DNS 레코드 유형

DNS 데이터베이스는 다양한 유형의 리소스 레코드(RR)로 구성됩니다. 아래는 주요 레코드와 상세 설명입니다:

  1. A (Address Record)
    • IPv4 주소를 반환합니다.
    • 예: example.com -> 192.0.2.1
  2. AAAA (IPv6 Address Record)
    • IPv6 주소를 반환합니다.
    • 예: example.com -> 2001:db8::1
  3. CNAME (Canonical Name Record)
    • 도메인 별칭을 설정합니다.
    • 예: www.example.com -> example.com
  4. MX (Mail Exchange Record)
    • 이메일 서버를 지정합니다.
    • 예: example.com -> mail.example.com
  5. NS (Name Server Record)
    • 도메인의 권한이 있는 네임 서버를 지정합니다.
    • 예: example.com -> ns1.example.com
  6. SOA (Start of Authority Record)
    • 도메인에 대한 시작 정보를 제공합니다. 주요 필드:
      • 관리자 이메일
      • 데이터 업데이트 간격
      • 캐싱 시간(TTL)
    • 예: example.com -> ns1.example.com 관리자: admin@example.com
  7. TXT (Text Record)
    • 텍스트 데이터를 저장합니다.
    • 사용 예: SPF(Sender Policy Framework) 기록, 도메인 인증.
    • 예: example.com -> "v=spf1 include:example.com -all"
  8. PTR (Pointer Record)
    • IP 주소를 도메인 이름으로 변환합니다(역방향 DNS).
    • 예: 192.0.2.1 -> example.com
  9. SRV (Service Locator Record)
    • 특정 서비스의 위치를 지정합니다.
    • 예: _sip._tcp.example.com -> 10 5060 sipserver.example.com
  10. CAA (Certification Authority Authorization Record)
    • 도메인의 SSL 인증서를 발급할 수 있는 인증 기관(CA)을 지정합니다.
    • 예: example.com -> 0 issue "letsencrypt.org"
  11. NAPTR (Naming Authority Pointer Record)
    • 프로토콜과 주소 변환을 지원합니다. 주로 VoIP나 SIP에서 사용됩니다.
  12. RP (Responsible Person Record)
    • 도메인 관리자 정보를 제공합니다.
    • 예: example.com -> admin@example.com
  13. LOC (Location Record)
    • 도메인의 물리적 위치를 나타냅니다.
    • 예: example.com -> Latitude: 37.7749N Longitude: 122.4194W
  14. HINFO (Host Information Record)
    • 호스트의 하드웨어 및 운영 체제 정보를 제공합니다.
    • 예: example.com -> CPU: x86 OS: Linux

DNS 서버의 주요 종류

  1. 권한 있는 DNS 서버 (Authoritative DNS Server)
    • 특정 도메인에 대한 최종 DNS 데이터를 제공합니다.
    • 예: Google의 ns1.google.com
  2. 캐싱 리졸버 (Caching Resolver)
    • 클라이언트 요청을 처리하고, DNS 응답을 캐싱하여 반복 요청의 속도를 높입니다.
    • 예: ISP 제공 DNS 서버
  3. 공용 DNS 서버 (Public DNS Server)
    • 누구나 사용할 수 있는 DNS 서버.
    • 예:
      • Google Public DNS: 8.8.8.8, 8.8.4.4
      • Cloudflare: 1.1.1.1
      • OpenDNS: 208.67.222.222
  4. 프라이빗 DNS 서버
    • 기업이나 조직에서 내부적으로 사용하는 DNS 서버.
  5. 차단 DNS 서버
    • 악성 도메인이나 특정 콘텐츠를 차단하는 DNS 서버.
    • 예: Pi-hole
  6. 동적 DNS (Dynamic DNS)
    • 동적으로 변경되는 IP 주소에 대해 도메인을 지속적으로 업데이트.
    • 예: No-IP, DynDNS

DNS 작동 방식 예시

  1. 클라이언트가 URL 입력: www.example.com 입력.
  2. 리졸버가 요청 처리:
    • 캐시에 정보가 없으면 루트 네임 서버에 요청.
  3. DNS 계층 탐색:
    • 루트 서버 → TLD 서버 → 권한 있는 네임 서버 순으로 요청.
  4. IP 주소 반환:
    • 권한 있는 네임 서버가 IP 주소 반환.
  5. 브라우저 연결:
    • 반환된 IP 주소를 사용하여 서버에 접속.

DNS와 관련된 보안 문제

  1. DNS 스푸핑(DNS Spoofing)
    • DNS 데이터 변조로 잘못된 IP 주소를 반환.
  2. DNS 캐시 중독(Cache Poisoning)
    • 캐싱된 데이터가 악의적으로 변경.
  3. DNS SEC
    • DNS 보안을 강화하기 위한 프로토콜. 데이터를 암호화하여 위조를 방지.

 

 

 

끗!

반응형