Let's Encrypt - 暗号化全般

暗号化全般 | IT用語集

Let's Encryptとは

Let's Encryptは、2015年に設立された非営利の認証局(CA)で、無料でドメイン検証(DV)TLS証明書を発行しています。ISRG(Internet Security Research Group)が運営し、Mozilla、Cisco、EFF、Akamai、Chrome、Facebookなどがスポンサーとなっています。

Let's Encryptの登場により、HTTPSの普及率は劇的に向上し、現在ではインターネット上の約80%以上のWebサイトがHTTPSを使用しています。ACME(Automatic Certificate Management Environment)プロトコルにより、証明書の取得と更新が完全に自動化されています。

Let's Encryptの特徴

  • 完全無料:費用は一切かからない
  • 自動化:ACMEプロトコルによる自動発行・更新
  • 短い有効期間:90日間(自動更新前提)
  • ドメイン検証:HTTP-01、DNS-01チャレンジ
  • ワイルドカード対応:*.example.comの証明書も発行可能

AIエンジニアとしての実体験

AIエンジニアとして、開発環境やステージング環境のHTTPS化にLet's Encryptを多用しています。以下は日常的に使用するコマンドです:

# certbotのインストール(Ubuntu)
sudo apt update
sudo apt install certbot python3-certbot-nginx

# Nginx用の証明書取得(自動設定)
sudo certbot --nginx -d api.example.com -d www.example.com

# スタンドアロンモード(Webサーバーなしで取得)
sudo certbot certonly --standalone -d api.example.com

# DNS-01チャレンジ(ワイルドカード証明書)
sudo certbot certonly --manual --preferred-challenges dns \
    -d '*.example.com' -d example.com

# 証明書の更新テスト
sudo certbot renew --dry-run

# 自動更新のcronジョブ確認
sudo systemctl list-timers | grep certbot

ACMEプロトコルの仕組み

HTTP-01チャレンジ

最も一般的な検証方法。指定されたトークンを/.well-known/acme-challenge/に配置して検証します。

DNS-01チャレンジ

DNSレコードにトークンを追加して検証。ワイルドカード証明書の取得に必須です。

自動更新の設定

# systemdタイマーの確認
sudo systemctl status certbot.timer

# 手動でcronを設定する場合
# /etc/cron.d/certbot
0 */12 * * * root certbot renew --quiet --post-hook "systemctl reload nginx"

最新動向(2026年)

証明書の有効期間短縮の議論

Google Chromeは証明書の有効期間を90日からさらに短縮することを提案しています。Let's Encryptの自動更新モデルがますます重要になっています。

ARI(ACME Renewal Information)

証明書の最適な更新タイミングをサーバーが指示する新機能がACMEプロトコルに追加されました。

トラブル事例と対策

⚠️ 自動更新の失敗

症状:証明書の期限切れでサイトがダウン

対策:certbot renewのテスト実行、監視システムでの証明書期限チェック、通知設定の確認。

⚠️ Rate Limit到達

症状:証明書の発行回数制限に到達

対策:ステージング環境を使用してテスト。本番では週50証明書の制限に注意。

権威あるリソース

関連用語

📝 関連ブログ記事

【2026年最新】OpenSSLの深刻な問題とは?

証明書設定のご相談