Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

yukitkns
September 01, 2024
3

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

yukitkns

September 01, 2024
Tweet

Transcript

  1. Let’s Encrypt とは? • 2014年に作られた非営利のルート認証局 • ACME(Automatic Certificate Management Environment)プロトコルを使用したSSL

    証明書の自動発行/更新システムを運営 • 誰でも無料でSSL証明書を作ることができるのが最大の特徴 →運用費用は寄付によって賄われているから、無料で取得できることが可能 • 3億のWebサイトにSSL証明書を発行(2022年末時点)
  2. Let’s Encrypt の認証方法について • Let’s Encrypt は Certbot を使用してSSL証明書を取得 Certbot…SSL証明書を発行・管理するためのオープンソースのツール

    • Let’s Encrypt から証明書を取得する際には、ACME 標準で定義された「チャレン ジ」を使用。 • 証明書が証明しようとしているドメイン名があなたの管理下にあることを検証。 • チャレンジには2種類の認証方法がある。 • HTTPチャレンジ • DNSチャレンジ
  3. HTTPチャレンジ • 現在最も多く使われているチャレンジ • Let’s Encrypt は ACME クライアントにトークンを発行、 ACME

    クライアントは ウェブサーバー上のhttp://<YOUR_DOMAIN>/.well-known/acme- challenge/<TOKEN>という場所に1つのファイルを設置 • 自動更新の場合は、明示的に配置する必要はなく、トークンを自動更新してくれる • ACME クライアントがLet’s Encrypt にファイルが準備できたことを伝えると、Let’s Encrypt はそのファイルを取得 • 正当なレスポンスが得られた場合、検証は成功したとみなされ、証明書の発行に進 むことができる。
  4. DNSチャレンジ • ドメイン名が登録されている DNS があなたの管理下であることを証明するために は、ドメイン名の TXT レコードに特定の値を設定する必要がある。 • Let’s

    Encrypt は ACME クライアントにトークンを提供し、クライアントは、この トークンとあなたのアカウントの鍵を使用して TXT レコードを生成。 • そのレコードを DNS の_acme-challenge.<YOUR_DOMAIN>に設定。 • その後、Let’s Encrypt が DNS システムにそのレコードを照会し、正しい値と一致 すれば、証明書の発行が可能となる。
  5. Let’s EncryptでSSL証明書を発行するまでの手 順 1. Snapのインストール 2. Certbotのインストール 3. SSL証明書を作成 4.

    HTTPSの有効化 5. SSL証明書の自動更新 ※今回はApacheを使用。 ここからは先日私が投稿したQiita記事の内容を元に説明
  6. Let’s Encrypt 特有の仕様について (チャレンジの種類は問わず) • 同一コモンネームの制限 同一コモンネームの発行可能数が週5枚まで • 登録ドメイン数制限 1つのドメインにつき週50枚までの制限

    ここでのドメインはFQDNではなくルートドメイン 例えば、sub.example.jp と sub2.example.jp と sub3.example.jp の SSL証明書を発行する場合、カウントは3となる
  7. 最後に • 今回投稿した記事は以下の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/