Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CloudTrail でログとれ〜る

10,773 views

Published on

Published in: Technology
  • Be the first to comment

CloudTrail でログとれ〜る

  1. 1. CloudTrail で
 ログとれ∼る Hokuto Hoshi / COOKPAD Inc. AWS Casual Talks #2
  2. 2. 自己紹介
  3. 3. 自己紹介 • 星 北斗 / Hokuto Hoshi
 a.k.a. カルビ生焼け王 • @kani_b / id: kani_b • クックパッド株式会社
 インフラストラクチャー部
 セキュリティ担当 • 2013年度旧卒 • 社会人13ヶ月目になりました
  4. 4. 自己紹介 • 好きなサービス:
 IAM & CloudFront & CloudTrail • ここ1週間のマイブーム:
 秘密 の交換と証明書失効 • 嫌いなもの:
 パスワードリスト攻撃
 行儀の悪いスクレイピング
  5. 5. 本日のお題
  6. 6. …の前にちょっとだけ
  7. 7. Heartbleed • OpenSSL 1.0.1 のバグ • メモリダンプをちょっとずつリモートで
 取得できる (メモリガチャ) • 主なSレアたち • SSL サーバが持つ秘密 • 復号後の通信内容 (Session cookie とか)
  8. 8. AWS と Heartbleed • かなりのマッハ対応 :+1: • 直接リモートで攻撃を受けるところは全部潰れた
 => これ以上メモリガチャは引かれない • ELB • CloudFront • EC2 上のインスタンスは自分で OpenSSL を
 アップデートしましょう
  9. 9. AWS と Heartbleed • さらにやるべきこと (SSL 使ってた全サービスで!) • 新規生成した秘密 から証明書を再度作成して
 入れ替え • ELB, CloudFront ならオンラインでさくさく! • 元々使ってた証明書を失効 (revoke) • なりすませる可能性がある • 忘れがちだけど確実に
  10. 10. AWS と Heartbleed • ついでに CipherSuite を見なおそう • MD5 を落としたり • ELB に追加された PFS (Perfect Forward Secrecy) w/ ECDHE の様子を見たり • 検証は必要 (ブラウザ対応やパフォーマンス)
  11. 11. 閑話休題
  12. 12. ある日の悩み
  13. 13. ログが欲しい • 基本的に AWS はログが残らない • けどログは欲しい • 監査 • バージョニング • トラブルシューティング • etc… • どうロギングしたものか…
  14. 14. • 解 (?): HTTP プロキシをはさむ API ログの取得 HTTP Proxy API Endpoint
  15. 15. HTTP Proxy… • Proxy が落ちる = API コールできなくなる • クラウドとは… • HTTP の生ログパースしたくない • クライアントに制約がかかる • Management Console で取るの難しい。。 
  16. 16. (́・ω・`)
  17. 17. 時は流れて…
  18. 18. Re:Invent 2013
  19. 19. 発表 • AWS CloudTrail !!!!!
  20. 20. About • AWS アカウント内での操作ログを吐いてくれる • ログは S3 に出力 • SNS に「ログ吐いたよー」と通知をくれる • 他アカウントのバケットにも吐ける • ログ出力は15分くらいおき
  21. 21. • ログ形式は JSON • 色々入ってる(おトク!) • アカウント ID, IAM のユーザ名, タイムスタンプ, コール先リージョン, 対象 API, UA, リクエストパ ラメータ,レスポンス, Access Key ID, etc… About
  22. 22. • 勝手にパースしてよしなに扱うのが基本 • AWS 側では特に何も提供されてない • Mongo や ElasticSearch に突っ込む • 解析してくれるサービス使うのもあり • SumoLogic, Splunk, Stackdriver, loggly, etc… • ログのパース、検索、サマライズがメイン • 色々紹介されてるので今回は特に紹介しません How to use
  23. 23. 何が嬉しい? • 欲しい情報ほとんど入りでログが取れる • しかも AWS 側で! • HTTP Proxy のようなクライアント縛りがなくなる • 失敗の記録も取れる (監査的には重要)
  24. 24. but…
  25. 25. つらい (1) • まだあまり対応サービスがない。。。
  26. 26. つらい (2) • まだ太平洋を越えられない
  27. 27. なんとか日本で使う • リージョン関係無いサービスは日本でも使える! • IAM, STS • US で有効化して Include global services を enable
  28. 28. ex. IAM の Policy 追加 追加対象や内容も
 取得できる
  29. 29. もっと使いたい できれば実践的な場所で…
  30. 30. 2014/03/15
  31. 31. …の前日, 3/14
  32. 32. AWS Game Day Japan 2014
  33. 33. About Game Day • 4行でまとめ • チームを作り敵味方に別れる • お互いに AWS でシステム構築 • 相手の IAM アカウントをもらい
 システムを美しく壊す • 壊されたシステムを美しく修復する
  34. 34. 2014 の場合 (一部) • 相手は他の会場にいるチーム (東京 vs どこか) • 相手に渡す IAM アカウントは Power User • リージョンは us-east
  35. 35. 2014 の場合 (一部) • 相手は他の会場にいるチーム (東京 vs どこか) • 相手に渡す IAM アカウントは Power User • リージョンは us-east
  36. 36. というわけで • Game Day で CloudTrail を使ってみる • どんな攻撃が来てもログとれ∼る!ばっちり解析! 最高便利!!! • というわけにはいかない
  37. 37. Game Day と CloudTrail • 対象サービスが狭い • 構築に使ったサービスは EC2, VPC, SQS, SNS, S3 • 相手に渡す IAM アカウントは Power User • ではここでその Policy を見てみましょう
  38. 38. (́;ω;`)
  39. 39. 何をされるか http://ijin.github.io/blog/2014/03/14/aws-game-day- japan-2014-spring/ 終了後の攻撃一覧より
  40. 40. 防御してみる • CloudTrail を切られるのは避けられない • テンプレートは固定 • ログだけはなんとかしたい • 手の届かない場所に移す
  41. 41. • 設定を切られるのは諦める • ログを別アカウントのバケットに吐く
 (バケット名は分かるけど触れない) (反則だったらごめんなさい)
  42. 42. 実運用のための学び • IAM ユーザから CloudTrail 周りの権限を取り除く • Power User Template から抜いてほしい。。 • ログの保持方法を固める • ログ集約用のアカウントにまとめる • S3 versioning + MFA delete を使う
 (こちらのほうがスマート?)
  43. 43. 攻撃タイム終了後 • CloudTrail 確認 => 生きてる!!! • もちろん中途半端に止められてた可能性はある • 早速ログ解析 • 相手に渡した IAM User: tokyo-evil
  44. 44. とれ∼る!!!
  45. 45. わかってくること • … SQS と SNS メインの攻撃 (́・ω・`) • Instance が Terminate された以外は特に被害 なさそう
  46. 46. 実際の攻撃 VPC 周りが拾えてなかった。。。
  47. 47. まとめ • CloudTrail は API リクエストを
 まるっとロギングしてくれ∼る • 運用時の IAM 権限と S3 バケットの扱いに
 気をつける • まだ対応サービスが少ないので正座して待ちましょう • まだ太平洋を渡ってないので正座して待ちましょう
  48. 48. One more thing…
  49. 49. ex. IAM の Policy 追加 追加対象や内容も
 取得できる
  50. 50. ex. IAM の Policy 追加 追加対象や内容も
 取得できる => 変更履歴取得に
 使えそう
  51. 51. 作ってみた
  52. 52. iwas • https://github.com/kanny/iwas
  53. 53. どう使うか • CloudTrail => SNS への通知設定 • SNS => SQS へ吐き出す設定 ! • CloudTrail のログパース, 管理用ディレクトリに 書き込み, git 差分管理
  54. 54. Demo
  55. 55. もうちょっとマシにして ちゃんと公開します。。。
  56. 56. EOF

×