본문 바로가기
컴퓨터 관련 정보

DNS 소개와 전반적인 설명

by ╬⇵◲ ✘❒♳ 2023. 4. 19.

DNS에 대한 설명 목차

 

1. DNS의 개념 및 역할


-DNS의 정의
-DNS의 역할과 작동 원리


2. DNS의 구성 요소

-DNS의 구성 요소
-DNS 레코드 타입
-DNS 네임 서버

 

3. DNS의 작동 과정

-DNS 작동 과정
-DNS 쿼리와 리졸버
-DNS 캐시

 

4. DNS의 보안 이슈

-DNS 해킹과 DNS 쿼리 스머핑
-DNSSEC (DNS Security Extensions)

 

5. DNS의 최신 기술 동향

-DNS over HTTPS (DoH)
-DNS over TLS (DoT)
-DNS-based Authentication of Named Entities (DANE)

 

6. DNS의 문제점과 개선 방안

-DNS의 단점
-DNS의 성능 개선 방안
-DNS의 보안 개선 방안

 

 

DNS의 개념 및 역할

 

DNS의 정의


DNS(Domain Name System)는 인터넷에서 사용하는 IP 주소와 같은 숫자 기반의 주소를 인간이 이해할 수 있는 문자 기반의 주소로 변환하는 역할을 합니다. DNS는 인터넷에서 사용되는 도메인 이름을 IP 주소로 변환하는 데 사용됩니다.


DNS의 역할과 작동 원리


인터넷에서 통신을 하기 위해서는 IP 주소가 필요하지만, 인간이 이해하기 어렵기 때문에 도메인 이름이 사용됩니다. DNS는 이러한 도메인 이름을 IP 주소로 변환하여 컴퓨터가 이를 이해하고 통신할 수 있도록 합니다.

DNS는 전 세계적으로 분산된 DNS 서버들의 네트워크로 구성되어 있습니다. 사용자가 도메인 이름을 입력하면, 이를 해석하여 해당 도메인 이름에 대한 IP 주소를 찾아 전송해줍니다.


DNS의 구성 요소

 

DNS의 구성 요소


DNS는 여러 개의 구성 요소로 이루어져 있습니다. 이 중에서 가장 중요한 구성 요소는 DNS 레코드, DNS 네임 서버, DNS 캐시입니다.


DNS 레코드 타입


DNS 레코드는 도메인 이름과 IP 주소 등을 매핑하는 정보를 담고 있습니다. DNS 레코드 타입에는 A 레코드, CNAME 레코드, MX 레코드, NS 레코드 등이 있습니다.


DNS 네임 서버


DNS 네임 서버는 DNS 쿼리를 처리하고, DNS 레코드를 검색하는 서버입니다. DNS 네임 서버에는 루트 네임 서버, 최상위 도메인 네임 서버, 중간 단계 네임 서버, 최하위 도메인 네임 서버 등이 있습니다.


DNS의 작동 과정


DNS 작동 과정


사용자가 도메인 이름을 입력하면, 이를 먼저 사용자의 컴퓨터에 저장된 로컬 DNS 캐시에 검색합니다. 로컬 DNS 캐시에 없는 경우, DNS 쿼리를 DNS 리졸버에 전송합니다. DNS 리졸버는 다시 루트 네임 서버에 DNS 쿼리를 보내고, 최상위 도메인 네임 서버에 도메인 이름을 찾아줄 네임 서버 정보를 받습니다.

이후에, 중간 단계 네임 서버를 통해 최하위 도메인 네임 서버에 도메인 이름을 찾아달라는 쿼리를 전송합니다. 최하위 도메인 네임 서버에서는 해당도메인에 대한 IP 주소를 가지고 있는 A 레코드 또는 AAAA 레코드를 포함한 DNS 레코드 정보를 리턴해줍니다.

이렇게 받은 IP 주소 정보를 기반으로, DNS 리졸버는 사용자의 컴퓨터로 IP 주소를 반환합니다. 이렇게 반환된 IP 주소를 통해, 사용자의 컴퓨터는 해당 도메인의 웹 서버에 접속할 수 있습니다.


DNS 쿼리와 리졸버


DNS 쿼리는 도메인 이름과 함께 DNS에게 정보를 요청하는 것입니다. 이 쿼리는 일반적으로 사용자의 컴퓨터에서 생성되며, DNS 리졸버에 의해 전송됩니다. DNS 리졸버는 DNS 쿼리를 수신하고, 도메인 이름에 대한 IP 주소 정보를 찾기 위해 DNS 계층 구조를 따라 동작합니다.


DNS 캐시


