LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問1
セキュアプロトコルによる各種機能の実装/Let's Encrypt による証明書管理certbotを使い、Let's Encryptから「*.example.com」のワイルドカード証明書を取得したい。ドメインの管理権限の確認(チャレンジ)の方式として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- AHTTP-01:Webサーバーの80番ポートで、/.well-known/acme-challenge/ 配下にトークンを置く
- BHTTP-01:Webサーバーの443番ポートで、/.well-known/acme-challenge/ 配下にトークンを置く
- CDNS-01:_acme-challenge.example.com のTXTレコードに、指定された値を登録する
- DDNS-01:example.com のCAAレコードに、ACMEアカウントのURIとトークンを登録する
正解:C
解説
Let's Encryptはワイルドカード証明書の発行にDNS-01チャレンジを必須としています。DNS-01では、ACMEサーバーから渡された値を _acme-challenge.<ドメイン> のTXTレコードとして公開し、ドメインのDNSを管理していることを示します。HTTP-01は80番ポートで特定のパスにトークンを置く方式で、個々のホスト名の確認には便利ですが、ワイルドカード証明書には使えません。DNS-01はDNSのAPIを使えるプラグインと組み合わせると、自動更新も可能になります。
選択肢ごとの解説
- A誤り。HTTP-01は80番ポートでトークンを公開する方式ですが、Let's Encryptではワイルドカード証明書の取得に使えません。
- B誤り。HTTP-01の確認は80番ポートへのHTTPアクセスで行われ、443番ポートを指定することはできません。また、ワイルドカード証明書にはそもそも使えません。
- C正しい。ワイルドカード証明書にはDNS-01が必要で、_acme-challenge のTXTレコードに値を登録して管理権限を示します。
- D誤り。CAAレコードは、そのドメインの証明書を発行してよい認証局を指定するためのもので、チャレンジのトークンを置く場所ではありません。