오늘 모의 면접에서 DNS에 관해 질문하셨는데 '브라우저에서 검색하면 DNS로 가서 ip를 받아온다' 밖에 몰라서 조사해봐야 겠다는 생각을 했습니다.
도메인 이름 시스템(DNS) 개요
1. DNS의 역할
DNS는 인터넷의 "전화번호부"로, 사람이 읽을 수 있는 도메인 이름(예: www.example.com)을 컴퓨터가 사용하는 IP 주소(예: 192.168.1.1)로 변환합니다. 이를 통해 사용자는 복잡한 IP 주소를 기억할 필요 없이 웹사이트에 쉽게 접속할 수 있습니다.
2. DNS의 주요 구성 요소와 작동 과정
DNS는 네 가지 주요 서버를 통해 동작합니다:
- 재귀 DNS 확인자(리커서)
사용자의 요청을 받아 최종 IP 주소를 찾기 위해 다른 DNS 서버와 상호작용합니다. - 루트 네임서버
도메인 이름의 최상위 계층을 관리하며, TLD(최상위 도메인) 네임서버의 위치를 제공합니다. - TLD 네임서버
도메인 확장자(.com, .org 등)에 따라 권한 있는 네임서버 정보를 제공합니다. - 권한 있는 네임서버
최종 IP 주소 정보를 보유하고 있으며, 이를 재귀 확인자에게 반환합니다.
3. DNS 레코드의 유형
- A/AAAA 레코드: 도메인 이름을 IPv4/IPv6 주소로 매핑.
- MX 레코드: 메일 서버 정보를 정의.
- CNAME 레코드: 도메인의 별칭을 설정.
- PTR 레코드: IP 주소를 도메인 이름으로 변환(역방향 DNS 조회).
4. DNS 보안 및 주요 공격 유형
DNS는 초기 설계상 보안이 부족해 다양한 공격에 노출됩니다. 대표적인 공격 유형은 다음과 같습니다:
- DNS 스푸핑/캐시 포이즈닝: 위조된 데이터를 캐시에 주입하여 사용자를 악성 사이트로 유도.
- DNS 터널링: DNS 쿼리를 악용해 맬웨어 전달.
- NXDOMAIN 공격: 존재하지 않는 도메인 요청으로 서버 과부하 유발.
- 무작위 하위 도메인 공격: 과도한 쿼리로 권한 있는 서버를 마비.
방어 전략
- DNSSEC: DNS 데이터에 디지털 서명을 추가해 데이터 무결성을 보장.
- DNS 로그 분석 및 중복 DNS 설정: 가용성과 보안을 강화.
5. DNS 확장 및 활용
- 동적 DNS(DDNS): IP 주소가 변경될 때 DNS 레코드를 자동으로 업데이트.
- DoH(HTTPS 기반 DNS) 및 DoT(TLS 기반 DNS): 암호화로 개인정보 보호 강화.
- DNS 캐싱: 쿼리 결과를 저장해 응답 시간을 단축.
6. DNS의 계층적 구조
DNS는 트리 구조로 구성되며, 루트 도메인이 최상단에 위치합니다.
- DNS 영역: 도메인의 특정 부분을 관리하며, 논리적 구획을 통해 세밀한 제어를 가능케 합니다.
예: example.com과 blog.example.com을 별도 영역으로 설정해 각각 관리 가능.
7. DNS와 루트 서버
루트 서버는 DNS 최상위 계층에서 동작하며, TLD 서버로 요청을 전달합니다. 전 세계에 13개의 루트 서버 네트워크가 분산되어 있으며, Anycast 라우팅으로 가장 가까운 서버로 요청을 전달해 안정적인 서비스를 제공합니다.
8. DNS의 중요성
DNS는 인터넷의 필수 인프라로서, 클라우드 서비스와 CDN(콘텐츠 전송 네트워크)에서 최적의 서버 연결을 지원하며, 안정성과 보안을 동시에 제공합니다.
참고
1) https://www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
2) https://www.cloudflare.com/ko-kr/learning/dns/dns-security/
3) https://www.cloudflare.com/ko-kr/learning/dns/glossary/dns-zone/
4) https://www.cloudflare.com/ko-kr/learning/dns/glossary/dns-root-server/
5) https://www.cloudflare.com/ko-kr/learning/dns/glossary/primary-secondary-dns/
6) https://www.cloudflare.com/ko-kr/learning/dns/glossary/reverse-dns/
'TIL,WIL' 카테고리의 다른 글
some(), 정규식 (0) | 2024.12.17 |
---|---|
socket.io (1) | 2024.12.16 |
wil - 12.13 (0) | 2024.12.13 |
TIL 241213 (1) | 2024.12.13 |
TIL241212 (0) | 2024.12.12 |