DNSSEC서명 활성화 및 신뢰 체인 구축 - Amazon Route 53

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DNSSEC서명 활성화 및 신뢰 체인 구축

증분 단계는 호스팅 영역 소유자와 상위 영역 유지 관리자에게 적용됩니다. 두 사람은 동일한 사람이 될 수 있지만, 그렇지 않은 경우 영역 소유자는 상위 영역 유지 관리자에게 알리고 협력해야 합니다.

이 문서의 단계를 따라 영역에 서명하고 신뢰 체인에 포함시키는 것이 좋습니다. 다음 단계를 수행하면 온보딩의 위험을 최소화할 수 있습니다. DNSSEC

참고

시작하기 전에 아마존 Route 53에서의 DNSSEC 서명 구성에서 사전 조건을 읽어야 합니다.

다음 섹션에 설명된 대로 DNSSEC 서명을 활성화하려면 세 단계를 거쳐야 합니다.

1단계: DNSSEC 서명 활성화 준비

준비 단계는 영역 가용성을 모니터링하고 서명 활성화와 DS (위임 서명자) 레코드 삽입 사이의 대기 시간을 줄임으로써 온보딩 위험을 최소화하는 데 도움이 됩니다. DNSSEC

서명 활성화 준비 DNSSEC
  1. 영역 가용성을 모니터링합니다.

    영역의 도메인 이름 가용성을 모니터링할 수 있습니다. 이렇게 하면 DNSSEC 서명을 활성화한 후 한 단계 뒤로 물러나야 하는 문제를 해결하는 데 도움이 될 수 있습니다. 쿼리 로깅을 사용하여 대부분의 트래픽에서 도메인 이름을 모니터링할 수 있습니다. 쿼리 로깅 역할 설정에 대한 자세한 내용은 Amazon Route 53 모니터링 단원을 참조하세요.

    모니터링은 셸 스크립트 또는 서드 파티 서비스를 통해 수행할 수 있습니다. 그러나 이것이 롤백이 필요한지 결정하기 위한 유일한 신호는 아닙니다. 도메인을 사용할 수 없는 문제로 고객으로부터 피드백을 받을 수도 있습니다.

  2. 영역의 최대값을 낮추세요TTL.

    구역의 최대값은 TTL 구역에서 가장 긴 TTL 기록입니다. 다음 예시 영역에서 영역의 최대값은 1일 (86400초) TTL 입니다.

    명칭 TTL 레코드 클래스 레코드 유형 레코드 데이터

    example.com.

    900

    IN

    SOA

    ns1.example.com. hostmaster.example.com. 2002022401 10800 15 604800 300

    example.com.

    900

    IN

    NS

    ns1.example.com.

    route53.example.com.

    86400

    IN

    TXT

    some txt record

    영역의 최대값을 TTL 낮추면 서명 활성화와 DS (위임 서명자) 레코드 삽입 사이의 대기 시간을 줄이는 데 도움이 됩니다. 영역의 최대값을 1시간 (3600초) 으로 낮추는 TTL 것이 좋습니다. 이렇게 하면 해석기가 서명된 레코드를 캐싱하는 데 문제가 있는 경우 단 1시간 후에 롤백할 수 있습니다.

    롤백: 변경 내용을 취소합니다. TTL

  3. SOATTL및 SOA 최소 필드를 낮추십시오.

    SOA최소 필드는 SOA 레코드 데이터의 마지막 필드입니다. 다음 예제 SOA 레코드에서 최소 필드의 값은 5분 (300초) 입니다.

    명칭 TTL 레코드 클래스 레코드 유형 레코드 데이터

    example.com.

    900

    IN

    SOA

    ns1.example.com. hostmaster.example.com. 2002022401 10800 15 604800 300

    SOATTL및 SOA 최소 필드는 해석자가 부정적인 답변을 기억하는 시간을 결정합니다. 서명을 활성화하면 Route 53 이름 서버가 부정적인 답변에 대한 NSEC 레코드를 반환하기 시작합니다. NSEC에는 리졸버가 부정적인 답변을 종합하는 데 사용할 수 있는 정보가 들어 있습니다. NSEC정보 때문에 해석기가 이름에 대해 부정적인 답을 가정하게 되어 롤백해야 하는 경우에는 해석기가 가정을 중단할 때까지 최대 SOA TTL 및 SOA 최소값 필드의 값만 기다리면 됩니다.

    롤백: 변경 내용을 취소합니다. SOA

  4. TTL및 SOA 최소 필드 변경이 유효한지 확인하십시오.

    지금까지의 변경 사항이 모든 Route 53 DNS 서버에 전파되었는지 확인하는 데 사용합니다 GetChange.

