도메인에 대해 DNSSEC 구성 - Amazon Route 53

도메인에 대해 DNSSEC 구성

때로 공격자는 DNS 쿼리를 가로채고 인터넷 엔드포인트의 실제 IP 주소 대신 자신의 IP 주소를 DNS 해석기로 반환하여 웹 서버와 같은 인터넷 엔드포인트로 전송되는 트래픽을 가로챕니다. 그러면 사용자는 공격자가 웹 사이트를 위조하기 위해 스푸핑한 응답의 IP 주소로 라우팅됩니다.

DNS 트래픽을 보호하는 프로토콜인 DNSSEC(Domain Name System Security Extensions)를 구성하여 DNS 스푸핑 또는 메시지 가로채기(man-in-the-middle) 공격으로 알려진 이러한 유형의 공격으로부터 도메인을 보호할 수 있습니다.

중요

Amazon Route 53은 도메인 등록을 위한 DNSSEC 서명과 DNSSEC를 지원합니다. Route 53에 등록된 도메인에 대해 DNSSEC 서명을 구성하려면 Amazon Route 53에서 DNSSEC 서명 구성 섹션을 참조하세요.

DNSSEC가 도메인을 보호하는 방법에 대한 개요

도메인에 대해 DNSSEC를 구성하면 DNS 해석기에서 중간 해석기의 응답에 대해 신뢰 체인을 구축합니다. 신뢰 체인은 도메인의 TLD 등록 기관(도메인의 상위 영역)으로 시작하여 DNS 서비스 공급자의 권한 있는 이름 서버로 끝납니다. 모든 DNS 해석기가 DNSSEC를 지원하는 것은 아닙니다. DNSSEC를 지원하지 않는 해석기는 서명 또는 인증 검증을 수행하지 않습니다.

다음은 Amazon Route 53에 등록된 도메인에 대해 DNSSEC를 구성하여 DNS 스푸핑으로부터 인터넷 호스트를 보호하는 방법으로, 명확성을 위해 간단하게 정리했습니다.

  1. DNS 서비스 공급자가 제공한 방법을 사용하여 비대칭 키 페어의 프라이빗 키로 호스팅 영역의 레코드에 서명합니다.

    중요

    Route 53은 도메인 등록을 위한 DNSSEC 서명과 DNSSEC를 지원합니다. 자세한 내용은 Amazon Route 53에서 DNSSEC 서명 구성 단원을 참조하세요.

  2. 도메인 등록자에게 키 페어의 퍼블릭 키를 제공하고 키 페어를 생성하는 데 사용했던 알고리즘을 지정합니다. 도메인 등록자는 최상위 도메인(TLD)의 등록 기관에 퍼블릭 키와 알고리즘을 전달합니다.

    Route 53에 등록한 도메인에 대해 이 단계를 수행하는 방법에 대한 자세한 내용은 도메인의 퍼블릭 키 추가 섹션을 참조하세요.

다음은 DNSSEC를 구성한 후 DNS 스푸핑으로부터 도메인을 보호하는 방법입니다.

  1. 웹 사이트를 탐색하거나 이메일 메시지를 보내는 등의 방식으로 DNS 쿼리를 제출합니다.

  2. 요청이 DNS 해석기로 라우팅됩니다. 해석기는 요청에 따라 클라이언트에 적절한 값(예: 웹 서버 또는 이메일 서버를 실행 중인 호스트의 IP 주소)을 반환할 책임이 있습니다.

  3. IP 주소가 DNS 해석기에 캐싱되는 경우(다른 사람이 동일한 DNS 쿼리를 이미 제출했고 해석기는 이미 값을 알고 있는 상황), 해석기는 요청을 제출한 클라이언트에 IP 주소를 반환합니다. 그런 다음 클라이언트는 이 IP 주소를 사용하여 호스트에 액세스합니다.

    IP 주소가 DNS 해석기에 캐싱되지 않는 경우, 해석기는 TLD 등록 기관에 있는 해당 도메인의 상위 영역으로 요청을 보냅니다. 그러면 두 개의 값이 반환됩니다.

    • 레코드에 서명하는 데 사용했던 프라이빗 키에 상응하는 퍼블릭 키인 DS(위임 서명자) 레코드.

    • 도메인의 권한 있는 이름 서버의 IP 주소.

  4. DNS 해석기에서 다른 DNS 해석기로 원래 요청을 보냅니다. 그 해석기에도 IP 주소가 없는 경우, 다른 해석기가 DNS 서비스 공급자의 이름 서버로 요청을 보낼 때까지 동일한 프로세스가 반복됩니다. 이름 서버는 다음과 같은 두 개의 값을 반환합니다.

    • 도메인의 레코드(예: example.com). 여기에는 일반적으로 호스트의 IP 주소가 들어 있습니다.

    • DNSSEC를 구성할 때 생성한 레코드의 서명.

  5. DNS 해석기는 도메인 등록 기관(및 TLD 등록처로 전달된 등록 기관)에 제공한 퍼블릭 키를 사용하여 다음과 같은 두 가지 작업을 합니다.

    • 신뢰 체인을 설정합니다.

    • DNS 서비스 공급자로부터 받은 서명된 응답이 유효하며 공격자의 악성 응답으로 교체되지 않았는지 확인합니다.

  6. 응답이 인증된 경우, 해석기는 요청을 제출한 클라이언트에 값을 반환합니다.

    응답을 확인할 수 없는 경우, 해석기는 사용자에게 오류를 반환합니다.

    도메인의 TLD 등록 기관에 해당 도메인의 퍼블릭 키가 없는 경우, 해석기는 DNS 서비스 공급자로부터 받은 응답을 사용하여 DNS 쿼리에 응답합니다.

