過去問ドリル

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

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

certbot certonly --webroot で取得した証明書をnginxで使っている。定期実行している certbot renew で証明書ファイルは新しくなったが、nginxは古い証明書を返し続けていた。証明書が実際に更新されたときだけnginxに読み込み直させる方法として適切なものはどれか。

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

正解:B

解説

certbot certonly で取得した証明書は、更新されてもWebサーバーの設定には触れないため、Webサーバーに読み込み直させる必要があります。--deploy-hook に指定したコマンドは、証明書の更新に成功したときだけ、その証明書ごとに実行されます。同じ働きのスクリプトを /etc/letsencrypt/renewal-hooks/deploy/ に置く方法もあります。--pre-hook は更新を試みる前に実行されるため、読み込み直しても古い証明書のままです。

選択肢ごとの解説

  • A誤り。--pre-hook は更新を試みる前に実行されるため、その時点で読み込み直してもnginxは古い証明書を使い続けます。
  • B正しい。--deploy-hook は更新に成功したときだけ実行されるため、新しい証明書をnginxに読み込ませられます。
  • C誤り。--force-renewal は期限に関係なく毎回更新させるため発行数の制限に触れやすく、nginxの読み込み直しも行いません。
  • D誤り。--reuse-key は更新時に秘密鍵を作り直さない指定で、nginxに読み込み直させる働きはありません。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く