Successfully reported this slideshow.
Your SlideShare is downloading. ×

CloudTrail でログとれ〜る

Ad

CloudTrail で

ログとれ∼る
Hokuto Hoshi / COOKPAD Inc.
AWS Casual Talks #2

Ad

自己紹介

Ad

自己紹介
• 星 北斗 / Hokuto Hoshi

a.k.a. カルビ生焼け王
• @kani_b / id: kani_b
• クックパッド株式会社

インフラストラクチャー部

セキュリティ担当
• 2013年度旧卒
• 社会人13ヶ...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
AWS Casual2 LT
AWS Casual2 LT
Loading in …3
×

Check these out next

1 of 63 Ad
1 of 63 Ad

More Related Content

Slideshows for you (19)

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

×