• DNS 쿼리 및 응답은 인터넷 작동 방식의 기본 → 웹사이트를 방문할 때, 브라우저에 URL을 입력
  • DNS 쿼리를 보냄 → DNS는 사람이 읽을 수 있는 도메인 이름(예: hippo.com)을 인터넷 프로토콜(IP) 주소(예: 192.168.0.100)로 변환
  • 웹사이트에 성공적으로 접속했는지 여부에 관계없이 받는 모든 응답에는 코드가 포함
  • 거의 모든 DNS 쿼리와 함께 반환되는 가장 일반적인 네 가지 쿼리
    1. NOERROR
    2. NXDOMAIN
    3. SERVFAIL
    4. REFUSED

 

  • DNS 쿼리에 문제가 있는 경우 응답 데이터를 통해 보안 위반 문제를 더 빨리 해결하거나 식별하는 데 도움이 될 수 있음
  • DNS 반환 코드에 대해 간략하게 설명
    DNS 응답 코드 설명
    NOERROR - DNS 쿼리가 성공적으로 완료
    NXDOMAIN - 쿼리한 도메인 이름이 존재하지 않기 때문에 DNS 쿼리가 실패
    SERVFAIL - 답변을 제공할 수 없기 때문에 DNS 쿼리가 실패
    REFUSED - 서버가 정책으로 인해 응답을 거부했기 때문에 DNS 쿼리가 실패

 

  • DNS 응답 코드 개요
    • 공식적으로 DNS의 응답 코드 전체 목록은 24개가 넘음
    • DNS 쿼리는 약 84%의 시간을 성공 → NOERROR 코드를 생성
    • DNS 쿼리의 약 16%가 실패 → 세 가지 공통 코드 중 하나가 발생(NXDOMAIN, SERVFAIL, REFUSED)

 

 

1. DNS 응답 코드 NOERROR

1.1. 가장 일반적인 응답

  • 약 80~90%에서 NOERROR는 네트워크 로그에 표시되는 응답 코드
  • NOERROR는 DNS 쿼리가 유효한 응답을 받았다는 의미
  • NOERROR는 모든 것이 정상이며 쿼리에 문제가 없었음을 나타내는 방법
  • 사용자가 hippo.com 도메인으로 요청을 하였으며, 리졸버와 DNS 서버가 hippo.com 도메인으로 정상 이동

 

1.2. NOERROR 응답 코드가 항상 완벽하다는 의미 X

  • NOERROR 응답이 반환되었다고 하여, 네트워크의 사용자가 특별히 요청한 웹사이트로 이동했다는 의미는 아님
  • 사용자가 hippo.com 도메인으로 요청
  • hippo.com 도메인으로 요청을 보냈을 경우 test.com 도메인으로 리다이렉션되도록 설정
  • 사용자가 hippo.com 도메인으로 이동하면, 성공적인 NOERROR 응답 코드를 받음
  • 성공적으로 NOERROR 응답코드가 출력되면서, 사용자가 test.com 도메인으로 이동
  • hippo.com 도메인 요청하였을 때, test.com 도메인 서버에 장애가 발생하거나 액세스 권한이 없다고 알려도 DNS 로그에서는 NOERROR 응답

 

 

2. DNS 응답 코드 NXDOMAIN

  • 수신된 응답 코드의 나머지 10~15%는 대부분 NXDOMAIN
  • 서버가 되돌려 보내는 NXDOMAIN 응답의 의미는 "이 도메인에 대해 쿼리했지만 해당 도메인이 존재하지 않거나 존재하는지 모르겠습니다."
  • NXDOMAIN이 발생했다는 의미는 쿼리가 실패를 의미
  • NXDOMAIN 응답 코드가 네트워크에 의미하는 바에 대한 전체 블로그 게시물이 있지만 여기에서 몇 가지 기본 사항을 다룸

 

2.1. NXDOMAIN에 대한 의미

  1. 브라우저에서 도메인 이름을 잘못 입력하는 동안 사용자 오류가 발생
  2. 보안 제어가 사용자가 접근하려는 사이트를 차단
  3. 일부 오래된 코드가 더 이상 존재하지 않는 웹사이트에 연결
  4. 잘못 구성된 응용 프로그램이 철자가 잘못된 도메인을 쿼리
  5. 도메인이 손상되었거나 맬웨어가 존재한다는 표시

 

2.2. 악성코드 감염의 징후

  • 일반적으로 맬웨어는 코드에 하나 이상의 도메인에 접근하는 경우가 있음
  • 악성 코드에 감염된 장치가 현재 차단된 도메인을 확인할 수 없는 경우 NXDOMAIN 응답이 발생

 

 

3. DNS 응답 코드 SERVFAIL

  • SERVFAIL 응답은 약 1%
  • NXDOMAIN이 도메인이 존재하지 않는다는 것을 알려주는 DNS 서버라면, SERVFAIL은 "당신에게 그 쿼리에 대한 답을 줄 수 없다"라고 말하는 DNS 서버
  • DNS 서버에 기술적인 문제로 인해 발생 가능 → 방화벽이나 침입 방지 시스템과 같은 네트워크의 보안 제어가 사용자가 해당 도메인으로 이동하는 것을 차단하고 있음을 의미
  • NXDOMAIN과 마찬가지로 과도한 SERVFAIL 응답은 추가 조사가 필요
  • SERVFAIL 응답을 받는 도메인도 악의적인 활동에 대해 조사 필요

 

 

4. DNS 응답 코드 REFUSED

  • REFUSED는 DNS 이름 서버가 정책상의 이유로 작업 수행을 거부할 때 발생 → 특정 장치가 네임서버를 악용하는 경우 차단
  • 특정 작업이 금지될 수 있음
    1. 영역 전송은 로드 밸런싱 또는 백업을 위해 여러 DNS 서버에 DNS 구성 정보를 복제하는 방법
    2. 일반적으로 권한이 있는 사람만 영역 이전을 완료 가능
    3. 일반 사용자가 DNS 구성 정보를 복제하려고 할 때, 권한이 없으면, REFUSED 응답 코드가 발생

 

+ Recent posts