Letsencrypt 인증서 TLS-SNI-01 확인방식 인증서 지원종료
게재 : 2019.1.29
수정 : 2019.3.14
TLS-SNI-01 확인방식 인증서 지원종료에 대해
며칠전 Letsencrypt로부터 다음과 같은 메일이 왔습니다.
- Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a certificate in the past 60 days. TLS-SNI-01 validation is reaching end-of-life and will stop working on **February 13th, 2019.**
내용인즉 TLS-SNI-01 방식의 확인을 하는 인증서에 대한 지원이 종료되어 2019년 2월 13일부터 갱신작업이 안되므로 사전에 체크하여 HTTP-01, DNS-01, TLS-ALPN-01 중 하나의 방식을 사용하도록 설정하여 인증서 갱신이 실패하는 일이 없도록 대비하라는 것입니다.
저도 TLS-SNI-01 인증서를 사용중인 걸까요?
사용자의 설정이 없는 없을 경우, Let's Encrypt가 정한 방식으로 갱신이 되는데 과거(최근까지도)에는 TLS-SNI-01가 기본이었습니다. 현재는 TLS-SNI-01를 막아놓아서 선호옵션에 관한 설정을 사용자가 지정하지 않는 한 HTTP-01로 자동 갱신되고 있습니다.
때문에 certbot renew를 수동 또는 자동(크론작업)으로 실행할 때 선호옵션을 등록하지 않는 경우, 또는 options-ssl-apache.conf에 아무런 설정을 추가하지 않은 이전 이용자들은 대부분이 TLS-SNI-01로 등록되었을 것이므로 TLS-SNI-01 인증서를 사용하고 있다고 보는 것이 좋습니다. 이는 작년말을 마지막으로 인증서갱신을 하지 않은 사용자의 경우에 한하며 작년말 이후 자동갱신된 이력이 있다면 위에서 언급한 것 처럼 이미 HTTP-01로 자동 갱신되어 있을 것입니다.
TLS-SNI-01를 사용중인지 정확히 알 수 있는 방법은?
이미 등록된 체인에 새로운 도메인을 추가해보면 알 수 있습니다. test.net,
www.test.net 도메인이 등록된 인증서에
en.test.net를 추가해보면 그 과정에서 어떤 방식의 인증서인지 다음과 같이 메세지가 나타납니다.
➔ Letsencrypt 도메인 추가하는 방법 - Renewing an existing certificate
- Performing the following challenges:
- tls-sni-01 challenge for test.net - 기존 등록 도메인
- tls-sni-01 challenge for www.test.net - 기존 등록 도메인
- http-01 challenge for en.test.net - 현재 추가작업중인 도메인
- Waiting for verification...
위를 보면 기본의 test.net,
www.test.net 도메인들은 tls-sni-01이었으나 새로 추가하는
en.test.net도메인은 http-01로 등록된 것을 알 수있습니다.
TLS-SNI-01이면 어떤 문제가 있나요?
향후 갱신시 http-01 방식으로 전환하여 자동 갱신이 진행되기 때문에 Letsencrypt를 한참전에 설치하고 한번도 업데이트를 해주지 않은 경우를 제외하고는 크게 걱정할 필요가 없습니다.
Letsencrypt renew 명령어 동작 테스트
보다 확실하게 문제가 없는지를 확인하고싶다면 다음의 명령어를 실행해보면 됩니다.
Letsencrypt 갱신 테스트 명령어
- certbot renew --dry-run
위는 renew 명령어로 Letsencrypt 인증서를 갱신할 때 문제는 없는지, 어떤 결과가 발생하는지를 체크하는 renew 시뮬레이션 명령어입니다. 시뮬레이션이므로 renew 가능 기간이 도래하지 않은 상태에서도 사용이 가능합니다. 물론 실제 적용은 안되기 때문에 renew가 진행된것으로 착각해서는 안되며 실제 적용은 향후 별도로 진행해줘야 한다는 점도 잊지 마시기 바랍니다.
아래와 같은 메세지를 확인했다면 갱신에 문제가 없는 것이므로 TLS-SNI-01 인증서 사용에 따른 걱정은 하지 않아도 됩니다.
시뮬레이션 성공 메세지
- Congratulations, all renewals succeeded. The following certs have been renewed: (이하 성공한 체인명 목록이 나열되고 옆에 success라고 표기됨)
certbot renew --dry-run에 실패한 경우에는
options-ssl-apache.conf에서 TLS-SNI-01의 사용을 지시하는 옵션을 삭제해줍니다. 또한 크론 등으로 자동갱신을 설정한 경우에도 선호옵션은 삭제해줍니다.
오랜기간 Letsencrypt를 업데이트하지 않은 경우에는 이번 기회에 업데이트해주는 것을 권장합니다.
➔ Letsencrypt 버젼확인, 업데이트 방법 등에 관한 글
#Letsencrypt #TLS-SNI-01 #렛츠인크립트 #인증서 #certbot #종료 #Let's Encrypt
➔ | Letsencrypt 인증서 1개 체인 통째로 삭제하기 | ➔ |
➔ | Letsencrypt certbot 설치, 설치후 설정 및 업데이트 관련 명령어 | ➔ |