CAA 레코드 확인
도메인의 CAA 레코드로 인증서 발급 허용 기관을 확인합니다.
CAA(Certification Authority Authorization) 레코드 조회는 도메인이 어떤 인증기관(CA)에게만 인증서 발급을 허용하는지를 실시간으로 확인하는 도구입니다. 도메인만 입력하면 공개 DNS에 설정된 CAA 규칙(issue·issuewild·iodef)을 읽어와 허용된 CA 목록과 플래그를 표로 보여줍니다.
CAA는 잘못된 발급(mis-issuance)을 막는 마지막 안전장치입니다. 레코드가 없으면 모든 CA가 발급할 수 있고, 레코드가 있으면 명시된 CA만 발급할 수 있습니다. 인증서 발급이 갑자기 거부될 때 가장 먼저 확인해야 할 항목이기도 합니다. 결과는 잠시 캐싱되어 빠르게 응답합니다.
CAA는 어떻게 동작하나
CA는 인증서를 발급하기 전, 발급 대상 도메인(과 상위 도메인)의 CAA 레코드를 조회하도록 의무화되어 있습니다. 자신이 그 도메인의 허용 목록에 없으면 발급을 거부합니다. 즉 CAA는 DNS 한 줄로 "이 도메인 인증서는 지정한 CA에서만 받겠다"고 선언하는 방식입니다.
- issue: 일반(비-와일드카드) 인증서를 발급할 수 있는 CA를 지정
- issuewild: 와일드카드(*.example.com) 인증서 전용 발급 허용 CA
- iodef: 정책 위반 시 CA가 신고할 연락처(mailto: 또는 URL)
- flag: 128이면 critical — 이해 못 하는 CA는 발급을 거부해야 함
Let's Encrypt 예시
Let's Encrypt만 발급을 허용하려면 다음과 같이 설정합니다. issue ";"처럼 값에 세미콜론만 넣으면 모든 CA의 발급을 막는 의미가 됩니다.
example.com. CAA 0 issue "letsencrypt.org"example.com. CAA 0 issuewild "letsencrypt.org"example.com. CAA 0 iodef "mailto:security@example.com"
설정 시 주의할 점
CAA는 가장 가까운 상위에 정의된 레코드를 따릅니다(서브도메인에 없으면 부모로 올라감). 새 CA로 전환하거나 자동 갱신을 쓰는 경우, 그 CA가 목록에 빠져 있으면 발급이 조용히 실패합니다. 멀티 CA 구성에서는 사용하는 모든 CA를 issue 줄에 함께 넣어야 합니다. 발급된 인증서가 실제로 어떤 CA에서 나왔는지는 SSL 인증서 검사기로, 같은 도메인의 다른 DNS 레코드는 DNS 레코드 조회로 확인할 수 있습니다.