無料SSL「Let’s Encrypt」の TLS-SNI-01 の無効化に対応する

invalid_tlssni01_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Let’s Encrypt の SSL 証明書が3月13日以降に失効する!?

今回は、Let’s Encrypt で発行した SSL の内、脆弱性が見つかった「TLS-SNI-01 domain validation」での SSL の発行と更新が停止されるお話です。

レンタルサーバーでウェブサイトを運用している方は、レンタルサーバーの各スタッフの方が対応してくれるはずなので問題なし。ただ VPS やオンプレミス環境でウェブサイトを運用している方は、「Let’s Encrypt」で発行した SSL を再確認したほうが良いです。

 

「TLS-SNI-01」による SSL の発行と更新が停止される原因

Let’s Encrypt より停止予定の発行形式で SSL を発行・更新したユーザーに下記のメールが届きます。

簡単に説明するとドメインを発行する際に使用している「TLS-SNI-01 domain validation」のドメイン認証方法に脆弱性が発見されたので、「TLS-SNI-01」の認証方式により SSL の新規発行を停止。および更新についても2019年3月13日までで破棄するとのこと。

Let’s Encrypt からのメール
※サンプルで転記したメールのドメイン名のみ変更しています。

Hello,

Action may be required to prevent your Let’s Encrypt certificate renewals from
breaking.

If you already received a similar e-mail, this one contains updated information.

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a
certificate in the past 12 days. Below is a list of names and IP addresses
validated (max of one per account):

example.com (***.***.***.***) on 2019-03-01

TLS-SNI-01 validation is reaching end-of-life. It will stop working
permanently on March 13th, 2019. Any certificates issued before then will
continue to work for 90 days after their issuance date.

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.

Our staging environment already has TLS-SNI-01 disabled, so if you’d like to
test whether your system will work after March 13, you can run against
staging: https://letsencrypt.org/docs/staging-environment/

If you’re a Certbot user, you can find more information here:
https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210

Our forum has many threads on this topic. Please search to see if your question
has been answered, then open a new thread if it has not:
https://community.letsencrypt.org/

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

 

SSL 証明書の失効を防ぐための対処法

メール内容とメールに記載されていた参照先 URL を見ると、SSL の認証形式を「HTTP-01」か「DNS-01」、または「TLS-ALPN-01」の形式に変更すれば良いとのこと。

であれば対応策は簡単で、

  • SSL は発行する際に Certbot コマンドを利用していなかったときは、Certbot コマンドに差し替える
  • SSL は発行する際に Certbot コマンドを利用していたときは、Certbot コマンドを最新版にアップデートする

で問題なさそうです。

set_letsencrypt1
certbot コマンドのインストール手順が分からない方は、
https://certbot.eff.org/
でシステムとソフトウェアを選択すると、certbot コマンドをインストールするときに必要なコマンドが表示されます。なおCentOS や Ubuntu、Debian など主要な LinuxOS は一通り対応していますが、WindowsOS は未対応なので悪しからず。

別記事になっていますが、手順等の詳細を確認したい方は、
[AWS]Ubuntu18.04でSSL対応するために「Let’s Encrypt」を設定する
https://www.t3a.jp/blog/infrastructure/set-letsencrypt/
を参照してください。記事は Ubuntu の記事ですが、処理の流れは同じなので、CentOS や Debian を利用している方でも役立つと思います。

 

さいごに

「Let’s Encrypt」の「TLS-SNI-01」が無効化されることを知っていたものの、対応したのはつい先ほど。記事が公開される3月13日以降は、「TLS-SNI-01」形式による「Let’s Encrypt」の更新処理も一切動きません。

みなさんは SSL が失効しないように十分にご注意ください。