
これは疑問を投げかけます:Let's Encryptのサーバーが一時的に機能しなくなったらどうなるでしょうか?失敗の考えられる理由については考えたくありません。ただし、フォールバックを提供することをお勧めします。つまり、同じ便利な自動化された無料の認証センターです。
幸いなことに、フォールバックがあります。少なくとも2つ。Let'sEncryptをモデルにした同じ無料の自動CA。
ACMEプロトコル
Let's Encryptとのすべての通信は、ACME(自動証明書管理環境)プロトコルを使用して行われます。これは、CAとの対話を自動化するためのオープンプロトコルです。Let's Encryptに固有のものはなく、他のいくつかのCAでサポートされています。
今こそ、ますます多くのCAがACMEを介して機能し始めている瞬間です。これは、Let's Encryptから証明書を取得するためのツール、スクリプト、およびプロセスのほとんどすべてが、ACMEをサポートする他のCAで正常に機能することを意味します。
別のCAに再構築するには、構成されたスクリプトのAPIアドレスを
https://acme-v02.api.letsencrypt.org/directory
(Let's Encrypt)からhttps://api.buypass.com/acme/directory
(BuyPass、以下を参照)またはその他に変更する必要があります。
BuyPass
2つの基準を満たすCAが必要です。
- ACME;
- .
これらの基準は、BuyPassと呼ばれるノルウェーのCAによって満たされます。
無料のサービスはBuyPassGo SSLと呼ばれます:証明書の自動発行と更新+ ACMEサポート。何が必要。
このホワイトペーパーでは、Electronic FrontierFoundationの公式クライアントであるCertbotを使用して証明書の取得と更新を設定してLet'sEncryptまたはACMEプロトコルをサポートするその他のCAと連携する方法について説明します。
Let's Encryptの場合と同様に、CAでの登録とBuyPassでの証明書の取得は基本的なものであり、ここでは違いはありません。
通知用の電子メールアドレスでの登録( 'YOUR_EMAIL')および利用規約への同意(--agree-tos):
root@acme:~# certbot register -m 'YOUR_EMAIL' --agree-tos --server 'https://api.buypass.com/acme/directory'
証明書の取得:
root@acme:~# certbot certonly --webroot -w /var/www/example.com/public_html/ -d example.com -d www.example.com --server 'https://api.buypass.com/acme/directory'
その後、必要に応じて、他のCertbotコマンドを使用して、証明書を取り消し(
revoke
)、期限切れの証明書を更新し(renew
)、証明書を削除します(delete
)。
万が一の場合に備えて、更新コマンドをcronに配置して自動的に実行し、期限切れの証明書を確認することをお勧めします。たとえば、次のようになります。
#Cron-job scheduled under root to run every 12th hour at a specified minute (eg. 23, change this to your preference)
23 */12 * * * /opt/certbot/certbot-auto renew -n -q >> /var/log/certbot-auto-renewal.log
BuyPassにはACMEにいくつかの制限があります。主な制限は、登録済みドメインの証明書の数です(1週間あたり20)。これは、ドメイン名レジストラから購入されたドメインの部分を指します。つまり、これは合計ですべてのサブドメインの制限です。もう1つの制限は、1週間に5回の複製です。これは、特定のサブドメインごとの証明書の制限です。検証エラーには制限があります。アカウントごと、ホストごと、および1時間ごとに5つです。
エンドポイントリクエストの制限
new-reg
、new-authz
およびnew-cert
:1秒あたり20。クエリ制限/directory
:1秒あたり40。
プロセス内の承認の最大数(保留中の承認):300個。Certbotの代わりに
別のクライアントacme.shを使用できますこれも最初はLet'sEncrypt用に構成されていますが、ACMEをサポートする別のCAに簡単にルーティングできます。
./acme.sh --issue --dns dns_cf -d example.com --server "https://api.buypass.com/acme/directory"
ZeroSSL
ACMEプロトコルの下で無料の90日間の証明書 を発行するもう1つのCAは、オーストリアのZeroSSLです。
前述のacme.shプログラムはZeroSSLをサポートしているため、登録は非常に簡単です。
acme.sh --register-account -m foo@bar.com --server zerossl
次に、証明書を生成するための1つのコマンド:
acme.sh --issue --dns dns_cf -d example.com --server zerossl
API呼び出しに制限はありません。他にも利点があります。このCAは、90日間だけでなく、1年間も無料の証明書を提供し、Webダッシュボードと技術サポートがあります。
ちなみに、ZeroSSLは、Webインターフェースを介しても、電子メールによるドメイン検証を段階的に実行して証明書を生成します。ただし、もちろん、この方法は自動化には適していません。
その他のACMEサーバー
これは、すべての既知のACMEサーバーのリストです。まだ少ないですが、増え続けています。
Let's Encryptは、すばらしい仕事をしている優れた組織です。しかし、すべての卵を1つのバスケットに入れるのは危険です。CAがACMEプロトコルの下で動作し、自動モードで無料の証明書を配布すればするほど、エコシステム全体の多様性と信頼性が高まります。
Let's Encryptでダウンタイムが発生したり、アクティビティが一時的に停止したりする可能性があります。その後、BuypassとZeroSSLがヘッジするようになります。これらのフォールバックがあると、Let's Encrypt自体の信頼性が最終的に向上します。これは、単一の障害ポイントではなくなったためです。また、ACMEのCAを変更するのは数秒です。
GlobalSign認証センターの特別オファー
