AWS IoT Device Defenderに追加された証明書ライフサイクル管理の新機能を試してみた

AWS IoT Device Defenderに追加された証明書ライフサイクル管理の新機能を試してみた

Clock Icon2025.05.12

はじめに

こんにちは、コンサルティング部の神野です。
今回は、2025年2月28日に発表された AWS IoT Device Defender の新機能「証明書ライフサイクル管理機能の強化」について紹介したいと思います。(3ヶ月も前に発表された新機能なのでもう新しくは感じないかもしれませんが・・・)

IoTソリューションを運用する上で、デバイス証明書の管理は非常に重要な問題の一つです。先日、AWSはIoT証明書のライフサイクル管理をより柔軟にするための新機能を2つ発表しました。

  1. 証明書の有効期間に関する新しい監査チェック
  2. 既存のデバイス証明書の有効期限切れ監査チェックの強化

これらの機能により、証明書のローテーションをより計画的に行えるようになりました!実際に試してみたので、その内容を共有します。

https://aws.amazon.com/jp/about-aws/whats-new/2025/02/aws-iot-device-defender-iot-certificate-lifecycle-management/

デバイス証明書の日数に関する新しい監査チェック(DEVICE_CERTIFICATE_AGE_CHECK

従来の AWS IoT Device Defender には、デバイス証明書の有効期限が近づいた際にアラートを出す機能( DEVICE_CERTIFICATE_EXPIRING_CHECK )はありましたが、証明書の「年齢」(発行からの経過日数)に基づくアラートはありませんでした。

新機能では、証明書の有効期限に関係なく、発行からの経過日数に基づいてアラートを発報することができるようになりました。

https://docs.aws.amazon.com/ja_jp/iot-device-defender/latest/devguide/device-certificate-age-check.html

デバイス証明書の有効期限切れ監査チェック( DEVICE_CERTIFICATE_EXPIRING_CHECK )の強化

既存の DEVICE_CERTIFICATE_EXPIRING_CHECK も強化されました。今までは証明書の有効期限が切れる30日前(デフォルト)にアラートが発生していましたが、新機能では、この期間をカスタマイズできるようになりました。

https://docs.aws.amazon.com/ja_jp/iot-device-defender/latest/devguide/audit-chk-device-cert-approaching-expiration.html

設定

コンソール上からどうやって設定可能になったか確認してみましょう。
AWS IoT をコンソール上で開き、 監査 > 設定 リンクを押下します。

CleanShot 2025-05-11 at 09.26.27@2x

この状態で デバイス証明書の年数デバイス証明書の有効期限が切れる にチェックを入れて、チェック を有効化 ボタンを押下します。

CleanShot 2025-05-11 at 09.29.50@2x

ちなみにデバイス証明書の年数と記載がありますが、設定する値は日数です。
下記画像のように説明には証明書が使用されてからの日数と記載がありますね。

CleanShot 2025-05-11 at 09.29.20@2x

有効化に成功すると下記バナーが表示されます。

CleanShot 2025-05-11 at 09.30.12@2x

また、有効化に伴って、追加の監査設定 - 新規セクションにもデフォルトのしきい値日数が表示されるようになりました!

CleanShot 2025-05-11 at 09.31.16@2x

試しに閾値を変更してみたいと思います。右上の編集ボタンを押下して、デバイス証明書の有効期限3652 日、デバイス証明書の年数30 日としてみます。

CleanShot 2025-05-11 at 09.33.44@2x

としましたが、こんなエラーが出ました。

エラー表示

監査設定の更新に失敗しました。後でもう一度お試しください。
Certificate expiration threshold is greater than the maximum supported threshold of 3650 days.
体験に関するフィードバックを提供 - オプション

あれ、バリデーションは 3650 日が閾値で行われているんですね・・・
エラーに従って、3650 日としたら問題なく変更可能でした!

CleanShot 2025-05-11 at 09.36.06@2x

次に監査を早速行ってみたいと思います。

左側メニューの 監査 > 結果 リンクを押下し、右上の 作成 ボタンを押下します。

CleanShot 2025-05-11 at 11.51.10@2x

スケジュールの設定を 今すぐ監査を実行(1回)を選択し、作成 ボタンを押下します。

CleanShot 2025-05-11 at 09.43.17@2x

早速結果が出たので確認してみましょう。
前提として今回はそれぞれのチェックに引っかかるような証明書を事前に登録・用意しています。

  • 2024年11月に発行した証明書
    • デバイス証明書の年数 のチェックに引っかかるような想定
      • 証明書を発行してから 30 日以上経過しているため
  • 有効期限が2026年5月に切れる証明書
    • デバイス証明書の有効期限が切れる のチェックに引っ掛かるような想定
      • 証明書の有効残存期間が 3650 日を下回っているため

監査結果

一番上の オンデマンド リンクを押下して詳細を確認します。

CleanShot 2025-05-11 at 11.52.05@2x

非準拠のチェックにデバイス証明書の有効期限が切れるデバイス証明書の年数が表示されています。

CleanShot 2025-05-11 at 11.52.30@2x

期待した通り今回設定した監査はどちらもチェックされて非準拠の項目が検出されていますね!

デバイス証明書の有効期限が切れるの監査チェック結果

CleanShot 2025-05-11 at 11.53.22@2x

有効期限が2026年5月11日までなのに対して、本日(2025年5月11日)から10年の有効期限を満たない証明書のためチェックに引っ掛かり検出されていますね!

デバイス証明書の年数(日数)の監査チェック結果

CleanShot 2025-05-11 at 11.53.49@2x

CleanShot 2025-05-11 at 11.54.10@2x

検出された証明書は発行が2024年11月で本日(2025年5月11日)から一ヶ月以上も前なので、こちらも適切に検出できていますね!

新機能の活用について考えてみる

これらの新機能は、特に以下のような場面で活用できるのかなと考えていました。

  • 定期的なローテーションポリシーの実施
    多くの企業やセキュリティ標準では、認証情報の定期的なローテーションを求めています。証明書の有効期間チェックにより、有効期限に関わらず、定期的なローテーションを促進可能になりました!例えば、「全ての証明書は発行から6ヶ月でローテーションする」という発行日基準でポリシーを実装できます。

  • 計画的なメンテナンス管理
    証明書の更新作業をより計画的に行えるようになります。有効期限(30日)ぎりぎりではなく、任意の証明書有効期限タイミングを検出できるので、十分な余裕を持ってローテーション計画を立てられます。

今回は手動で監査を行いましたが、日時で監査チェックを行い、アラームを発報して、その後SNS→メール通知、もしくはLambdaなどを活用して証明書の自動更新などを実施するアクションと組み合わせれば柔軟に証明書の更新管理ができそうになったアップデートだなと思いました。

IoT Device Defenderからの証明書自動更新ソリューションの具体的な実装は下記が参考になるかと思います。

https://aws.amazon.com/jp/blogs/news/how-to-manage-iot-device-certificate-rotation-using-aws-iot/

おわりに

今回のAWS IoT Device Defenderの新機能はまとめると以下のような特徴かと思います。

  • 証明書の「有効期限」だけでなく「経過期間」にも着目できるようになったこと
  • 証明書の「有効期限」に対して、カスタムのアラート期間を設定できるようになったこと
  • これらを組み合わせることで、よりきめ細かい証明書ライフサイクル管理が可能になったこと

また監査で問題を検出するだけでなく、実際に証明書をローテーションするプロセスやツールも並行して整備する必要があります。自動化の構築なども検討してみると良いかもしれません!

最後までご覧いただきありがとうございましたー!!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.