DNSSEC
DNSSEC를 활성화하고 DS 레코드를 받아 등록기관에 추가하는 방법과, 키를 교체하거나 DNSSEC를 안전하게 비활성화하는 방법을 설명합니다.
DNSSEC는 DNS 응답에 디지털 서명을 추가합니다. DNSSEC를 검증하는 재귀 리졸버는 이를 통해 응답이 실제로 도메인의 권한 있는 네임서버에서 왔으며 변조되지 않았는지 확인할 수 있습니다. 따라서 캐시 포이즈닝과 같은 공격을 방지할 수 있습니다.
Yeap Cloud DNS에서 DNSSEC를 활성화하면 네임서버가 응답을 실시간으로 서명하므로 직접 서명을 관리할 필요가 없습니다. DNSSEC가 실제로 작동하려면 플랫폼의 DS 레코드를 도메인 등록기관에도 제출해야 합니다. 그러면 상위 영역(예: .com)부터 이어지는 신뢰 체인이 구축됩니다.
요금제 페이지에는 Basic 이상 요금제에 DNSSEC가 포함되어 있다고 안내되어 있습니다. 각 요금제의 기능은 콘솔의 요금제 페이지에서 확인합니다.
시작하기 전에
- 영역이 활성 상태여야 하며, 도메인의 네임서버가 플랫폼에서 할당한 네임서버를 가리키고 있어야 합니다(영역 및 레코드 참조).
- 등록기관에서 해당 도메인에 **알고리즘 13 (ECDSA P-256 / SHA-256)**과 **다이제스트 유형 2 (SHA-256)**를 사용하는 DS 레코드를 추가할 수 있는지 확인합니다. 주요 등록기관과 일반적인 TLD는 둘 다 지원합니다.
- 이전 DNS 제공업체에서 이 도메인에 DNSSEC를 활성화했다면 먼저 등록기관에서 기존 DS 레코드를 삭제합니다. 캐시에서 만료될 때까지 기다린 다음 네임서버를 변경합니다. 그렇지 않으면 변경 후 도메인 이름 확인이 중단될 수 있습니다.
1단계: 영역의 DNSSEC 활성화
- DNS → 영역 관리로 이동하여 해당 영역 행의 DNSSEC 설정 아이콘을 클릭합니다. 또는 영역의 레코드 페이지에서 추가 작업 → DNSSEC 설정을 클릭합니다.
- DNSSEC 설정 창에서 DNSSEC 활성화를 클릭하고 확인합니다.
- 시스템이 서명 키(KSK 및 ZSK)를 생성합니다. 창의 DNSSEC 상태가 활성화됨으로 바뀝니다. 서명 알고리즘인
ECDSAP256SHA256과 키 태그도 표시됩니다.
이후 네임서버는 영역의 DNSKEY 레코드를 게시합니다. DNSSEC를 요청하는 쿼리에는 서명된 응답(RRSIG 레코드)을 반환하며, 존재하지 않는 이름에는 서명된 부정 응답을 반환합니다.
2단계: DS 레코드 확인
DNSSEC를 활성화하면 DNSSEC 설정 창에 DS 레코드의 각 필드가 표시됩니다. 필드마다 복사 버튼이 있습니다.
| 필드 | 설명 |
|---|---|
| 키 태그 | 0부터 65535까지의 정수인 키 태그 |
| 알고리즘 | 13 (ECDSAP256SHA256) |
| 다이제스트 유형 | 2 (SHA-256) |
| 다이제스트 | 16진수 문자열 |
그 아래의 전체 DS 레코드 형식에 다음과 같이 전체 레코드가 표시됩니다.
example.com. 3600 IN DS 12345 13 2 3F8A...(digest)등록기관에 따라 키 태그, 알고리즘, 다이제스트 유형, 다이제스트를 별도 필드에 입력해야 하거나 DS 레코드 전체를 한 줄로 입력할 수 있습니다. 등록기관에서 요구하는 형식을 사용합니다.
3단계: 등록기관에 DS 레코드 추가
다른 등록기관을 사용하는 도메인: 등록기관에 로그인하여 도메인의 DNSSEC 또는 DS 레코드 설정을 찾은 다음, 위 표의 값을 입력하고 저장합니다.
Yeap Cloud에 등록된 도메인: 도메인 → 내 도메인을 열고 해당 도메인의 상세 페이지에서 DNSSEC 탭으로 이동합니다.
- DNS 서비스 DNSSEC 상태에 Yeap Cloud DNS에서의 도메인 DNSSEC 상태가 표시됩니다.
- DNSSEC 동기화에서 등록기관에 동기화를 클릭하여 레지스트리에 DS 레코드를 제출합니다.
- 또는 DS 레코드 수동 추가의 필드를 입력하고 DS 레코드 제출을 클릭합니다.
- 등록기관 DNSSEC 상태가 설정됨로 표시되면 제출이 완료된 것입니다.
이 기능의 사용 가능 여부는 해당 TLD의 등록기관 연동이 DNSSEC를 지원하는지에 따라 달라집니다. 지원하지 않으면 관련 안내 메시지가 표시됩니다.
DS 레코드를 제출한 후 전 세계에 적용되기까지 보통 몇 시간이 걸리며, 최대 24–48 hours가 소요될 수 있습니다. 소요 시간은 레지스트리의 게시 주기와 캐시 유지 시간에 따라 달라집니다.
4단계: 검증
DS 레코드가 적용되면 신뢰 체인이 완성되었는지 확인합니다.
# Check that the parent zone publishes the DS record
dig +short DS example.com
# Look at the zone's DNSKEY and signatures (use a nameserver assigned to the zone)
dig +dnssec DNSKEY example.com @<assigned-nameserver>
# Query a validating public resolver; the "ad" flag means validation passed
dig +dnssec www.example.com @1.1.1.1DNSViz와 같은 온라인 도구로 전체 신뢰 체인을 시각적으로 확인할 수도 있습니다.
키 재생성
DNSSEC 설정 창의 키 재생성은 KSK와 ZSK를 동시에 교체하고 새 DS 레코드를 생성합니다. 새 키는 즉시 적용됩니다. 플랫폼은 기존 키와 새 키를 함께 게시하는 점진적 키 교체를 수행하지 않습니다. 따라서 등록기관의 기존 DS가 새 키와 더 이상 일치하지 않으며, 새 DS가 적용되고 캐시의 기존 DS가 만료될 때까지 검증 리졸버는 도메인 이름을 확인할 수 없습니다.
키가 유출된 것으로 의심되는 경우처럼 꼭 필요한 상황이 아니면 키를 재생성하지 마십시오. 키를 변경해야 한다면 다음 순서로 진행해야 안전합니다. 등록기관에서 DS 레코드를 삭제하고, 캐시의 기존 DS가 만료되도록 최소 24–48 hours를 기다린 다음, 콘솔에서 키 재생성을 클릭하고 등록기관에 새 DS 레코드를 제출합니다.
DNSSEC를 안전하게 비활성화
등록기관에 DS 레코드가 남아 있는 상태에서 콘솔의 DNSSEC를 비활성화하면 검증 리졸버가 응답을 변조된 것으로 판단하여 도메인 이름 확인이 중단됩니다. 다음 순서로 진행합니다.
- 등록기관에서 도메인의 DS 레코드를 삭제합니다. Yeap Cloud에 등록된 도메인은 도메인 상세 페이지의 DNSSEC 탭에서 삭제할 수 있습니다.
- DS 레코드가 캐시에서 만료될 때까지 기다립니다. 최소 24–48 hours를 기다리는 것이 좋습니다.
dig +short DS example.com을 실행하여 상위 영역에서 더 이상 DS 레코드를 반환하지 않는지 확인합니다. - DNSSEC 설정 창으로 돌아가 DNSSEC 비활성화를 클릭하고 확인합니다.
도메인을 플랫폼 외부로 이전할 때도 같은 순서를 따릅니다. DS 레코드를 삭제하고 캐시가 만료될 때까지 기다린 다음 네임서버를 변경하거나 영역을 삭제합니다.
새 DNS 제공업체도 DNSSEC를 지원한다면 먼저 이전을 완료하고 새 제공업체가 정상적으로 응답하는지 확인합니다. 그런 다음 새 제공업체에서 제공하는 DS 레코드로 DNSSEC를 다시 활성화합니다.