🛵

AWS認定セキュリティ ログと監視

3 min read

こんにちは!
現在AWS認定セキュリティ試験の勉強中です。
今回は試験範囲の1つである ログと監視 で出題される可能性があるサービスの特徴などをまとめていきたいと思います。
基本的にはNRIネットコム株式会社の「要点整理から攻略する『AWS認定 セキュリティ-専門知識』」という本を使って勉強しております。とてもわかりやすいのでおすすめです。

目次

  • CloudWatch
  • Config
  • CloudTrail
  • まとめ

CloudWatch

AWSのサービスのメトリクス、ログ、イベントといったデータを収集し可視化するサービスです。オンプレミス環境のデータを収集することもできます。

メトリクスって??

CloudWatchに登録された時間ごとのデータ集合のことです。

具体的には??

EC2インスタンスのCPU使用率、ELBのリクエスト受信数、RDSのディスク使用料などです。

デフォルトで登録されているものもあり、それらは標準メトリクスと呼ばれます。

逆にデフォルトで登録されているもの以外のメトリクスを登録することもでき、それらはカスタムメトリクスと呼ばれています。

カスタムメトリクスって例えばどんなん??

「アプリケーションの特定の処理の実行回数」 などですね

EC2インスタンスではCloudWatchエージェントをインストールすることで標準メトリクス以外の追加のデータをカスタムメトリクスとして登録したり、ログの内容をCloudWatchに登録したりできます。

だから例えばEC2のログをCloudWatchLogsでみれるようにしたいなら、EC2にCloudWatchエージェントをインストールしないといけないわけですね。

参考: 【AWS】Amazon CloudWatch Logs でログ収集をやってみた

Config

AWSリソースやEC2インスタンス、オンプレミスサーバーの設定変更管理、変更履歴のモニタリングを行うサービスです。

事前に定義したConfigルールとの乖離具合をチェックしてくれます。
Configルールに則っていないような設定が行われたときにCloudWatchEventsを呼び出し、通知が飛ぶように設定することも可能。

変更履歴が記録されていくので監査やセキュリティ分析の資料としても利用できます。ドキュメント的な使い方もできるわけですね。

基本的にはAWS Configの設定画面でリソースを指定すればAWS Configでの設定変更管理ができます。EC2やオンプレサーバーの場合は、AWS Systems Managerに対象のサーバーをマネージドインスタンスとして登録しソフトウェアインベントリの収集を開始する必要があります。

ソフトウェアインベントリ??

どういうソフトウェアを使っているかなどのデータをまとめたもののことです。

マネージドインスタンス

SSMで管理されているインスタンスのことです。サーバーにSSMエージェントをインストールするとマネージドインスタンスになります。マネージドインスタンスだとsshなど使わずにインスタンスに接続できるSessionManagerという機能が使えたりします。

マネージドインスタンスであればAWS Configを使って、EC2にどんなアプリがインストールされたかを検知することができます。
参考: 【AWS Config】EC2インスタンスに特定アプリケーションがインストールされているかチェックして通知する

AWSアカウント内の設定情報に対してSQLを実行して状況を確認できる高度なクエリという機能もあります。

どんなクエリが実行できるの??

使っていないEC2インスタンスvolumesの取得などです

詳しくは以下の公式サイトを見てみてください
参考: Example Queries

CloudTrail

AWSアカウントに対する操作のイベントログを記録するサービスです。
何も設定していなくてもデフォルトで90日分のデータは保存されます。興味があればawsコンソール画面にログインしてみてみてください

ちなみに僕のawsアカウントのCloudTrailはこんな感じです。

本日5月29日にログインしたので、 ConsoleLogin というイベントが今日の日付で登録されていますね。

コンソール画面での操作だけでなく、アプリからの操作も記録されます。
上記画像の3つ目と4つ目のイベントソースに cognito という文字があるのが確認できると思いますが、これはアプリケーションがCognitoを使用したからです。
(運用中のアプリで運営画面にアクセスするときはCognitoでログインするようにしています)

デフォルトで90日分のデータは保存されると言いましたが、90日以上の操作ログを保存することもできます。S3バケットを指定しログファイルを出力するようにすることで、90日以上の操作ログを保存できるようになります。

ちなみにこのログファイルのことを 証跡 と呼びます。

別のAWSアカウントのS3に出力することも可能です。

別のAWSアカウントのS3に出力するためには権限の設定が必要です

まとめ

CloudWatchもAWS Configも、EC2は他のAWSサービスと少しやり方が違うのですね。今回はCloudWatch、AWS Config両方ともエージェントをインストールする必要がありました。他のサービスとの連携でもEC2の場合は、何かエージェントをインストールするという作業が加わる可能性は高いですね。