LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問22
セキュアプロトコルによる各種機能の実装/Let's Encrypt による証明書管理Debian 12で、aptでインストールしたcertbot(debパッケージ)を使って証明書を取得した。パッケージが用意する自動更新の仕組みに関する説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- Asystemdの certbot.timer が1日2回 certbot renew を起動し、systemctl list-timers で次回の実行予定を確認できる
- B/etc/cron.d/certbot とcertbot.timerの両方が動くため、systemdの環境でも更新処理は1日に4回実行される
- C自動更新の仕組みはパッケージに含まれないため、管理者が crontab -e で certbot renew を登録する必要がある
- Dcertbot.timer が毎月1回 certbot certonly --force-renewal を起動し、期限に関係なく証明書を取り直す
正解:A
解説
Debian 12のcertbotパッケージは、systemdのタイマーユニット certbot.timer と、それが起動する certbot.service を提供します。タイマーは1日2回(ランダムな遅延つき)certbot renew を実行し、期限が近い証明書だけが更新されます。次回の実行予定は systemctl list-timers で、実行結果は journalctl -u certbot.service や /var/log/letsencrypt/letsencrypt.log で確認できます。パッケージには /etc/cron.d/certbot も含まれますが、systemdで起動している環境では何もしないように条件が書かれており、systemdを使わない環境のための予備です。なお、snap版のcertbotは snap.certbot.renew.timer を使い、RHEL系のEPELのパッケージでは certbot-renew.timer を自分で有効にする必要があります。
選択肢ごとの解説
- A正しい。Debian 12のパッケージでは certbot.timer が1日2回 certbot renew を起動し、systemctl list-timers で予定を確認できます。
- B誤り。/etc/cron.d/certbot は、systemdで起動している環境では何もしないよう条件が書かれているため、更新処理が二重に実行されることはありません。
- C誤り。Debian 12のパッケージには certbot.timer が含まれ、インストールするだけで自動更新が有効になります。crontab への登録は不要です。
- D誤り。タイマーが起動するのは certbot renew で、期限が近い証明書だけを更新します。--force-renewal で毎回取り直すと発行数の制限に達するおそれがあります。