Slide 1

Slide 1 text

Let’s EncryptでSSL証明 書を自動更新

Slide 2

Slide 2 text

今回やりたいこと • Let’s Encrypt でSSL証明書を取得 • その後に自動更新ができるかどうか確認を行う

Slide 3

Slide 3 text

Let’s Encrypt とは? • 2014年に作られた非営利のルート認証局 • ACME(Automatic Certificate Management Environment)プロトコルを使用したSSL 証明書の自動発行/更新システムを運営 • 誰でも無料でSSL証明書を作ることができるのが最大の特徴 →運用費用は寄付によって賄われているから、無料で取得できることが可能 • 3億のWebサイトにSSL証明書を発行(2022年末時点)

Slide 4

Slide 4 text

Let’s Encrypt の認証方法について • Let’s Encrypt は Certbot を使用してSSL証明書を取得 Certbot…SSL証明書を発行・管理するためのオープンソースのツール • Let’s Encrypt から証明書を取得する際には、ACME 標準で定義された「チャレン ジ」を使用。 • 証明書が証明しようとしているドメイン名があなたの管理下にあることを検証。 • チャレンジには2種類の認証方法がある。 • HTTPチャレンジ • DNSチャレンジ

Slide 5

Slide 5 text

HTTPチャレンジ • 現在最も多く使われているチャレンジ • Let’s Encrypt は ACME クライアントにトークンを発行、 ACME クライアントは ウェブサーバー上のhttp:///.well-known/acme- challenge/という場所に1つのファイルを設置 • 自動更新の場合は、明示的に配置する必要はなく、トークンを自動更新してくれる • ACME クライアントがLet’s Encrypt にファイルが準備できたことを伝えると、Let’s Encrypt はそのファイルを取得 • 正当なレスポンスが得られた場合、検証は成功したとみなされ、証明書の発行に進 むことができる。

Slide 6

Slide 6 text

DNSチャレンジ • ドメイン名が登録されている DNS があなたの管理下であることを証明するために は、ドメイン名の TXT レコードに特定の値を設定する必要がある。 • Let’s Encrypt は ACME クライアントにトークンを提供し、クライアントは、この トークンとあなたのアカウントの鍵を使用して TXT レコードを生成。 • そのレコードを DNS の_acme-challenge.に設定。 • その後、Let’s Encrypt が DNS システムにそのレコードを照会し、正しい値と一致 すれば、証明書の発行が可能となる。

Slide 7

Slide 7 text

両チャレンジの利点 • HTTPチャレンジ • 簡単に証明書を取得できる • DNSチャレンジ • ワイルドカード証明書を発行可能

Slide 8

Slide 8 text

SSL証明書取得の流れ ① サーバ内で秘密鍵を作り、秘密鍵から CSR(Certificate Service Request)を作成。 ② 認証局へサーバ証明書の発行申請としてCSRを 送付。 ③ 各種認証後、秘密鍵で署名したサーバ証明書 を作成。 ④ 申請者へサーバ証明書として送付。

Slide 9

Slide 9 text

Let’s EncryptでSSL証明書を発行するまでの手 順 1. Snapのインストール 2. Certbotのインストール 3. SSL証明書を作成 4. HTTPSの有効化 5. SSL証明書の自動更新 ※今回はApacheを使用。 ここからは先日私が投稿したQiita記事の内容を元に説明

Slide 10

Slide 10 text

Let’s Encrypt 特有の仕様について (チャレンジの種類は問わず) • 同一コモンネームの制限 同一コモンネームの発行可能数が週5枚まで • 登録ドメイン数制限 1つのドメインにつき週50枚までの制限 ここでのドメインはFQDNではなくルートドメイン 例えば、sub.example.jp と sub2.example.jp と sub3.example.jp の SSL証明書を発行する場合、カウントは3となる

Slide 11

Slide 11 text

最後に • 今回投稿した記事は以下のURLとなっています。 「Let‘s Encrypt で SSL証明書を自動更新」 https://qiita.com/yukitkns/items/fb49bbd6f9cc289ecaac • 以前Cloudii の方にもLet’s Encrypt についてを取り上げています ので合わせて確認お願いします。 「DNS-OCIプラグインを使ったSSL証明書の取得方法につい て」 https://cloudii.jp/news/blog/oracle-cloud/dns-oci-ssl/