DNSSEC란?
DNSSEC(DNS Security Extensions)는 DNS 레코드를 암호학적으로 서명해 리졸버가 변조되지 않았음을 검증할 수 있게 하며, 캐시 포이즈닝과 스푸핑을 방어합니다. 레코드의 의미를 바꾸지 않으면서 일반 DNS 위에 신뢰의 사슬을 더합니다. IPeek는 검증을 수행하는 DNS-over-HTTPS 리졸버를 조회해 도메인이 서명되고 인증되었는지 보고합니다.
DNSSEC가 신뢰의 사슬을 구축하는 방법
DNSSEC는 각 영역을 개인 키로 서명하고 일치하는 공개 키를 DNS에 게시함으로써 작동합니다. 레코드는 서명되고(RRSIG), 키는 게시되며(DNSKEY), 영역 키의 지문(DS 레코드)이 상위 영역에 놓입니다. 이는 귀하의 영역을 상위 영역에 연결하고, 그 상위는 다시 자신의 상위에, 루트까지 쭉 연결되는 끊김 없는 신뢰의 사슬을 이룹니다. 검증 리졸버는 루트에서 아래로 그 사슬을 따라가며 각 서명을 확인하고, 서명이 검증되는 응답만 신뢰합니다.
DNSSEC 점검 결과를 읽는 방법
IPeek는 도메인이 DNSSEC로 서명되었는지와 검증 리졸버가 이를 인증하는지 보고합니다. 인증된 결과(흔히 AD, 즉 Authenticated Data 플래그로 표시)는 신뢰의 사슬이 온전하고 레코드가 검증되었다는 뜻입니다. 도메인이 서명되지 않았다면 DNSSEC가 단지 활성화되지 않은 것입니다. 흔하고 오류가 아니지만, 레코드가 보호되지 않는다는 뜻입니다. 서명된 도메인이 검증에 실패하는 것은 더 심각합니다. 이는 끊어진 사슬, 보통 등록 대행자의 DS 레코드가 누락되거나 불일치함을 가리킵니다.
흔한 DNSSEC 문제와 해결 방법
가장 흔한 실패는 끊어진 신뢰의 사슬로, 영역은 서명되어 있는데 상위의 DS 레코드가 누락되거나 오래되었거나 현재 키와 일치하지 않는 경우입니다. 이로 인해 검증 리졸버가 SERVFAIL을 반환하며, 검증 리졸버를 쓰는 사용자에게는 도메인이 완전히 오프라인이 될 수 있습니다. 보통 키 교체(rollover) 중이나 DS 레코드를 등록 대행자에 업로드하지 않고 DNSSEC를 활성화할 때 발생합니다. 등록 대행자의 DS 레코드가 영역의 현재 활성 키와 일치하게 하고, DS 갱신이 전파되기 전에는 절대 이전 키를 제거하지 마세요.