DNS 캐시는 이전에 검색한 도메인 이름에 대한 IP 주소 정보를 저장하는 임시 저장소입니다. DNS 캐시를 사용하면, 동일한 도메인 이름에 대한 DNS 쿼리를 다시 전송하지 않아도 됩니다. 이는 네트워크 지연을 줄이고, DNS 서버 부하를 줄이는 데 도움이 됩니다. 일반적으로 DNS 캐시는 TTL(Time-to-Live) 값에 따라 지정된 시간 동안 저장됩니다.


DNS의 보안 이슈


DNS는 중요한 정보를 전송하므로 보안 이슈가 매우 중요합니다. DNS 해킹과 DNS 쿼리 스머핑은 DNS의 가장 일반적인 보안 이슈 중 일부입니다.


DNS 해킹

 

DNS 서버를 해킹하여 DNS 요청을 조작하거나 DNS 응답을 위조하여 사용자가 다른 사이트로 리디렉션되게 합니다. 이것은 크로스사이트 스크립팅 (XSS) 공격, 스팸 및 악성 소프트웨어에 사용될 수 있습니다.


DNS 쿼리 스머핑

 

DNS 서버에 대량의 DNS 쿼리를 보내고, 응답으로 받은 캐시된 DNS 레코드를 이용하여 대량의 데이터를 수집하는 공격 기술입니다.


DNSSEC (DNS Security Extensions)

 

DNS의 보안 이슈를 해결하기 위한 표준 기술입니다. DNSSEC는 인증된 DNS 응답을 제공하며, DNS 데이터 무결성과 인증 기능을 제공하여 DNS 쿼리 및 응답을 위조하는 것을 방지합니다.


DNS의 최신 기술 동향

 

DNS over HTTPS (DoH)

 

HTTPS를 사용하여 DNS 쿼리를 전송하는 것으로, 보안과 개인 정보 보호를 강화합니다.


DNS over TLS (DoT)

 

TLS를 사용하여 DNS 쿼리를 전송하는 것으로, 보안과 개인 정보 보호를 강화합니다.


DNS-based Authentication of Named Entities (DANE)

 

인증서 검증의 일부로 DNS를 사용하는 보안 프로토콜입니다. TLS 인증서를 검증하기 위해 DNSSEC를 사용합니다.


DNS의 문제점과 개선 방안


DNS의 문제점 중 하나는 지연 시간입니다. DNS 요청 및 응답을 처리하기 위해 시스템이 필요하며, 이는 웹 페이지 로딩 시간을 늘릴 수 있습니다. 또한, DNS 응답을 위조하거나 DNS 응답을 캐시하여 DNS 해킹 및 DNS 쿼리 스머핑과 같은 공격을 유발할 수 있습니다.

DNS의 성능 개선 방안으로는 DNS 캐시, 전송 속도 개선, 안정성 및 가용성 개선, 분산 처리 기술 등이 있습니다.

다른 개선 방안으로는 DNSSEC, DoH, DoT, DANE 등이 있으며, DNS 캐시 플러싱, DNS 플러딩 대응 등이 필요합니다. 또한, DNS 서버에 대한 취약 방지를 위해 보안 업데이트를 주기적으로 수행해야 합니다.

DNSSEC는 DNS 보안 확장 기술로, DNS 레코드의 인증과 무결성을 보장하여 DNS 해킹 및 DNS 쿼리 스머핑과 같은 공격을 방지합니다. DoH와 DoT는 DNS 데이터를 HTTPS 또는 TLS 프로토콜을 사용하여 암호화합니다. 이는 중간자 공격과 같은 보안 위협을 방지하고 사용자의 개인 정보 보호를 강화합니다. DANE은 DNSSEC와 함께 사용되는 프로토콜로, TLS 인증서의 신뢰성을 보장하여 중간자 공격과 같은 공격을 방지합니다.

또한, DNS 캐시 플러싱과 같은 보안 정책을 수행하는 것이 중요합니다. DNS 캐시 플러싱은 DNS 캐시의 정보를 주기적으로 삭제하여 DNS 캐시 스누핑 및 DNS 캐시 포이즌링 공격과 같은 공격을 방지합니다. DNS 플러딩 대응은 DNS 서버를 플러딩 공격으로부터 보호하는 기술입니다. 이를 위해서는 서버 대역폭 제한 및 필요한 경우 트래픽 필터링과 같은 방법을 사용할 수 있습니다.

마지막으로, DNS 서버에 대한 취약점 검사와 보안 업데이트를 주기적으로 수행하여 DNS 보안에 대한 위협을 최소화하는 것이 중요합니다. 또한, DNS 서버에는 안티 바이러스 및 방화벽과 같은 보안 솔루션이 설치되어야 하며, 접근 제어 및 감사 로깅과 같은 보안 정책이 필요합니다.

댓글