ACME는 인증서 요청과 도메인 검증을 자동화한다. 갱신 성공에는 클라이언트·검증 경로·서버 재적용이 각각 동작해야 한다. 이 글은 프로토콜 설명과 운영 점검표이며 DechoNet의 실제 장애 경험담이 아니다.

발급이 증명하는 범위

도메인 검증 인증서는 공개키와 검증된 이름을 연결한다. 사이트 운영자의 정직함을 증명하지 않는다. RFC 8555는 주문, authorization, 챌린지, CSR 제출, 인증서 다운로드 흐름을 정의한다. 계정 키는 서명된 ACME 요청의 인증에 쓰이고 CSR에 담는 인증서 키와는 역할이 다르다. JWS 요청에는 재전송을 막는 nonce가 들어간다. 디렉터리 조회와 nonce 획득은 서명된 POST 요청의 예외다.

이미 유효한 authorization은 CA 정책의 허용 기간 안에서 재사용될 수 있다. 따라서 발급 때마다 새 챌린지를 수행하는 것은 아니다. 인증서를 내려받는 일과 TLS 서버가 그 인증서를 제공하도록 설정하는 일도 별개다.

유지할 수 있는 검증 경로를 선택하기

아래 선택지는 Let’s Encrypt의 챌린지 문서 기준이다. CA와 클라이언트에 따라 지원 범위가 다르다.

챌린지검증 경로운영 제약
http-0180번 포트의 챌린지 리소스외부 접근 필요, 와일드카드 검증 불가
dns-01_acme-challenge 아래 TXT와일드카드 지원, DNS 권한·반영 확인 필요
tls-alpn-01443번 포트의 특수 TLS 응답TLS 종단 지점에서 명시적인 지원 필요

dns-01에서는 전체 존 수정 토큰을 웹 서버에 두기보다 범위를 좁힌 자격증명이나 검증 존 위임을 검토한다. CA에 검증을 요청하기 전에 TXT가 실제로 보이는지 확인한다. DNS API의 쓰기 성공만으로 모든 권한 서버에 반영됐다고 판단할 수는 없다.

RFC 8737은 tls-alpn-01의 acme-tls/1 협상과 특수 인증서 확장을 정의한다. 443번 포트에서 일반 HTTPS가 동작하는 것만으로 부족하다. TLS를 종단하는 프록시나 서버가 이 챌린지를 처리해야 하며 와일드카드 검증에는 쓰이지 않는다.

인증서가 짧아져도 감시는 필요하다

CA/Browser Forum 요구사항 §6.3.2는 새 공개 TLS 인증서의 최대 수명을 2026년 3월 15일부터 200일, 2027년 3월 15일부터 100일, 2029년 3월 15일부터 47일로 제한한다. 기존 인증서의 만료일을 소급 변경하지 않는다. 별도로 Let’s Encrypt의 일정은 classic 프로필을 2027년 2월 10일 64일, 2028년 2월 16일 45일로 바꾸며 선택형 tlsserver 프로필에는 더 이른 일정이 적용된다.

일률적인 ‘60일마다 갱신’ 대신 CA와 클라이언트의 갱신 지침을 따른다. 클라이언트가 만든 파일뿐 아니라 갱신 실패와 실제 제공 인증서를 감시한다. 짧은 수명은 키 유출 뒤 인증서가 유효한 채 남는 기간을 줄이지만 폐기와 키 교체를 대신하지 않는다.

도메인 검증은 보안 경계다

계정 키·인증서 키·챌린지 경로·DNS 자격증명을 보호해야 한다. 도메인 검증의 위험은 ACME 이전에도 있었다. Forum §3.2.2.9는 여러 관측점의 정족수 검증을 요구하며 전원 일치를 요구하지 않는다. 일부 국지적 검증 공격의 위험을 줄이지만 발급 악용이 불가능하다고 보장하지 않는다.

발급은 성공했는데 HTTPS가 실패할 때

  1. 요청한 호스트명(SNI)으로 대상 서버에 TLS 연결해 받은 인증서의 SAN을 신청한 이름과 대조한다. SSL 도구는 보조 점검에 사용한다. 직접 인증서 검사가 불가능하면 CT 발급 기록이 표시될 수 있으며, 이 기록만으로 서버가 현재 제공하는 인증서를 확인할 수는 없다. 프록시·CDN·다른 서버 인스턴스에 새 인증서가 아직 없을 수 있다.
  2. 만료·체인 신뢰·TLS를 각각 확인한다. 호스트명 불일치와 발급자·체인 오류는 해결책이 다르다.
  3. DNS 조회로 의도한 서버를 가리키는지 확인하고 챌린지 경로·클라이언트 로그를 살핀다. DechoNet의 공개 점검은 ACME 검증을 실행하거나 사용자의 갱신 작업을 읽지 않는다.
  4. 갱신 후 재적용·배포를 확인하고 실패를 알림으로 남긴다. DNS 권한은 좁게 유지하고 오래된 챌린지 레코드는 클라이언트의 관리 방식에 맞게 정리한다.

ACME는 반복되는 발급 작업을 줄인다. 안정적인 운영에는 검증 경로 유지와 사용자가 접속하는 서버에 새 인증서가 도착했다는 확인이 여전히 필요하다.