Let’s Encrypt の制限を分かりやすくまとめてみた【2019年版】

Let's Encryptのロゴ

無料でSSLサーバ証明書を発行してくれるLet’s Encryptですが、証明書の発行に関しては制限が設けられています。この上限数は一筋縄ではいかず、いろいろな条件が絡んでくるので、多少分かりづらくなっています。

そこで、Let’s Encryptの各種制限についてまとめてみました。

なお、通常使用の範囲内で引っかかりそうなのは証明書取得上の制限のみで、アカウントに関する制限はあまり気にする必要がないかと思われます。

証明書取得上の制限

Let’s Encrypt における証明書取得上の制限をまとめると、以下のようになります。(2018年12月現在)

  1. ドメイン毎に50枚/週まで(更新に対する一部例外あり)
  2. 証明書の複製(=含まれるFQDNが完全に一致する証明書)は5枚/週まで
  3. 証明書1枚に含めることができるFQDN数は100個まで(マルチドメイン証明書に対する制限)
  4. 認証失敗は、1アカウント1ホストにつき5回/1時間まで

以下、各制限についての詳細です。

1週間の定義

各種制限に登場する「1週間」とは、カレンダー上の1週間(日曜日から次の日曜日まで)ではなく、単純にその時点から過去7日間を指します。

ドメイン毎の制限

ドメイン毎に1週間で50枚まで取得することができます。

ここで言う「ドメイン」とは、一般的にレジストラから払い出される各ドメイン範囲全体のことを指します。(本家マニュアルでは Registered Domain と称されています)

例えば、www.example.comblog.example.com はいずれも example.com として扱われます。※1FQDNからRegistered Domainを決定するのには、Public Suffix List が利用されています。

更新に対する例外

既存の証明書を更新※2ここで言う「更新」とは、証明書取得以前に発行された証明書に含まれるFQDNと完全に一致するドメインに対する証明書を取得する場合に限られます。する場合に限り、ドメイン毎の制限を超えて証明書を取得することができます。

ただし、ドメイン毎の制限を超える前に行われた更新は、きっちり50枚のうちの1枚とカウントされるので注意。

これを利用すれば、証明書の総数を1週間ごとに50枚づつ増やしていくことができます

複製に対する制限

証明書の複製(=含まれるFQDNが完全に一致する証明書)は1週間で5枚まで取得することができます。5枚のうちには、最初に取得した証明書もカウントされます。

含まれるFQDNを変えたり、追加すればこの制限にはカウントされません。

証明書の更新も、前回取得日が過去1週間以内であれば複製としてカウントされます。

マルチドメイン証明書に対する制限

SAN(Subject Alternative Name)を利用した、いわゆるマルチドメイン証明書1枚に含めることができるFQDN数は100個が上限となります。

それ以上のドメイン数が必要であれば、ワイルドカード証明書を利用できます。

認証失敗に対する制限

ドメイン所有を確認する認証(http-01やdns-01)の失敗回数にも上限があります。

1アカウント1ホストにつき1時間に5回までとなっています。

アカウントに関する制限

上記のような証明書取得上の制限に加えて、アカウントに関する制限も存在します。

Let’s Encrypt を利用するときにアカウントの存在を意識することは少ないかと思います。

使用するACMEクライアントの実装によるかもしれませんが、Certbotでは、特別なことをしなければ1端末1アカウントになっています。

 

Let’s Encrypt におけるアカウントに関する制限は以下になります。(2018年12月現在)

  1. 同一IPアドレスからの新規アカウント作成は、10アカウント/3時間まで
  2. IPv6アドレスからの新規アカウント作成は、/48のアドレス範囲ごとに500アカウント/3時間まで
  3. 保留中の認証は、1アカウント毎に300/週

 

IPv6アドレスから新規アカウント作成をする場合のみ、サブネットプレフィックス /48のアドレス範囲の単位でも新規アカウント作成に制限がかかります。これは、IPv6の場合個人レベルでも膨大な数のグローバルIPアドレスが使えるがゆえの制限でしょう。

また、保留中の認証とは、未完了の(成功も失敗もしていない)リクエストのことで、まともなACMEクライアントを使っていれば発生しないのではないかと思われます。

制限の変更について

これらの制限値はまれにアップデートされる場合があるようです。ネット上にはアップデート前の情報も溢れていますので、最新の情報を確認するようにしましょう。(可能な限りこのページでは最新の情報に更新していく予定です)

最新の情報は、以下に記載されています。(英語)

https://letsencrypt.org/docs/rate-limits/

証明書取得数の確認

制限に引っかからないように、自分がいつ何枚証明書を取得したか確認するには、crt.sh というサイトが便利です。

https://crt.sh/

サイトを開き、検索したい証明書のドメイン名(CNやSAN)を入力すれば、発行された証明書の一覧とそれぞれの発行日・期限などが表示されます。

証明書一覧画面の crt.sh ID と書かれた列のリンクをクリックすると、証明書の詳細が表示されます。(openssl x509 コマンドで証明書を表示したときと大体同じ内容が見られます)

crt.shのスクリーンショット

crt.sh での当サイトドメイン名の検索結果

ちなみにこのサイトは、Certificate Transparency という、証明書の不正発行を検知するための仕組みの一部であるログサーバから、証明書発行ログを取得するものです。サイト運営元は認証局でもある Comodo CA です。(今はリブランドによって Sectigo という名前になったようです)

脚注   [ + ]

1. FQDNからRegistered Domainを決定するのには、Public Suffix List が利用されています。
2. ここで言う「更新」とは、証明書取得以前に発行された証明書に含まれるFQDNと完全に一致するドメインに対する証明書を取得する場合に限られます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です