0%

DevelopWEB開発・運用ノウハウ

Posted:2019.01.27

Let’s EncryptのTLS-SNI-01認証のバリデーションに伴う対応策まとめ

現在運用しているサイトのうち、いくつかはさくらVPS+Let’s Encryptを使ってSSL対応にしているのですが、先日、Let’s Encryptからこのようなメールが届きました。

 

Let’s EncryptのTLS-SNI-01認証のバリデーションに伴う対応策まとめ

 

英語は苦手なので、、早速翻訳にかけてみるとどうやら、「証明書発行の際に行うTLS-SNI-01の検証は2019年2月13日に廃止予定」とのこと。なので、「HTTP-01、DNS-01、TLS-ALPN-01といった別の検証方法を使用」しなければならないと続き、「このままでは廃止される2019年2月13日以降には更新や新規作成もできない」ということでした。

 

そもそもなぜ廃止になるかというと、TLS-SNI-01認証で作成・更新された証明書に重大な脆弱性が見つかり、そのために廃止されるようです。ちょうど1月中頃にメールが届き、廃止日まで1ヶ月くらいしかないのでちょっと焦っていたのですが、色々と調べているとどうやら簡単な作業で対応できるとのことなので、その時の対応策をまとめておきたいと思います。

 

結論から言うと、Let’s Encryptのクライアントでcertbotを使っている場合は、現状の最新版(正確には0.28以上であればOK)にアップデートするだけで大丈夫のようです。まずは現在のcertbotのバージョンを確認してみます。

# certbot --version
certbot 0.18.1

 

どうやら古いバージョンのままのようですね、yum経由でcertbotアップデートしていきます。再度バージョンを確認すると無事に目的のバージョンに上がっているのがわかりますね。

# yum update certbot

# certbot --version
certbot 0.29.1

 

新しいバージョンの場合は自動的にHTTP-01の認証が実行されるようです。本来ですと、証明書更新のコマンドである「certbot renew」の実行時に「–preferred-challenges」オプションで認証チャレンジ方式を指定する必要があるようですね。アップデートが確認できれば、続いて「–dry-run」のオプションを付けて更新のテストを行います。念の為「–preferred-challenges http」と指定しておきます。

# certbot renew --dry-run --preferred-challenges http

 

コマンドが走り、しばらくするとHTTP-01認証方式で実行されているのが確認できます。

Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Cleaning up challenges...

 

下記のメッセージが表示されると無事に更新テストが完了したことになります。あとは必要に応じて期限前にコマンドを実行するなりcronに登録するなどで更新していきます。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/example.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

 

Let’s Encryptのドメイン使用権の認証タイプについて

Let’s Encryptでは今回廃止予定の認証タイプの他にもいくつかドメイン使用権の認証タイプがあります。せっかくなので知識としてこの機会にまとめておきたいと思います。

 

HTTP-01認証 ポート番号80を使用する認証方式で、Let’s Encrypt認証局から発行されるトークンをwebサーバー内に設置し、認証局がそのトークンを検証する方法
TLS-SNI-01認証 ポート番号443を使用する認証方式で、Let’s Encrypt認証局から発行されるトークンをwebサーバー内に設置し、認証局がそのトークンを検証する方法
DNS-01認証 ポート番号53を使用する認証方式で、Let’s Encrypt認証局から発行されるトークンをDNSサーバーのTXTレコードに登録し、認証局がそのトークンを検証する方法認証局がそのトークンを検証する方法

 

現状のcertbotですとプラグインではまだ「TLS-ALPN-01」には対応していないようですね。とりあえずは上記の方法で今回の問題は回避できそうなので良かったです。

 

(参考にさせて頂いたサイト)
Let’s Encrypt ユーザーガイド
”Action required: Let’s Encrypt certificate renewals”というメールが来たら対応必須!

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】