분류 기타

DNS에 대해 알아야 할 사항

컨텐츠 정보

  • 조회 180 (작성일 )

본문

DNS 조회 란 무엇입니까? 


간단히 말해 DNS (Domain Name System Lookup)는 누군가가 검색 창에 URL을 입력하는 것과 페이지 로딩 사이에 발생합니다. 기술적으로 말하면 www.google.com과 같은 URL을 IP 주소로 변환하는 프로세스입니다.


IP 주소는 집 주소와 유사합니다. 주소를 사용하여 메일을 보내는 것처럼 컴퓨터는 IP 주소를 사용하여 특정 위치로 데이터를 보냅니다. IP 주소는 기억하기 어렵기 때문에 (길이가 긴 문자열) 컴퓨터는 DNS를 사용하여 IP 주소와 URL (기억하기가 훨씬 쉬운)을 변환합니다. 인터넷에 연결된 모든 장치에는 IP 주소가 있습니다.


DNS는 어떻게 작동합니까? 


인터넷 크기에 따라 컴퓨터는 모든 IP 주소를 메모리에 저장할 수 없습니다. 대신 www.google.com을 브라우저에 입력하면 컴퓨터가 웹 사이트의 IP 주소를 찾도록 지시합니다.


Screen-Shot-2019-06-13-at-5.00.46-PM.png 


먼저 컴퓨터는 캐시라는 로컬 메모리를 확인합니다. 여기에는 컴퓨터가 가장 최근에 방문한 사이트의 IP 주소를 저장하므로 검색하지 않고도 더 빨리 로드 할 수 있습니다. 그러나 최근에 방문한 사이트가 거의 없기 때문에 컴퓨터가 IP 주소를 찾지 못합니다.


1 단계 (단계는 위의 다이어그램 번호에 해당) : 다음으로 컴퓨터는 ISP의 로컬 재귀 이름 서버에 요청합니다. ISP는 인터넷 서비스 제공 업체입니다 (예 : Time Warner Cable, Spectrum, Verizon 등). 이름 서버는 복잡하게 들리지만 DNS 요청에 응답하도록 설계된 서버 소프트웨어일 뿐입니다 (예 :“www.google의 IP 주소는 무엇입니까? com?”).


모든 네임 서버는 IP 주소로 응답하거나 (알고 있는 경우) 알지 못하는 것으로 응답하고 요청 서버에게 다른 서버를 요청하도록 지시함으로써 이 질문에 대답 할 수 있습니다. 재귀 이름 서버는 질문에 대한 답을 모르면 달라집니다. 단순히 쿼리를 리디렉션 하는 대신 답을 찾는 작업을 수행합니다. 모든 네임 서버가 재귀적인 것은 아닙니다.


2 단계 : 재귀 이름 서버가 먼저 캐시를 확인합니다. IP 주소가 없으면 루트 네임 서버를 요청합니다 (루트 네임 서버는 IP 주소를 모르지만 요청을 읽고 재귀 네임 서버에게 다음에 갈 곳을 알려줄 수 있음). 모든 재귀 네임 서버에는 13 개의 루트 네임 서버 IP 주소가 사전 구성되어 있습니다. 재귀 이름 서버는 하나를 선택하고 같은 질문을 합니다 (“www.google.com의 IP 주소는 무엇입니까?”).


3 단계 : 루트 네임 서버는 최상위 도메인 (요청의 끝),이 경우 .com (www.google.com)을 읽고 재귀 네임 서버에게 글로벌 최상위 도메인 서버 (GTLD)를 요청하도록 지시합니다. . GTLD는 본질적으로 각 도메인 유형 (.com, .net., .edu 등)에 대한 참조 목록입니다. 웹 사이트의 IP 주소는 모르지만 해당 정보를 보유 할 네임 서버는 무엇인지 알고 있습니다.


4 단계 : 재귀 이름 서버는 GTLD 이름 서버에 www.google.com의 IP 주소를 요청합니다.


5 단계 : GTLD 네임 서버는 요청의 다음 부분을 읽고 오른쪽에서 왼쪽으로 (이 경우 www.google.com의 'google') 읽은 후 권한 있는 네임 서버와 함께 메시지를 보내 연락합니다. 신뢰할 수 있는 네임 서버는 도메인을 담당하는 네임 서버 (및 주요 정보 출처)입니다.


6 단계 : 재귀 이름 서버는 신뢰할 수 있는 이름 서버에 동일한 질문을 합니다 ( 'www.google.com의 IP 주소는 무엇입니까?'). 기술적으로 서버는 서버가 IP 주소를 참조하는 방식 인 주소 레코드 (A)를 요청합니다.


7 단계 :이 서버에 답이 있습니다! IP 주소를 재귀 이름 서버로 다시 전달하고 재귀 이름 서버에 응답이 신뢰할 수 있음을 알리도록 플래그를 지정합니다. 재귀 이름 서버는 누군가가 곧 같은 웹 사이트에 액세스하려고 할 경우 캐시에 IP 주소를 보관합니다. 캐시의 각 항목에는 정보를 삭제하기 전에 서버가 정보를 보유 할 시간을 알려주는 "실시간"이 표시됩니다.


