LoginSignup
7
5

More than 5 years have passed since last update.

CloudTrail のログを検索できるサーバーを構築する Ansible playbook (MongoDB)

Last updated at Posted at 2015-03-12

CloudTrailのログの検索するサーバーの構築についての方法は、 j3tm0t0さんのブログ を参考にさせていただきました。
とても勉強になりました。ありがとうございます。

1.インスタンスの準備

CentOS6 か AmazonLinux のサーバーを立ち上げて ssh ログインを可能にしておきます。

2.playbookの準備

できた playbook はこちらにおいてあります。
Githubのリポジトリ
(今回のものはroleなどに切り分けておりません。。)

上記のリポジトリから、ansible-playbook を clone してしてきて、実行します。
対応 OS は CentOS6 or AmazonLinux です。

3.playbookの実行

2 で clone してきたディレクトリに入り playbook を実行します。

git clone https://github.com/simeji/ansible-playbooks.git
cd ansible-playbooks

AmazonLinuxの場合

ansible-playbook cloudtrail-search-amazonlinux.yml

CentOS6の場合

ansible-playbook cloudtrail-search-centos6.yml

共通部分

  • APIキー
  • Secret
  • CloudTrailのログの検索対象 S3バケット+ディレクトリ

の 3つのプロンプトが出てくるので入力します。
※実行してみればなんとなくわかると思います。

Please enter your aws_access_key_id: xxxxxxx
Please enter your aws_secret_access_key(secret): <入力しても表示されません>
Please enabled CloudTrail s3 path: <S3の検索対象ログ格納パス>
 ※s3:// はいりません。2015年2月のログを全部検索したいなら、  バゲット名/AWSLogs/7xxxxxxx5x3/CloudTrail/ap-northeast-1/2015/02
 のように入力します。

すると、ログがダウンロードされてMongoDBにインポートされた状態にまでなります。

4.ログの検索

playbookを実行した後はそのサーバーに ssh でログインして、 クエリを投げます。たとえばSecurityGroup関連などの調査したい時で、なんとなくで検索するときなどは、$regexを利用して下記のようにしたりもできます。

> db.cloudtrail.find( {"eventName": { "$regex": "Security"} });

※ほかにも色々できますのでクエリなどについての詳しいことは MongoDB公式ドキュメント を参考にしてください。

まとめ

これでちょっとした時に検索する環境が簡単に出来上がります。
S3直接見るより検索しやすいし、結構気になった時にちょこっと立ち上げてすぐ環境をつくって、いらなくなった時に捨てれるので、便利かなと思いました。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5