2단계: DNSSEC 서명을 활성화하고 서명을 생성합니다. KSK

Route 53 콘솔을 AWS CLI 사용하거나 사용하여 서명을 DNSSEC 활성화하고 키 서명 키 (KSK) 를 생성할 수 있습니다.

고객 관리 KMS 키를 제공하거나 생성할 때는 몇 가지 요구 사항이 있습니다. 자세한 내용은 고객 관리 키를 사용하여 다음을 수행합니다. DNSSEC 단원을 참조하십시오.

CLI

이미 보유하고 있는 키를 사용하거나, 고유한 요청을 만들기 위해 hostedzone_id, cmk_arn, ksk_nameunique_string에 대한 자체 값을 사용하는 다음과 같은 AWS CLI 명령을 실행하여 키를 생성할 수 있습니다.

aws --region us-east-1 route53 create-key-signing-key \ --hosted-zone-id $hostedzone_id \ --key-management-service-arn $cmk_arn --name $ksk_name \ --status ACTIVE \ --caller-reference $unique_string

사용자 지정 고객 관리형 키에 대한 자세한 내용은 고객 관리 키를 사용하여 다음을 수행합니다. DNSSEC 단원을 참조하세요. CreateKeySigningKey 섹션도 참조하십시오.

DNSSEC서명을 활성화하려면 고유한 값을 사용하여 다음과 같은 AWS CLI 명령을 실행합니다hostedzone_id.

aws --region us-east-1 route53 enable-hosted-zone-dnssec \ --hosted-zone-id $hostedzone_id

자세한 내용은 enable-hosted-zone-dnssec및 을 참조하십시오 EnableHostedZoneDNSSEC.

Console
DNSSEC서명을 활성화하고 생성하려면 KSK
  1. 에서 Route 53 콘솔에 AWS Management Console 로그인하고 엽니다 https://console.aws.amazon.com/route53/.

  2. 탐색 창에서 호스팅 영역을 선택한 다음 DNSSEC 서명을 활성화하려는 호스팅 영역을 선택합니다.

  3. DNSSEC서명 탭에서 DNSSEC 서명 활성화를 선택합니다.

    참고

    이 섹션의 옵션이 DNSSEC서명 비활성화인 경우 DNSSEC 서명 활성화의 첫 번째 단계를 이미 완료한 것입니다. 호스팅 영역에 대한 DNSSEC 신뢰 체인을 설정했거나 이미 존재하는지 확인하기만 하면 됩니다. 자세한 내용은 3단계: 신뢰 체인 설정 단원을 참조하십시오.

  4. 키 서명 키 (KSK) 생성 섹션에서 새로 KSK 만들기를 선택하고 KSK이름 제공에서 Route 53이 KSK 자동으로 생성할 이름을 입력합니다. 이름에는 숫자, 문자, 밑줄(_)이 포함될 수 있습니다. 이름은 고유해야 합니다.

  5. 고객 CMK 관리에서 Route 53이 사용자를 위해 생성할 때 사용할 고객 관리 키를 선택합니다. KSK DNSSEC서명에 적용되는 기존 고객 관리 키를 사용하거나 새 고객 관리 키를 생성할 수 있습니다.

    고객 관리형 KMS 키를 제공하거나 만드는 경우 몇 가지 요구 사항이 있습니다. 자세한 내용은 고객 관리 키를 사용하여 다음을 수행합니다. DNSSEC 섹션을 참조하세요.

  6. 기존 고객 관리형 키의 별칭을 입력합니다. 새 고객 관리형 키를 사용하려면 고객 관리형 키의 별칭을 입력합니다. 그러면 Route 53에서 키를 생성합니다.

    참고

    Route 53에서 고객 관리형 키를 만들도록 선택한 경우 고객 관리형 키마다 별도의 요금이 부과됩니다. 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

  7. DNSSEC서명 활성화를 선택합니다.

