CloudTrailログファイルの検証
ダイジェストファイルを使用して、配信後にログが変更されていないことを証明します。
「CloudTrailログファイルの検証」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。
完全性の証明
CloudTrail ログファイルの検証を使用すると、CloudTrail が S3 に配信したログファイルが、書き込まれた後に改変、削除、偽造されていないことを証明できます。この機能によって、「ログが完全であることを願う」状態から「完全であることを暗号学的に証明できる」状態へと変えられます。どのトレイルでも、ワンクリックで有効にできるベストプラクティスです。
検証の仕組み
有効にすると、CloudTrail は1時間ごとにダイジェストファイルを作成します。このファイルは、その期間に配信されたログファイルを参照し、それぞれのハッシュを含みます。ダイジェストファイル自体にも署名が付けられます。これらを組み合わせることで、各ログファイルが変更されていないことと、欠落しているファイルがないことの両方を検証できるチェーンが形成されます。
ハッシュ化と署名
各ログファイルは SHA-256 でハッシュ化され、ダイジェストファイルには SHA-256 with RSA を使用して署名が付けられます。ログファイルに少しでも変更を加えるとハッシュが変わり、ダイジェストには暗号学的な署名が付いているため、攻撃者がログを改変すると計算上の整合性が崩れます。これにより、ログが改ざん検知可能になります。
ダイジェストチェーン
各ダイジェストファイルは前のダイジェストファイルも参照し、時間単位で連続するチェーンを形成します。このチェーンによって、変更されたログファイルだけでなく、チェーンの断絶から欠落または削除されたダイジェストも検知できます。継続的なチェーンによって、時間の経過に伴う完全性が証明されます。
CLI による検証
validate-logs CLI コマンドを使用して完全性を検証します。このコマンドは、指定した期間について、ダイジェストの署名と参照先ログファイルのハッシュを確認します。変更または削除されたファイルや、ダイジェストが欠落しているファイルを報告します。これにより、調査担当者は必要なときに信頼できる完全性チェックを実行できます。
aws cloudtrail validate-logs \
--trail-arn arn:aws:cloudtrail:us-east-1:111122223333:trail/org-trail \
--start-time 2024-01-01T00:00:00Z防止ではなく検知
重要な点として、検証は検知のための機能であり、防止のための機能ではありません。誰かがログファイルを削除することを阻止するのではなく、削除されたことを証明できるようにします。削除を防ぐには、検証を Object Lock などのバケット保護機能と組み合わせます。検証は真実を示し、他の制御がそれを強制します。
ダイジェストファイルの保護
ダイジェストファイルはログと同じ S3 バケットに保存されるため、同じように慎重に保護する必要があります。攻撃者がダイジェストを自由に再生成したり削除したりできると、証明の信頼性が損なわれます。厳格に制御された、できれば不変のバケットにダイジェストを保存することで、最初から最後まで完全性の保証を維持できます。
検証の位置付け
検証は、ログ保護における完全性の柱です。可用性を確保する不変ストレージや、機密性を確保する暗号化と連携して機能します。試験で、配信後にログが改ざんされていないことを証明する方法を問われた場合は、CloudTrail ログファイルの検証が正確な答えです。
有効化
トレイルの作成時または更新時に、1つの設定で検証を有効にできます。検証機能自体に追加料金はなく、通常の S3 によるダイジェストファイルの保存料金だけがかかります。大きな効果が得られ、コストもわずかであるため、例外なくすべてのトレイルで有効にする必要があります。
検証の運用化
インシデント発生時だけでなく、定期的に検証を実行して、改ざんをすぐに把握できるようにします。validate-logs をスケジュール実行し、失敗時にアラートを出す処理を自動化しているチームもあります。定期的な検証により、この機能は事後的なフォレンジック手段ではなく、監査証跡を継続的に監視する完全性モニターになります。
コンプライアンス監査における検証
監査では、ログファイルの検証によって、監査証跡が完全で改変されていないことを暗号学的に証明でき、PCI DSS や SOC 2 などのフレームワークの要件を満たせます。validate-logs を実行して問題のない結果を提示できれば、監視データをイベントの記録として信頼できることを示す具体的な証拠になります。
確認テスト
検証についての知識を確認しましょう。
まとめ
CloudTrail ログファイルの検証によって、配信後にログが改ざんされていないことを証明できます。1時間ごとのダイジェストファイルにはログの SHA-256 ハッシュが格納され、署名が付けられ、欠落ファイルを検知できるように前のダイジェストへチェーンされます。validate-logs で検証します。これは検知のための機能なので、削除を防ぐには不変ストレージと組み合わせます。すべてのトレイルで有効にし、定期的に検証してください。
よくある質問
「CloudTrailログファイルの検証」レッスンは無料ですか?
はい。「CloudTrailログファイルの検証」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。
「CloudTrailログファイルの検証」で何を学びますか?
ダイジェストファイルを使用して、配信後にログが変更されていないことを証明します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「CloudTrailログファイルの検証」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ログ改ざんが脅威となる理由
- CloudTrailログファイルの検証
- ログ保存バケットの保護
- ログを一元管理するアーカイブアカウント