🔒
DNS-PERSIST-01은 어떻게 동작하나?
Let's Encrypt의 지속적 DNS 인증 레코드로 반복 검증 제거
기존 DNS-01 챌린지는 인증서를 발급하거나 갱신할 때마다 _acme-challenge. TXT 레코드를 새로 생성해야 했습니다. 이를 위해 DNS API 자격증명을 ACME 클라이언트에 제공해야 하고, DNS 전파 지연도 문제였습니다. DNS-PERSIST-01은 _validation-persist.example.com TXT 레코드에 CA의 URI와 ACME 계정 URI를 한 번만 설정하면, 이후 인증서 발급/갱신 시 CA가 이 레코드를 확인하여 도메인 소유권을 인증합니다. DNS 변경이 발급 경로에서 완전히 제거되어, DNS API 자격증명 노출 없이 자동 갱신이 가능해집니다.
구조 다이어그램
기존 DNS-01 방식 (매번 반복)
🖥️
ACME Client
토큰 요청
→
🏛️
Let's Encrypt
TXT 검증
→
🌐
DNS Server
_acme-challenge.
매번 변경 필요!
VS
DNS-PERSIST-01 방식 (한 번 설정, 계속 재사용)
🖥️
ACME Client
certbot 등
발급 요청
→
DNS 변경 없음!
🏛️
Let's Encrypt CA
계정 URI 대조
TXT 조회
→
🌐
DNS Server
_validation-persist.
한 번 설정 OK
핵심: <strong>_validation-persist.</strong> TXT 레코드에 CA + 계정 URI를 한 번만 설정하면,<br>이후 발급/갱신 시 <strong>DNS API 호출 없이</strong> 인증 완료
# TXT 레코드 예시
_validation-persist.example.com. TXT
"acme-challenge=persist;
ca=https://acme-v02.api.letsencrypt.org/directory;
account=https://acme-v02.api.letsencrypt.org/acct/12345;
policy=wildcard;
persistUntil=2027-01-01T00:00:00Z"
"acme-challenge=persist;
ca=https://acme-v02.api.letsencrypt.org/directory;
account=https://acme-v02.api.letsencrypt.org/acct/12345;
policy=wildcard;
persistUntil=2027-01-01T00:00:00Z"
주요 옵션 설명
ca
허용할 CA의 ACME directory URL (여러 CA 동시 허용 가능)
account
인증서 발급을 허용할 ACME 계정 URI
policy
wildcard: 하위 도메인 포함, exact: 해당 도메인만
persistUntil
이 인증 레코드의 유효 기간 (만료 후 재설정 필요)
동작 흐름
1
기존 DNS-01: 발급 요청 → CA가 랜덤 토큰 발급 → _acme-challenge. TXT 레코드 생성 → DNS 전파 대기 → 검증
2
_validation-persist.example.com TXT 레코드에 CA URI + ACME 계정 URI 설정 (한 번만)
3
ACME 클라이언트가 Let's Encrypt에 인증서 발급 요청
4
Let's Encrypt가 _validation-persist. TXT 레코드 조회 → 계정 일치 확인
5
도메인 소유권 인증 완료 → 인증서 발급 (DNS 변경 없음)
6
갱신 시에도 동일 레코드 재사용 → DNS API 호출 불필요
장점
- ✓ 인증서 발급/갱신 시 DNS 변경 불필요
- ✓ DNS API 자격증명 노출 위험 감소
- ✓ 와일드카드 인증서에도 적용 가능
- ✓ persistUntil로 인증 만료 시점 제어
- ✓ 여러 CA를 동시에 허용 가능
단점
- ✗ ACME 계정 키 보호가 더 중요해짐 (키 유출 = 무단 발급 가능)
- ✗ 2026 Q2 이후 Let's Encrypt 지원 예정 (아직 대기)
- ✗ DNSSEC 필수가 아니어서 DNS 스푸핑 위험 존재
- ✗ 지속적 인증이므로 키 유출 시 즉시 레코드 제거 필요
사용 사례
IoT 디바이스 대량 인증서 배포
멀티테넌트 SaaS 플랫폼 (고객 도메인 인증서)
대량 인증서 자동 발급/갱신
LAN 내부 서버 인증서 (DNS API 접근 불가 환경)
홈랩/자가 호스팅 자동화