영역 서명을 활성화한 후 다음 단계 (콘솔 사용 여부CLI) 를 완료하세요.

  1. 영역 서명의 효과가 적용되었는지 확인합니다.

    를 사용한 AWS CLI경우 EnableHostedZoneDNSSEC() 호출 출력의 작업 ID를 사용하여 get-change를 실행하거나 모든 Route 53 DNS 서버가 GetChange응답에 서명하고 있는지 확인할 수 있습니다 (status =INSYNC).

  2. 최소한 이전 영역의 최대값이 나올 때까지 기다리십시오. TTL

    해석기가 서명되지 않은 모든 레코드를 캐시에서 비울 때까지 기다립니다. 이를 달성하려면 최소한 이전 구역의 최대값까지는 기다려야 TTL 합니다. 위의 example.com 영역에서는 대기 시간이 1일입니다.

  3. 고객 문제에 대한 보고서를 모니터링합니다.

    영역 서명을 활성화한 후에는 고객에게 네트워크 디바이스 및 해석기와 관련된 문제가 표시되기 시작할 수 있습니다. 권장되는 모니터링 기간은 2주입니다.

    다음은 표시될 수 있는 문제의 예제니다.

    • 일부 네트워크 디바이스는 DNS 응답 크기를 512바이트 미만으로 제한할 수 있는데, 이는 일부 서명된 응답에 비해 너무 작습니다. 이러한 네트워크 장치는 더 큰 DNS 응답 크기를 허용하도록 재구성해야 합니다.

    • 일부 네트워크 디바이스는 DNS 응답을 심층적으로 검사하여 이전 레코드와 같이 이해할 수 없는 특정 레코드를 제거합니다. DNSSEC 이러한 디바이스는 재구성해야 합니다.

    • 일부 고객 해결 담당자는 네트워크가 지원하는 것보다 더 큰 UDP 응답을 받아들일 수 있다고 주장합니다. 네트워크 역량을 테스트하고 해석기를 적절하게 구성할 수 있습니다. 자세한 내용은 DNS응답 크기 테스트 서버를 참조하십시오.

롤백: 전화를 DisableHostedZoneDNSSEC걸고 들어온 단계를 롤백합니다. 1단계: DNSSEC 서명 활성화 준비

3단계: 신뢰 체인 설정

Route 53에서 호스팅 영역에 대한 DNSSEC 서명을 활성화한 후, 호스팅 영역에 대한 신뢰 체인을 구축하여 DNSSEC 서명 설정을 완료하십시오. 이렇게 하려면 Route 53에서 제공하는 정보를 사용하여 호스팅 영역에 대한 상위 호스팅 영역에서 DS(Delegation Signer) 레코드를 생성하면 됩니다. 도메인이 등록된 위치에 따라 Route 53의 상위 호스팅 영역 또는 다른 도메인 등록 기관에 레코드를 추가합니다.

