Let's Encrypt

Let's Encrypt とは?

Let's Encrypt は、無料の認証局です。Web サイトに https を付ける証明書を、自動的に、費用なしで発行しており、現在 Web の大半が暗号化されている理由の 1 つです。

エンジニアに相談する ナレッジベース
訪問者とサーバーが TLS で暗号化された接続で結ばれ、サーバーが証明書を示している図

どういうものか

Let's Encrypt は、非営利団体の Internet Security Research Group が運営しており、2015 年に証明書の発行を始めました。その証明書は、主要なブラウザーとオペレーティングシステムのすべてで信頼されています。これらはドメイン認証の SSL 証明書で、Let's Encrypt は、そのドメインを管理していることだけを確認します。

流れ

記入するフォームも、支払う相手もいません。サーバー上の ACME クライアントと呼ばれるソフトウェアが、Let's Encrypt に証明書を要求します。Let's Encrypt は、ドメインを管理している証拠を示すためのチャレンジを返します。サーバーが決まったアドレスに公開すべきファイル、または DNS に現れるべきレコードのどちらかです。証明が確認されると、証明書が発行され、インストールされます。同じソフトウェアが、期限が切れる前に更新します。

  • Certbot:最もよく知られたクライアントで、Electronic Frontier Foundation が保守しています。
  • 組み込み済み:Caddy や Traefik などの Web サーバーやプロキシ、ほとんどのホスティングコントロールパネル、OPNsense などのファイアウォールは、自分で証明書を要求できます。
  • Kubernetes では:cert-manager が、Kubernetes クラスター内のサービスの証明書を要求し、更新します。

頼る前に知っておくこと

  • 意図的に短い有効期間:証明書の有効期間はこれまで 90 日で、Let's Encrypt はさらに短い期間へ移行しつつあります。更新は自動でなければなりません。手作業で更新する証明書は、いずれ忘れられます。
  • ワイルドカードには DNS が必要:すべてのサブドメインに対応する証明書は、DNS レコードでしか証明できないため、クライアントが DNS プロバイダーにアクセスできる必要があります。
  • 社内システム:インターネットから到達できないサーバーでも、実在するドメイン名を使っていれば、DNS 方式で証明書を取得できます。
  • レート制限:1 つのドメインが一定期間に要求できる証明書の数には、上限があります。通常の使い方では上限に達しませんが、設定を誤ったスクリプトでは達することがあります。
  • 企業の審査はなし:組織認証や EV 認証の証明書は発行されません。それらを必要とするサイトはわずかです。
  • 更新を見守る:DNS が変わったり、ファイアウォールのルールが動いたり、サーバーが再構築されたりすると、自動更新は気づかないうちに失敗します。有効期限を監視してください。

KawaConnect における Let's Encrypt の扱い方

当社が構築する Linux サーバー、リバースプロキシ、Kubernetes クラスターでは Let's Encrypt の証明書を使い、更新を自動化して有効期限を監視します。サイトが Cloudflare の背後にある場合、訪問者に表示される証明書は Cloudflare のもので、サーバー上の証明書は別に扱います。更新に問題が起きたときにすばやく原因をたどれるよう、各システムがどの方式を使っているかを文書にまとめます。

関連サービス

Linuxサーバーサポート

証明書が自動で更新されるサーバー。

Kubernetesコンサルティング

証明書管理を自動化したクラスター。

Webサイト

https で構築、ホスティングするサイト。

詳しく見る

  • Let's Encryptプロジェクト自身のサイト。ドキュメント、稼働状況、証明書の有効期間に関するお知らせがあります。
  • Let's Encrypt の仕組みチャレンジと発行の手順を、順を追って説明します。
  • Certbot特定の Web サーバーとオペレーティングシステムで証明書を取得する手順。
  • cert-manager ドキュメントKubernetes 内の証明書の標準ツール。
  • Wikipedia の Let's Encryptプロジェクトの歴史、スポンサー、規模。

予期せず期限切れになる証明書

証明書を使っているシステムをお知らせください。自動更新と、期限が切れる前の警告を設定します。

相談を始める