8 단계 : 재귀 이름 서버는 컴퓨터에 IP 주소가 무엇인지 알려줍니다 (이번 주 정보 출처가 아니기 때문에 신뢰할 수 있는 것으로 태그가 지정되지 않습니다). 


9 단계 : 컴퓨터가 방금받은 IP 주소로 www.google.com에 대한 요청을 보냅니다.


10 단계 :이 주소의 웹 서버는 Google 홈페이지를 반환하고 페이지가 로드됩니다.


이 전체 프로세스는 완료하는 데 몇 밀리 초 만 소요되며 매일 수조 회 발생합니다.


DNS는 최종 사용자에게 어떤 영향을 줍니까? 


DNS는 인터넷 기능의 필수 요소이므로 해커의 주요 대상입니다. DNS의 근본적인 문제는 오늘날의 기술에서 경험하는 대부분의 보안 문제와 동일합니다. 인터넷과 오늘날 우리가 사용하는 많은 기술은 소규모 연구자 그룹을 위해 설계되었으며 시간이 지남에 따라 전 세계에서 사용되는 시스템으로 확장되었습니다. DNS (및 HTTP 및 우리가 사용하는 대부분의 프로토콜)는 보안을 염두에 두고 설계되지 않았습니다. 이제 다양한 보안 문제에 대한 수정 사항을 추가해야 했습니다. 불행히도, 결국 보안 강화는 개발에 적용된 보안만큼 효과적이지 않습니다.


이것이 DNS에 대해 제기하는 한 가지 문제점은 응답이 수신 될 때 네임 서버의 진위 여부에 대한 검증이 없다는 것입니다. 따라서 해커는 컴퓨터의 DNS 쿼리에 악의적 인 응답을 보내고 컴퓨터가 DNS 이름 서버의 실제 응답이라고 생각하도록 속일 수 있습니다. 다시 말해, 컴퓨터가“www.chase.com의 IP 주소는 무엇입니까?”라고 물으면 해커는 해커의 악성 사이트에 대한 IP 주소로 DNS 서버보다 먼저 응답합니다. 그런 다음 사이트가 로드되면 chase.com 웹 사이트처럼 보이지만 실제로는 해커에 의해 제어됩니다.


이는 피싱과 매우 유사합니다. 사용자가 나쁜 링크를 클릭하도록 속이는 것이 아니라 방문하려는 웹 사이트가 DNS 조회를 통해 나쁜 사이트로 라우팅 되고 있다는 점을 제외하고는 훨씬 더 위험합니다. 이러한 유형의 공격을 방지하기 위해). 그러면 사이트가 실제 사이트를 스푸핑하고 있음을 알 수 있도록 사용자가 조심해야 합니다 (링크가 제대로 표시되지 않거나 철자가 틀리거나 로고 사본이 잘못되었을 수 있음). 그러나 이것은 매우 어려울 수 있으며 상대적으로 기술적으로 정통한 사용자에게 의존합니다.


2016 년에 DNS 공격은 거의 하루 종일 미국 동부 해안 대부분에서 인터넷의 상당 부분을 중단 시켰으며,이 경우 정전은 DDoS 공격으로 인해 발생했습니다. DDoS 공격은 분산 서비스 거부 공격으로, 인터넷을 통해 수천 대의 시스템이 동시에 시스템을 공격합니다. 일반적으로 이들은 소유자 모르게 맬웨어에 감염된 시스템이며, 한 명의 해커 또는 해커 그룹이 모든 시스템을 제어하고 있습니다. 이 기계들을 함께 사용하면 '봇넷'이라고 합니다.


봇넷은 DNS 요청을 대상 서버로 전송하고 전송 된 요청의 양이 시스템을 압도하여 서버가 수신 한 합법적 인 트래픽을 처리 할 수 ​​없게 합니다. 따라서 해커가 DNS 서버를 공격하고 컴퓨터가 IP 주소를 요청하려고 할 때 서버가 응답 할 수 없습니다. 따라서 컴퓨터는 공격이 중지 될 때까지 서버가 제어하거나 신뢰할 수 있는 사이트에 액세스 할 수 없습니다.


과도한 요구를 처리하거나 DNS 방화벽을 보유하기 위해 오버 프로비저닝 서버로 이 공격을 완화 할 수 있습니다.


DNSSEC는 DNS가 제공하는 많은 문제를 해결하기 위해 접근하는 더 넓은 방법입니다. DNSSEC는 공개 키 암호화를 기반으로 한 디지털 서명으로 인증을 강화합니다. 기본적으로 요청 된 데이터의 소유자는 위 상황이 발생하지 않도록 디지털 서명합니다. 이를 통해 데이터 원본 인증 (실제로 리졸버가 생각한 위치에서 가져온 데이터) 및 데이터 무결성 보호 (데이터가 전송 중에 수정되지 않은 상태)를 제공합니다.


불행하게도 DNSSEC를 수정하려면 DNSSEC에 광범위한 배포가 필요합니다. 재귀 적 리졸버의 네트워크 운영자와 권한 있는 서버의 도메인 이름 소유자에 의해 구체적으로 사용 가능해야 합니다. 이것은 아직 일어나지 않았지만 더 많은 사람들이 DNS가 제시하는 문제를 인식하고 변경을 옹호 할 것으로 기대됩니다.




DNS