DNSSEC서명을 위한 신뢰 체인 구축
  1. 에서 Route 53 콘솔에 AWS Management Console 로그인하고 엽니다 https://console.aws.amazon.com/route53/.

  2. 탐색 창에서 호스팅 영역을 선택한 다음 신뢰 DNSSEC 체인을 구축하려는 호스팅 영역을 선택합니다. 먼저 DNSSEC 서명을 활성화해야 합니다.

  3. DNSSEC서명 탭의 DNSSEC서명에서 정보 보기를 선택하여 DS 레코드를 생성합니다.

    참고

    이 섹션에 DS 레코드 생성을 위한 정보 보기가 표시되지 않는 경우 신뢰 체인을 설정하기 전에 DNSSEC 서명을 활성화해야 합니다. DNSSEC서명 활성화를 선택하고 에 설명된 단계를 완료한 다음2단계: DNSSEC 서명을 활성화하고 서명을 생성합니다. KSK , 이 단계로 돌아가 신뢰 체인을 구축하십시오.

  4. 신뢰 체인 설정에서 도메인이 등록된 위치에 따라 Route 53 등록 기관 또는 다른 도메인 등록 기관 중 하나를 선택합니다.

  5. 3단계에서 제공된 값을 사용하여 Route 53의 상위 호스팅 영역에 대한 DS 레코드를 생성합니다. 도메인이 Route 53에서 호스팅되지 않는 경우, 제공된 값을 사용하여 도메인 등록 기관 웹 사이트에 DS 레코드를 생성합니다.

    • 상위 영역이 Route 53을 통해 관리되는 도메인인 경우 다음 단계를 따르십시오.

      올바른 서명 알고리즘 (ECDSAP256SHA256및 유형 13) 과 다이제스트 알고리즘 (SHA-256 및 유형 2) 을 구성했는지 확인하십시오.

      Route 53가 등록 기관인 경우 Route 53 콘솔에서 다음을 수행합니다.

      1. 키 유형, 서명 알고리즘퍼블릭 키 값을 참고합니다. 탐색 창에서 등록된 도메인을 선택합니다.

      2. 도메인을 선택한 다음 DNSSEC상태 옆에서 키 관리를 선택합니다.

      3. DNSSEC키 관리 대화 상자의 드롭다운 메뉴에서 Route 53 등록 대행자에 적합한 키 유형과 알고리즘을 선택합니다.

      4. Route 53 등록 기관의 퍼블릭 키를 복사합니다. DNSSEC키 관리 대화 상자에서 값을 공개 키 상자에 붙여넣습니다.

      5. 추가를 선택합니다.

        Route 53는 공개 키의 상위 영역에 DS 레코드를 추가합니다. 예를 들어 도메인이 example.com 인 경우 DS 레코드는.com DNS 영역에 추가됩니다.

    • 상위 영역이 Route 53에서 호스팅되거나 도메인이 다른 레지스트리에서 관리되는 경우 상위 영역 또는 도메인 등록 소유자에게 문의하여 다음 지침을 따르십시오.

      다음 단계를 순조롭게 진행하려면 상위 영역에 낮은 TTL DS를 도입하십시오. 변경 내용을 롤백해야 하는 경우 복구 속도를 TTL 높이려면 DS를 5분 (300초) 으로 설정하는 것이 좋습니다.

      • 상위 영역을 다른 레지스트리에서 관리하는 경우 등록 기관에 연락하여 해당 영역에 대한 DS 레코드를 도입하도록 합니다. 일반적으로 DS TTL 레코드의 크기는 조정할 수 없습니다.

      • 상위 영역이 Route 53에서 호스팅되는 경우 상위 영역 소유자에게 연락하여 해당 영역에 대한 DS 레코드를 도입하도록 합니다.

        상위 영역 소유자에게 $ds_record_value를 제공합니다. 콘솔에서 정보 보기를 클릭하여 DS 레코드 필드를 생성하고 DS 레코드 필드를 복사하거나 Get을 DNSSEC API 호출하고 'DSRecord' 필드의 값을 검색하면 확인할 수 있습니다.

        aws --region us-east-1 route53 get-dnssec --hosted-zone-id $hostedzone_id

        상위 영역 소유자는 Route 53 콘솔이나 CLI Route 53 콘솔을 통해 레코드를 삽입할 수 있습니다.

        • 를 사용하여 AWS CLI DS 레코드를 삽입하려면 상위 영역 소유자가 다음 예와 비슷한 JSON 파일을 생성하고 이름을 지정합니다. 상위 영역 소유자는 파일의 이름을 inserting_ds.json과 같이 지정할 수 있습니다.

          { "HostedZoneId": "$parent_zone_id", "ChangeBatch": { "Comment": "Inserting DS for zone $zone_name", "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "$zone_name", "Type": "DS", "TTL": 300, "ResourceRecords": [ { "Value": "$ds_record_value" } ] } } ] } }

          그런 다음, 다음 명령을 실행합니다.

          aws --region us-east-1 route53 change-resource-record-sets --cli-input-json file://inserting_ds.json
        • 콘솔을 사용하여 DS 레코드를 삽입하려면

          에서 Route 53 콘솔을 엽니다 https://console.aws.amazon.com/route53/.

          탐색 창의 호스팅 영역(Hosted zones)에서 호스팅 영역의 이름을 선택한 다음 레코드 생성(Create record) 버튼을 선택합니다. 라우팅 정책(Routing policy)에 단순 라우팅을 선택했는지 확인합니다.

          레코드 이름(Record name) 필드에 $zone_name과 같은 이름을 입력하고, 레코드 유형(Record type) 드룹 다운에서 DS를 선택하고, 값(Value) 필드에 $ds_record_value의 값을 입력한 다음 레코드 생성(Create records)을 선택합니다.

    롤백: 상위 영역에서 DS를 제거하고 TTL DS를 기다린 다음 신뢰 설정 단계를 롤백합니다. 상위 영역이 Route 53에서 호스팅되는 경우 상위 영역 소유자는 JSON 파일에서 for UPSERT 를 로 DELETE 변경하고 위 예제를 CLI 다시 실행할 수 있습니다. Action

  6. 도메인 레코드에 따라 TTL 업데이트가 전파될 때까지 기다리십시오.

    상위 영역이 Route 53 DNS 서비스를 사용하는 경우 상위 영역 소유자는 Route 53 서비스를 통한 전체 전파를 확인할 수 있습니다. GetChangeAPI

    그렇지 않으면 DS 레코드의 상위 영역을 주기적으로 조사한 다음 DS 레코드 삽입이 완전히 전파될 확률을 높일 수 있도록 10분 더 기다릴 수 있습니다. 일부 등록 기관은 일정(예: 하루에 한 번)에 따라 DS 삽입을 수행합니다.

상위 영역에 DS(Delegation Signer) 레코드를 도입하면 DS를 선택한 검증된 해석기가 해당 영역에서 응답의 유효성을 검사하기 시작합니다.

신뢰 설정 단계가 원활하게 진행되도록 하려면 다음을 완료합니다.

  1. 최대 NS를 TTL 찾으십시오.

    영역과 관련된 NS 레코드에는 2가지 세트가 있습니다.

    • 위임 NS 레코드 - 상위 영역이 보유한 영역에 대한 NS 레코드입니다. 이 레코드는 다음 Unix 명령을 실행하여 찾을 수 있습니다(영역이 example.com인 경우 상위 영역은 com).

      dig -t NS com

      NS 레코드 중 하나를 선택한 후 다음을 실행합니다.

      dig @one of the NS records of your parent zone -t NS example.com

      예:

      dig @b.gtld-servers.net. -t NS example.com

    • 영역 내 NS 레코드 - 이것은 영역에 있는 NS 레코드입니다. 이 레코드는 다음 Unix 명령을 실행하여 찾을 수 있습니다.

      dig @one of the NS records of your zone -t NS example.com

      예:

      dig @ns-0000.awsdns-00.co.uk. -t NS example.com

      두 구역의 최대값을 TTL 기록해 두십시오.

  2. 최대 NS가 나올 때까지 기다리십시오TTL.

    DS 삽입 전에 해석기는 서명된 응답을 받지만 서명을 검증하지는 않습니다. DS 레코드가 삽입되면 영역의 NS 레코드가 만료되기 전까지는 해석기가 해당 레코드를 볼 수 없습니다. 해석기가 NS 레코드를 다시 가져오면 DS 레코드도 반환됩니다.

    고객이 동기화되지 않은 클럭이 있는 호스트에서 해석기를 실행하는 경우 시계가 올바른 시간에서 1시간 이내인지 확인하십시오.

    이 단계를 완료하면 모든 DNSSEC 인식 리졸버가 영역을 검증합니다.

  3. 이름 확인을 관찰합니다.

    해석기의 영역 검증에 문제가 없음을 확인해야 합니다. 고객이 문제를 보고하는 데 필요한 시간도 고려해야 합니다.

    최대 2주 동안 모니터링하는 것이 좋습니다.

  4. (선택 사항) DS와 NS의 길이를 늘리십시오. TTLs

    설정에 만족하면 SOA 변경 내용 TTL 및 내용을 저장할 수 있습니다. Route 53은 서명된 TTL 영역을 1주일로 제한한다는 점에 유의하십시오. 자세한 내용은 아마존 Route 53에서의 DNSSEC 서명 구성 단원을 참조하십시오.

    TTLDS를 변경할 수 있는 경우 1시간으로 설정하는 것이 좋습니다.