Cloudflare Docs
Support
Support
Visit Support on GitHub
Set theme to dark (⇧+D)

DNSSEC 문제 해결

​​ DNSSEC 문제 해결

DNSSEC는 DNS를 보호합니다.  본 문서는 DNS 확인에 영향을 주는 DNSSEC 문제를 감지하는 방법을 소개합니다. 

​​ 이 문서에서


​​ Dig로 DNSSEC 테스트

_Dig_는 DNS 레코드의 이름 서버를 쿼리하는 명령줄 도구입니다. 예를 들어, _dig_는 DNS 확인자에 www.cloudflare.com_의 IP 주소를 문의할 수 있습니다(옵션으로 +short_을 사용하면 결과만 출력됩니다).

$ dig www.cloudflare.com +short
198.41.215.162
198.41.214.162

_dig_로 DNSSEC 레코드를 확인하세요.  아래 예에서

$ dig www.cloudflare.com +dnssec +short
198.41.214.162
198.41.215.162
A 13 3 300 20180927180434 20180925160434 35273 cloudflare.com. DYYZ/bhHSAIlpvu/HEUsxlzkC9NsswbCQ7dcfcuiNBrbhYV7k3AI8t46 QMnOlfhwT6jqsfN7ePV6Fwpym3B0pg==

하위 도메인의 공개 키가아니라 루트 도메인의 공개 키에 대해 쿼리해야 합니다.

$ dig DNSKEY cloudflare.com +short
257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==
256 3 13 koPbw9wmYZ7ggcjnQ6ayHyhHaDNMYELKTqT+qRGrZpWSccr/lBcrm10Z 1PuQHB3Azhii+sb0PYFkH1ruxLhe5g==

DNS 응답은 두 개의 레코드로 이루어져 있습니다.

  • DNSKEY 레코드 256은 영역 서명 키로 불리는 공개 키로서 A, MX, CNAME, SRV 등의 DNS 레코드 서명을 확인할 때 사용됩니다.

_dig_에 +short 옵션을 사용하지 않는 경우,  ad 플래그가 응답 헤더에 있으면 DNS 응답이 DNSSEC 인증을 받은 것입니다.

$ dig www.cloudflare.com
[...]
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65326;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
[...]
;; QUESTION SECTION:
;www.cloudflare.com.        IN  A
[...]
;; ANSWER SECTION:
www.cloudflare.com. 15  IN  A   198.41.215.162
www.cloudflare.com. 15  IN  A   198.41.214.162

​​ Dig로 DNSSEC 신뢰 체인 보기

도메인 서명(예: cloudflare.com)의 완전한 확인은 상위 레벨 도메인(예: .com)에서 키 서명 키를 확인하는 것이 포함됩니다.  이후

DNSSEC가 활성화된 경우 등록 기관의 DNS에 _DS 레코드_가 필요합니다. _DS 레코드_에는 다양한 공개 키 서명 키는 물론 키에 대한 메타데이터가 포함됩니다.

_dig_를 사용하여 _DS 레코드_를 찾으세요.

$ dig +short DS cloudflare.com
2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9

_dig_는 응답이 이름 서버에서 반환됐는지,

$ dig DS cloudflare.com +trace
[...]
cloudflare.com.     86400   IN  DS  2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9
[...]
com.            172800  IN  NS  e.gtld-servers.net.
[...]
;; Received 1213 bytes from 2001:502:1ca1::30#53(e.gtld-servers.net) in 37 ms

위 모든 단계를 수동으로 실행하는 것보다 더 간편한 방법은 DNSViz 온라인 도구를 사용하는 것입니다. 자세한 내용은 DNSViz를 사용한 DNSSEC 유효성 검사 문제 해결이나 DNSViz를 통한 cloudflare.com의 DNSSEC 결과 예를 참조하시기 바랍니다.


​​ Dig로 DNSSEC 유효성 검사 문제 해결

등록 기관의 오래된 DNSSEC 레코드를 업데이트하거나 제거하지 않고 권한 있는 DNS 공급자를 변경하면, 문제가 발생합니다.

$ dig A brokendnssec.net @1.0.0.1
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 10663

으로 _dig_를

$ dig A brokendnssec.net @1.0.0.1 +dnssec +cd +short
104.20.49.61
104.20.48.61

위 예에서 +cd 옵션을 사용한 경우에는 올바른 DNS 응답을 수신하지만, DNSSEC를 사용하여 쿼리한 경우 SERVFAIL 응답을 수신한다면 DNSSEC가 잘못 구성된 것입니다_._이 문제는 권한 있는 이름 서버가 변경됐지만 _DS 레코드_가 업데이트되지 않은 경우 종종 발생합니다.  공격자가 쿼리에 대한 응답을 조작하려 할 때도 이 문제가 발생할 수 있습니다. 


​​ DNSViz로 DNSSEC 유효성 검사 문제 해결

  1. http://dnsviz.net/으로 이동하세요.
  2. 텍스트 필드가 나타나면 도메인 이름을 입력하세요.
  3. DNSViz가 처음으로 사이트를 분석하는 경우, 표시된 분석 버튼을 클릭하세요.
  4. DNSViz가 사이트를 분석한 적이 있었다면, 표시되는

Screen_Shot_2018-09-18_at_10.31.54_AM.png

Screen_Shot_2018-10-16_at_2.png

Screen_Shot_2018-09-18_at_10.25.49_AM.png


​​ 다음 단계 

DNSSEC 실행으로 문제가 발견된 경우, 도메인 등록 기관에 문의하여 _DS 레코드_가, 권한 있는 DNS 공급자가 지정한 무엇과 일치하는지 확인하세요. Cloudflare가 권한 있는 DNS 공급자인 경우에는 Cloudflare로 DNSSEC 구성 지침을 따르세요.


​​ 관련 자료