본문 바로가기

news/IT

도메인 네임 시스템

도메인 네임 시스템


인터넷의 백본


컴퓨터는 숫자를 사용하여 가장 잘 작동하지만 사람은 단어를 선호합니다. 오늘날의 인터넷은 컴퓨터 및 사람의 선호도를 모두 충족하는 방식으로 구축되어 컴퓨터와 사람 모두 쉽게 웹 사이트를 탐색할 수 있습니다. 즉, 각 웹사이트는 두 개의 이름 또는 주소를 가집니다. 하나는 smartflex.org 과 같이 사람이 쉽게 기억할 수 있는 도메인 네임입니다. 다른 하나는 컴퓨터에서 사용하기에 적절한, 고유한 연속 숫자 또는 인터넷 프로토콜(IP) 주소입니다.


DNS(도메인 네임 시스템)는 .com 또는 .net과 같은 특정 최상위 도메인(TLD)의 모든 도메인 네임 및 해당하는 IP 주소를 저장하는 데이터베이스입니다. DNS는 인터넷에서 컴퓨터 시스템과 리소스를 식별하고 찾습니다. 예를 들어, 웹 주소 또는 URL을 입력하면 DNS가 입력된 이름과 해당 위치의 IP 주소를 일치시키고 사용자를 해당 사이트에 연결시켜 줍니다.


박스에 담긴 내용


DNS 네임 서버는 DNS 데이터베이스 레코드를 저장하는 물리적 서버입니다. 이 도메인 네임 서버는 문자 그대로 매일 수십억 개의 요청을 처리하는 하드웨어입니다. 누군가 브라우저에 웹 주소를 입력할 때마다 세계 어느 곳엔가에 있는 도메인 네임 서버가 쿼리를 받고, IP 주소를 찾고, 그 사람의 컴퓨터를 적절한 웹사이트에 연결합니다. 이 모든 작업이 몇 초 안에 이루어집니다.


도메인 네임 해부


도메인 네임을 이해하는 가장 좋은 방법은 첫 번째 마침표 또는 "점"의 오른쪽부터 시작하는 것입니다. 점 뒤에 있는 문자들은 최상위 도메인, TLD를 의미합니다. 각 TLD에는 차상위 도메인 네임(smartflex.org)이 하나 이상 있습니다. 각 차상위 도메인은 여러 개의 3단계 도메인 네임(anews.smartflex.org)을 가질 수 있습니다. 다국어 도메인 네임(IDN)은 익숙한 라틴 알파벳 뿐만 아니라 한자나 아랍어와 같은 다른 스크립트의 문자도 사용할 수 있습니다.


도메인 네임 등록


개인이나 조직의 경우 도메인 네임은 1~10년 동안 등록됩니다. 사용자는 도메인 네임을 등록하기 위해 레지스트라 또는 리셀러에게 연락합니다. 레지스트라는 해당 도메인 네임의 TLD를 관리하는 등록기관과 함께 등록 정보를 검사하여 도메인 네임이 사용 가능한지 확인합니다. 사용 가능한 경우 레지스트라는 도메인 네임을 등록합니다. 그러면, 도메인 네임이 레지스트리 데이터베이스에 추가됩니다. 등록 기간이 종료될 때 도메인 네임 등록자는 도메인 네임을 갱신하거나 만료시킬 수 있습니다.



DNS HOWTO


1. DNS는 어떻게 작동하나요?


도메인 네임 공간은 나뭇가지처럼 여러 개의 영역으로 나뉘어지는 도메인 네임들로 구성되어 있습니다. 최상위 혹은 루트 영역은 미국 상무부가 관장하고, VerisignIANA (Internet Assigned Numbers Authority) 기능 운영자가 공동 관리하며, 이들은 루트 네임 서버 상의 데이터를 관리하는 역할도 합니다.