도메인에 대해 DNSSEC를 구성하기 위한 사전 조건 및 최댓값

도메인에 대해 DNSSEC를 구성하려면 해당 도메인과 DNS 서비스 공급자가 다음과 같은 사전 조건을 충족해야 합니다.

  • TLD 등록 기관이 DNSSEC를 지원해야 합니다. TLD 등록 기관이 DNSSEC를 지원하는지 여부를 알아보려면 Amazon Route 53에 등록할 수 있는 도메인 단원을 참조하십시오.

  • 도메인의 DNS 서비스 공급자가 DNSSEC를 지원해야 합니다.

    중요

    Route 53은 도메인 등록을 위한 DNSSEC 서명과 DNSSEC를 지원합니다. 자세한 내용은 Amazon Route 53에서 DNSSEC 서명 구성 단원을 참조하세요.

  • Route 53에 도메인의 퍼블릭 키를 추가하려면 먼저 해당 도메인의 DNS 서비스 공급자로 DNSSEC를 구성해야 합니다.

  • 도메인에 추가할 수 있는 퍼블릭 키 수는 해당 도메인의 TLD에 따라 다릅니다.

    • .com 및 .net 도메인 - 키 최대 13개

    • 그 밖의 모든 도메인 - 키 최대 4개

도메인의 퍼블릭 키 추가

키를 교체하거나 도메인에 대해 DNSSEC를 활성화하는 경우, 해당 도메인의 DNS 서비스 공급자로 DNSSEC를 구성한 뒤 다음 절차를 수행하십시오.

도메인의 퍼블릭 키를 추가하려면

  1. 아직 DNS 서비스 공급자로 DNSSEC를 구성하지 않았다면 서비스 공급자가 알려 준 방법에 따라 DNSSEC를 구성합니다.

  2. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  3. 탐색 창에서 [Registered Domains]를 선택합니다.

  4. 키를 추가할 도메인의 이름을 선택합니다.

  5. [DNSSEC status] 필드에서 [Manage keys]를 선택합니다.

  6. 다음 값을 지정합니다.

    키 유형

    업로드하려는 것이 KSK(키 서명 키)인지 아니면 ZSK(영역 서명 키)인지 선택합니다.

    알고리즘

    호스팅 영역의 레코드에 서명할 때 사용한 알고리즘을 선택합니다.

    퍼블릭 키

    DNS 서비스 공급자로 DNSSEC를 구성할 때 사용한 비대칭 키 페어에서 퍼블릭 키를 지정합니다.

    다음을 참조하세요.

    • 다이제스트가 아닌 퍼블릭 키를 지정합니다.

    • 키는 base64 형식으로 지정해야 합니다.

  7. 추가를 선택합니다.

    참고

    퍼블릭 키는 한 번에 하나만 추가할 수 있습니다. 키를 더 추가하려면 Route 53으로부터 확인 이메일을 받을 때까지 기다려야 합니다.

  8. 등록처의 응답이 Route 53에 수신되면 해당 도메인의 등록 기관 연락처로 이메일을 보내 드립니다. 이메일에서는 퍼블릭 키가 등록 기관의 도메인에 추가되었음을 확인하거나 키가 추가되지 않은 이유를 설명합니다.

도메인의 퍼블릭 키 삭제

키를 교체하거나 도메인에 대해 DNSSEC를 비활성화하는 경우, DNS 서비스 공급자로 DNSSEC를 비활성화하기 전에 다음 절차에 따라 퍼블릭 키를 삭제하십시오. 다음을 참조하세요.

  • 퍼블릭 키를 교체하는 경우, 새 퍼블릭 키를 추가하고 최대 3일 후에 이전 퍼블릭 키를 삭제하는 것이 좋습니다.

  • DNSSEC를 비활성화하는 경우, 먼저 도메인의 퍼블릭 키를 삭제합니다. 최대 3일 후에 도메인의 DNS 서비스로 DNSSEC를 비활성화하는 것이 좋습니다.

중요

도메인에 대해 DNSSEC가 활성화되어 있는데 DNS 서비스로 DNSSEC를 비활성화하는 경우, DNSSEC를 지원하는 DNS 해석기에서 클라이언트에 SERVFAIL 오류를 반환하므로 클라이언트는 해당 도메인과 연결된 엔드포인트에 액세스할 수 없습니다.

도메인의 퍼블릭 키를 삭제하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  2. 탐색 창에서 [Registered Domains]를 선택합니다.

  3. 키를 삭제할 도메인의 이름을 선택합니다.

  4. [DNSSEC status] 필드에서 [Manage keys]를 선택합니다.

  5. 삭제할 키를 찾고 [Delete]를 선택합니다.

    참고

    퍼블릭 키는 한 번에 하나만 삭제할 수 있습니다. 키를 더 삭제하려면 Amazon Route 53으로부터 확인 이메일을 받을 때까지 기다려야 합니다.

  6. 등록처의 응답이 Route 53에 수신되면 해당 도메인의 등록 기관 연락처로 이메일을 보내 드립니다. 이메일에서는 퍼블릭 키가 등록 기관의 도메인에 삭제되었음을 확인하거나 키가 삭제되지 않은 이유를 설명합니다.