Let'sEncryptのフォールバック-無料の自動CA

多くの人にとって、Let's EncryptはWeb開発の不可欠な部分になり、90日ごとの自動証明書更新は日常的な手順です。実際、現在ではインターネット上で最も人気のある認証機関です。それは素晴らしいですが、危険でもあります。



これは疑問を投げかけます: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が必要です。



  1. ACME;

  2. .


これらの基準は、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-regnew-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認証センターの特別オファー






All Articles