저는 Let's Encrypt 인증을 사용하는데요. 3개월에 한번씩 무료갱신하여 문제 없이 사용하고 있었는데 1월 18일 letsencrypt.org 에서 아래의 메일을 받았습니다. 요는 TLS-SNI-01 인증이 취약점이 발견되었기 때문에 2월 13일을 기점으로 더 이상 TLS-SNI-01 인증 방식의 갱신을 지원하지 않는다는 이야기 입니다.

 

Action required: Let's Encrypt certificate renewals

 

Hello,

**Action is required to prevent your Let's Encrypt certificate renewals from breaking.**

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.**

You need to update your ACME client to use an alternative validation method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your certificate renewals will break and existing certificates will start to expire.

If you need help updating your ACME client, please open a new topic in the Help category of the Let's Encrypt community forum:

  https://community.letsencrypt.org/c/help

Please answer all of the questions in the topic template so we can help you.

For more information about the TLS-SNI-01 end-of-life please see our API announcement:

https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209

Thank you,
  Let's Encrypt Staff

 

아마도 옛날에 Certbot로 인증서를 발급 받으신 분들은 모두 적용하셔야할 대상이 됩니다.

(정확히는 certbot 0.28.0 미만의 버전 사용자)

 

아래를 참고하여 새로운 인증 방식으로 갱신하는 방법을 간단히 소개합니다. (부족한 부분이 있다면 다른 분이 정정 바랍니다.)

 

https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210

# yum -y install cerbot
# certbot --version
certbot 0.29.1 // 최신 버전을 인가를 확인하세요.

# service nginx stop // 자신의 OS, 웹서버에 맞게 서비스를 중지하세요.
# certbot renew --dry-run
# service nginx start // 자신의 OS, 웹서버에 맞게 서비스를 시작하세요.

 

 

참고, 인증 방식은 위 안내대로 HTTP-01, DNS-01 or TLS-ALPN-01 중에 선택할 수 있습니다. 기본은 HTTP-01 이네요.

인증 방식을 고르고 싶다면 아래의 명령어로 사용 가능합니다.

 

# certbot renew --dry-run --preferred-challenges TLS-ALPN-01

 

 

 

 

 

 

 

 

  • profile

    좋은 정보 감사합니다.
    사용중인 서버에서 확인해보니 다행히도 certbot 0.29.1 버전으로 업데이트 되어 있네요...^^

     

     

    sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak" 를 진행하여 갱신설정에서 tls-sni-01 부분을 삭제 하라고 링크에 나오네요...ㅠㅠ

     

    그후에 sudo certbot renew --dry-run 를 진행하라고 합니다.

  • ?
    80포트를 사용할수 있다면 webroot가 웹서버를 중지할 필요가 없어서 더 낫습니다.
  • ?
    딱 0.28.0 나왔는데 업데이트를 해야하는건지..ㅠ;
  • ? profile
    0.28.0 미만이 위험하다고 하니 0.28.0 은 괜찮을 듯요.
  • profile
    우분투 16.04 기준으로 apt 저장소에서 최근 버전으로 업데이트 해도 0.28.0 이네요.
  • profile ?
    그러게요 흠..;
  • ? profile
    게다가 저희는 어차피 tls-sni-01 방식으로 인증서를 생성하는게 아니라서 큰 타격은 없네요. ㅎㅎ
  • profile ?
    어떤 방식으로 생성하는건지 보려면 뭘 실행해야 하나요?
  • ? ?
    certbot 사용중이시면 /etc/letsencrypt/renewal/ 아래 사이트명.conf로 들어가면 됩니다
  • ? ?
    으악

    standalone_supported_challenges = "tls-sni-01,http-01"

    이렇게 되있네요 ㅠㅠ
  • ? profile
    위에 아파치님이 적어 놓은 댓글에 관련 내용이 있어서 댓글달려고 했는데 이미 설명해주셨네요.
  • ?
    0.29.1 이라네요
    휴~~~ 다행이네요
  • profile

    제 블로그 가이드대로 Let's Encrypt 인증서를 발급하신분들을 위해 추가설명을 합니다.

    Let's Encrypt 인증방식에는 tls-alpn-01, http-01, dns-01, tls-sni-01(곧 사라짐) 이 있습니다.
    제 발급 가이드를 따라했다면 무조건 http-01 인증방식으로 인증합니다.

    (인증서 발급 명령어 실행할 때 http-01 challenge 라는 단어를 확인해보세요)



    따라서, 이 이슈와 관련하여 추가 작업이 필요없으며 영향이 전혀 없습니다.
    감사합니다.