過去問ドリル

LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問27

セキュアプロトコルによる各種機能の実装/Let's Encrypt による証明書管理

certbot を使い Let's Encrypt から証明書を取得する際、HTTP-01 チャレンジの動作として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)

正解:B

解説

HTTP-01 チャレンジでは、ACME サーバーが対象ドメインのポート 80 に HTTP でアクセスし、/.well-known/acme-challenge/ 配下に配置されたトークンの内容を確認することでドメインの管理権限を検証します。certbot の --webroot モードでは Web サーバーのドキュメントルート配下にトークンを自動配置し、--standalone モードでは一時的にポート 80 で HTTP サーバーを起動します。ワイルドカード証明書の取得には HTTP-01 は対応しておらず、DNS-01 チャレンジを使う必要があります。

選択肢ごとの解説

  • A誤り。トークンの配置先は /etc/letsencrypt/challenges/ ではなく、Web サーバーのドキュメントルート配下の .well-known/acme-challenge/ ディレクトリである。また検証は HTTPS ではなく HTTP(ポート 80)で行われる。
  • B正しい。HTTP-01 では ACME サーバーがポート 80 で http://<ドメイン>/.well-known/acme-challenge/<トークン> に HTTP アクセスし、期待される応答が得られることでドメインの管理権限を確認する。
  • C誤り。HTTP-01 チャレンジはワイルドカード証明書には対応していない。ワイルドカード証明書を取得するには DNS-01 チャレンジが必要である。
  • D誤り。HTTP-01 はポート 80 の HTTP(平文)で検証する方式であり、ポート 443 の HTTPS は使わない。事前の TLS 設定や自己署名証明書は不要である。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く