하나의 DNS 영역은 ANS (authoritative name server)가 관리하는 여러 노드들의 집합체로 구성되어 있습니다. 각 영역의 ANS는 도메인 네임들이 IP 주소와 어떻게 연결되어 있는지를 나타내는 맵 작성 및 게시를 책임지고 있습니다. 도메인 네임 트리의 각 노드 또는 잎에는 해당 도메인 네임과 관련된 정보가 담긴 0개 이상의 리소스 기록이 있습니다. 각 도메인 네임은 모두 .com이나 .tv 처럼 최상위 레벨 도메인(TLD)으로 끝납니다.


인터넷이 제 기능을 하고 도메인 네임의 중복을 방지하려면 도메인 네임을 등록할 수 있는 하나의 권위있는 장소가 반드시 있어야 합니다. 각 TLD에는 중앙집중식 데이터베이스를 관리하는 공인 레지스트리가 있습니다. 레지스트리는 TLD 영역 파일에서 도메인 네임과 IP 주소에 대한 정보를 배포합니다. TLD 영역 파일은 활성 상태 차상위 레벨 도메인 네임(도메인 네임 중에서 "." 바로 왼쪽에 나타나는 부분)을 네임 서버의 고유 IP 주소에 매핑시킵니다.


2. DNS가 취약한 이유는 무엇인가요?


도메인 네임을 IP 주소로 해석하는 절차를 DNS 레졸루션(resolution)이라고 합니다. 누군가가 www.smartflex.org 과 같은 도메인 네임을 웹브라우저에 입력하면, 브라우저는 네임 서버에 연결해 해당 IP 주소를 받습니다. 네임 서버에는 2가지 종류가 있습니다. 먼저, 특정 영역에 대해 모든 정보를 저장하는 ANS (authoritative name servers)가 있고, 또, 인터넷 사용자에 대한 DNS 쿼리에 응답하고 일정 기간 동안 DNS 응답 결과를 저장하는 RNS (recursive name servers)가 있습니다. RNS는 응답을 받으면 이후 이어지는 쿼리를 신속하게 진행시키기 위해 그 내용을 캐시(저장)합니다. 캐싱(caching)은 필요한 정보 요청 건수를 줄여 주지만 MITM (man-in-the-middle) 공격에 취약합니다.


이 같은 공격을 통해 사이버 범죄자들은 다음을 수행할 수 있습니다.


- 이메일 가로채기

- VoIP 도청하기

- 웹사이트 사칭하기

- 암호 및 로그인 정보 훔치기

- 신용 카드 데이터 및 기타 기밀 정보 추출하기


 DNS  시스템 위험 및 자세한 내용보기 www.ietf.org/rfc/rfc3833.txt   DNS 시스템에 대한 위협에 대해



3. 캐시 포이즈닝(cache poisoning)이란 무엇인가요?


캐시 포이즈닝은 RNS (recursive name server)의 캐시에 사기성 DNS 데이터가 삽입되었을 때 발생합니다. RNS는 네임 해석 과정 중에 알게 된 정보를 일시적으로 저장(캐시)하지만 DNSSEC 없이는 이 정보의 유효성이나 정확성을 확인할 방법이 없습니다. 악성 정보가 RNS에 일시적으로 저장된 경우, 이 서버는 "중독된 것"으로 간주됩니다. 캐시 중독이 되면 공격자가 트래픽을 사기성을 가진 사이트로 리디렉팅할 수 있습니다.


4. MITM (man-in-the-middle) 공격이란 무엇인가요?


MITM (man-in-the-middle) 공격은 두 시스템 사이의 통신 내용을 은밀하게 가로채서 조작하는 것을 말합니다. 공격자는 통신 내용을 조작해서 트래픽이 불법 주소 또는 웹사이트로 향하게 할 수 있습니다. 일반 사용자들은 "중간자(man in the middle)"가 있다는 것을 감지하지 못하고 자신들이 의도한 상대방과 직접 통신하고 있다고 생각합니다.