거의 모든 존에서 만나게 되는 레코드
CAA 레코드란? 인증서를 발급할 수 있는 CA 제어하기
CAA는 Certification Authority Authorization(인증 기관 권한 부여)의 약자로, 도메인 소유자가 해당 도메인의 이름에 대해 공개 TLS 인증서를 발급할 수 있는 인증 기관을 지정하게 해 주는 DNS 레코드입니다. 인증 기관은 관련 규칙이 요구하는 경우 발급 과정의 일부로 CAA 정책을 확인합니다. 이 레코드는 트래픽을 암호화하거나 인증서를 설치하거나 사이트가 안전하다고 보장하지 않습니다. 추가적인 발급 통제 수단으로서, 도메인이 의도한 인증서 발급자를 DNS에 드러내고 도메인 소유자의 정책이 허용하지 않은 기관이 의도치 않게 인증서를 발급할 가능성을 줄이는 방법입니다.
CAA 정책의 구성
CAA 레코드는 플래그, 속성 태그, 값으로 구성됩니다. 일반적인 issue 속성은 인증서를 발급할 수 있는 기관을 지정하고, issuewild는 와일드카드 인증서에 적용됩니다. iodef 속성은 지원되는 경우 정책 위반 보고서를 받을 보고 대상을 지정할 수 있습니다. 실제 레코드 구문에는 발급 CA가 문서화한 식별자가 들어가며, 식별자는 서로 바꿔 쓸 수 있는 브랜드 이름이 아닙니다. 인증서 제공업체가 게시한 정확한 값을 사용하세요. 도메인은 허용 발급자를 둘 이상 게시할 수 있습니다. 정책이 있으면 목록에 없는 발급자는 해당 DNS 및 CA 처리 규칙에 따라 발급이 차단될 수 있습니다.
| 속성 | 일반적인 목적 |
|---|---|
| issue | 일반 인증서에 대해 인증 기관을 허가 |
| issuewild | 와일드카드 인증서 발급에 대한 정책 설정 |
| iodef | 정책 문제에 대한 보고 대상 제공 |
| Flag | 속성의 중요(critical) 처리 방식을 제어 |
CAA 정책은 DNS 이름 관계를 따릅니다. 자체 CAA 데이터가 없는 이름은 도메인 계층에서 더 위에 있는 가장 가까운 관련 정책을 상속할 수 있으며, CNAME은 DNS 규칙에 따라 적용되는 데이터를 찾는 위치에 영향을 줄 수 있습니다. 따라서 루트 도메인만이 아니라 인증서를 요청하는 정확한 이름을 확인하는 것이 중요합니다. 와일드카드 발급 역시 별도로 주의해야 합니다. issuewild가 있으면 일반 이름에 대해 CA를 허용하는 정책이 와일드카드 인증서에 대해서는 같은 의도를 나타내지 않을 수 있습니다. 특정 해석에 의존하기 전에 최신 표준과 CA의 안내를 확인하세요.
제한을 게시하기 전에 변경 계획을 세우세요
제한적인 CAA 레코드는 호스팅 플랫폼이나 인증서 자동화가 사용하는 기관을 빠뜨리면 정상적인 인증서 갱신을 막을 수 있습니다. 추가하기 전에 서브도메인, 관리형 호스팅, CDN 엔드포인트, 공개적으로 신뢰되는 인증서를 쓰는 스테이징 시스템을 포함해 해당 도메인의 인증서를 받는 모든 서비스를 파악하세요. 각 제공업체에 공식 CAA 식별자와 필요한 레코드를 문의하세요. 그런 다음 레코드를 게시하고 공개적으로 조회해 값을 확인하세요. 구문상 유효한 레코드라고 해서 모든 연동이 올바르게 설정되었다고 가정하지 말고, 변경을 갱신 일정과 조율하고 다음 발급이나 갱신을 모니터링하세요.
- 인증 기관의 최신 문서에 나온 정확한 CAA 값을 사용하세요.
- 루트 이름과 인증서를 받는 특정 서브도메인을 모두 확인하세요.
- 와일드카드 인증서 정책은 별도로 고려하세요.
- 모든 인증서 자동화가 이전되기 전에는 현재 발급자를 제거하지 마세요.
- DNS 제공업체를 변경하거나 인증서 플랫폼을 마이그레이션한 뒤에는 CAA 데이터를 다시 확인하세요.
CAA가 해결해 주지 않는 것
CAA는 인증서 발급 거버넌스의 한 계층일 뿐, DNS 계정 보호, 도메인 등록 보안, 인증서 갱신, HTTPS의 올바른 설정을 대체하지 않습니다. 이미 발급된 인증서를 자체적으로 폐기하지 않으며, 가능한 모든 도메인이나 계정 침해를 막을 수도 없습니다. 이 레코드는 웹사이트가 현재 제공하는 인증서가 유효한지도 브라우저에 알려 주지 않습니다. 브라우저는 연결 중에 제시된 인증서를 검증합니다. 인증서가 없거나 잘못된 경우에는 DNS 정책뿐 아니라 실제 TLS 엔드포인트도 점검하세요.
발급 실패를 문제 해결할 때는 DNS 응답을 점검하고, 발급자 식별자를 확인하고, 요청한 호스트 이름이 정책을 상속했는지 재정의했는지 확인하세요. 게시된 데이터를 인증서 제공업체의 최신 요구 사항과 비교하세요. CAA에서 쓰이는 일반적인 DNS 용어는 DNS 레코드 유형 설명을 참고하세요. CAA는 운영 담당자가 갱신 경로를 이해하고 있을 때 가치 있는 레코드이지만, 부주의한 제한은 자동 인증서의 갱신 시점에 장애를 일으킬 수 있습니다. 한 번 체크하고 끝나는 보안 항목이 아니라 수명 주기에 따른 유지보수가 필요한 설정으로 다루세요.
CAA 정책을 인증서 자동화와 일치시키세요
인증서 발급은 여러 서비스가 동시에 자동화할 수 있습니다. 호스팅 제공업체가 메인 사이트의 인증서를 프로비저닝하고, CDN이 엣지 인증서를 갱신하며, 별도의 플랫폼이 고객 포털을 담당할 수 있습니다. CAA를 제한하기 전에 인증서 이름, 발급자, 와일드카드 사용 여부, 갱신 담당자를 정리한 간단한 목록을 만드세요. 인프라나 도메인 소유권이 바뀔 때마다 다시 살펴보세요. 정책을 업데이트한 후 갱신이 실패하면 제한을 완전히 제거하기 전에 실제 호스트 이름, 상속된 정책, 발급자 식별자를 확인하세요. 범위를 신중히 좁힌 수정 내용을 게시하고 제공업체가 갱신을 완료할 수 있는지 확인하세요. 이렇게 하면 허가된 발급의 보안 가치를 유지하면서도, 어떤 인증서 흐름이 막혔는지 모른 채 모든 서비스 담당자가 광범위한 권한을 추가하려고 나서는 비상 상황을 피할 수 있습니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
관련 글
재귀 DNS 조회, 단계별로 살펴보기
브라우저
example.com 요청
리졸버
내 ISP / 1.1.1.1
루트 + TLD
.com 운영 주체는?
권한 네임서버
실제 응답
체인의 각 단계도 DNS 조회이며 이후 캐시됩니다
DNSSEC 설명: DNS 응답을 인증하는 방법
DNSSEC 서명과 DS, DNSKEY 레코드의 역할, 검증이 이루어지는 방식, 잘못된 설정이 SERVFAIL 응답을 일으키는 이유를 알아봅니다.
모든 IPv4 대역에는 대응하는 IPv6 대역이 있습니다
놓치면 안 되는 IPv6 보안 고려 사항
보안 관점에서 IPv6는 단순히 주소가 더 많은 IPv4가 아닙니다. 몇 가지 차이가 위협 모델을 실제로 바꿉니다.
위조된 응답으로 경쟁에서 이기기
공격자
진짜 응답과 경쟁
위조된 응답
먼저 도착
리졸버 캐시
공유하는 모두에게 오염됨
DNS 스푸핑과 캐시 포이즈닝: 실무 개요
트래픽을 우회시키기 위해 DNS 응답을 위조하는 것은 네트워킹에서 가장 오래된 수법 중 하나이며, DNSSEC와 최신 리졸버 방어가 존재하는 이유입니다.