LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問27
セキュアプロトコルによる各種機能の実装/Let's Encrypt による証明書管理certbot を使い Let's Encrypt から証明書を取得する際、HTTP-01 チャレンジの動作として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- Aチャレンジ用のトークンファイルは /etc/letsencrypt/challenges/ に自動配置され、certbot がそのディレクトリを HTTPS で公開して検証する
- BACME サーバーがポート 80 で http://<ドメイン>/.well-known/acme-challenge/<トークン> にアクセスし、期待される応答を確認する
- CHTTP-01 は DNS-01 と同様にワイルドカード証明書にも対応しており、各サブドメインのドキュメントルートにトークンファイルを配置して検証する
- DHTTP-01 はポート 443 への HTTPS 接続で検証する方式であるため、事前に自己署名証明書を設定して TLS による待ち受けを有効にする必要がある
正解: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 設定や自己署名証明書は不要である。