ログ管理の目的
システムにおいてログを管理する目的には大きく、1)監視、2)管理、3)監査の観点が上げられる。1)監視では、AWS上のシステムが正常に稼働しているか、ネットワークアクセスのルールが適切に設定されているか、AWS上のシステムにセキュリティ上の問題が生じていないか、これらはログを継続的にリアルタイムにモニタリングすることでチェックされる。また、システムに何らかの問題が生じた場合、その原因の調査にもログは用いられる。2)管理では、上記監視ポイントをヒストリカルデータに対しての観点で分析したり、システムの使用状況や通信量の傾向を分析しシステム拡張や変更のプランニングに活かすことができる。3)監査では、誰が、いつ、何をしたかというシステム操作証跡を残すという観点でログが重要となる。
AWSの各種サービスを利用して構築されたシステムにおいて、どのようにログを管理し、モニタリングすべきかを明らかにする。
AWSにおけるログ管理のポイント
AWS上でのログ管理はオンプレミス環境と異なり、ログを収集・蓄積するAWSサービスが既に用意されている。ユーザはそうしたサービスを利用してログを管理・モニタリングすることになる。
AWS上での管理・モニタリングすべきログとして大きく、下表にある3つが挙げられる。
[ログモニタリングの対象・観点]
[AWSにおけるログ管理のポイント(イメージ図)]
① AWSサービスに対する管理アクセスログ
AWSサービスに対する管理アクセスのログは、AWS CloudTrail, AWS Configの設定を有効にすることで、Amazon CloudWatch LogsやS3 Bucket、SQSなどに蓄積される。
通常、AWS Management Console やAWS CLIなどを用いた管理アクセスについては AWS CloudTrail のログを用いてモニタリングされ、詳細の変更内容を把握する必要がある場合は、AWS Config のログが利用される。
[ログ取得方法]
[ログモニタリングの観点]
- AWS Management Consoleへの不正ログイン
- 意図しないIAMロールの変更
- 意図しないAWSサービスのCreate/Stop/Terminate
- 意図しないポート解放 (NetworkACL/SecurityGroup)
② 通信トラフィックのログ
VPC内の通信トラフィックのログは、VPC Flow Logsの記録を有効にすることで、Amazon CloudWatch Logs に蓄積される。
ネットワーク接続に関する調査やセキュリティのチェック、ネットワークアクセスのルール(NetworkACLやSecurityGroup)が適切に設定されているか等、その確認に利用する事ができる。
[ログ取得方法]
[ログモニタリングの観点]
- ネットワーク設定の確認
- 外部からの不正アクセスのチェック
- 時系列での通信量(バイト数/パケット数)の推移
③ EC2インスタンス内のアクセスログ
EC2インスタンス内のアクセスログは、Amazon CloudWatch LogsのAgentを各EC2インスタンス内にインストールすることで、 Amazon CloudWatch Logs内に蓄積される。
EC2インスタンス内のOSやアプリケーションに対するアクセスログのモニタリングに利用する事ができる。
[ログ取得方法]
[ログモニタリングの観点]
- OS/アプリケーションのアクセスログ
- OS/アプリケーションのエラーログ
- 特権ユーザのアクセス
- OS上での特権昇格
各ログは、AWS上のサービスを利用して検索することが可能だが、AWS CloudTrail、AWS Config、Amazon CloudWatch Logsのログ、またAWSサービスが出力する以外のログも含めた統合した横断的な分析や、グラフ化などの可視化には、統合ログ管理ツールの導入も有効な手段となる。