Upgrade to Pro — share decks privately, control downloads, hide ads and more …

管理統制もLambdaで!

 管理統制もLambdaで!

JAWS-UGアーキテクチャ支部クラウドネイティブ分科会 CDP討論会 #5 にて発表させて頂いた資料のPublish版です。
今回の議題はLambda縛りだったので、当社のAWSアカウントの管理統制にて採用しているLambdaのアーキテクチャについて書いてみました。

Mamoru Ohashi

January 21, 2016
Tweet

More Decks by Mamoru Ohashi

Other Decks in Technology

Transcript

  1. @mamohacy 1 ⼤橋 衛(オオハシマモル) 1974/10/01(41歳) AWS Solution Archtect(associate) ずっとエンタープライズ畑 アプリ開発エンジニア12年

    インフラ設計エンジニア4年 2013年 AWSに出会い衝撃を受ける 2016年1⽉より某社にて AWSコンサル/セキュリティ監査業務に 従事 家族︓妻、娘2⼈ 趣味︓スノーボード、読書 絶賛本名プレイ中 @mamohacy http://blog.mamohacy.tribrid- jp.com/ ⾃⼰紹介 @NERF22#20150915
  2. @mamohacy 2 私の所属部⾨の担当業務 @NERF22#20150915 AWSまわりの各種管理統制 ・アカウント管理 ・セキュリテイガバナンス ・利⽤料⾦管理 メンバー少ない(15システム/⽉600万円 →

    5⼈でメンテ) 運⽤の⾃動化・監査の⾃動化は必須(やんないと死ぬ・・・) 監査⾃動化+メール通知+ChatOps このへんに 使ってます︕
  3. @mamohacy 3 セキュリティガバナンス︖ @NERF22#20150915    "'  #(

      QK*  QK       3 +J4F7 PA)J4F7   +/,6, <5BDI $ DI -2 $ %'D;1C=H +!&9>=H M5GL:.:=H M5GL:  %'D; R0?@ SN8OE
  4. @mamohacy 5 発生内容 検知手段 対策 IAMユーザーへのアクセス権限設定の追加・変更・削除 CloudTrailフィルタ メール通知 IAMグループへのアクセス権限設定の追加・変更・削除 CloudTrailフィルタ

    メール通知 IAMアカウント管理統制 IAM User 追加/更新 削除(紐付けの解除) IAM Group 所属 IAM Policy 追加/更新 削除(紐付けの解除) (アクセス権限設定) 作成 削除 除外 IAMユーザーの追加と削除ならびにグループへの所属と除外は権限としてデフォルト許可。 それ以外の操作は運⽤で禁⽌とするが、万が⼀実⾏された場合に備えこれを検知できる仕組みも具備する。
  5. @mamohacy 6 How to Use Lambda!? 当部のアカウント 開発部のアカウント @virginia @virginia

    @tokyo 共通機能 共通機能 不正な権限操作が⾏われていないか︖ そもそもIAMの権限にIAMの権限操作を 付与していない(rootアカウントだけが可能) 我々が操作するときは周知して実⾏する JSON->TXT変換 アカウント名付与 当部運⽤者へ メール通知
  6. @mamohacy 7 発生内容 検知手段 対策 rootアカウントによるマネジメントコンソールへのログイン CloudTrailフィルタ メール通知 IAMアカウントによるマネジメントコンソールへの連続ログイン失敗 CloudTrailフィルタ

    メール通知 不許可ロケーションからのログイン IAMポリシー設定 ブロック(※) 不正ログイン対策 User User User rootログインの成功 IAMログインの連続失敗(3回) 不許可ロケーションからのログイン ※マネジメントコンソールへのログインは可能だがAWSの全リソースにアクセス不可状態となる
  7. @mamohacy 8 How to Use Lambda!? 当部のアカウント 開発部のアカウント @virginia @virginia

    @tokyo 共通機能 共通機能 IAMログインの 失敗を検知 同⼀ユーザー &n分間で x回連続︖ JSON->TXT変換 アカウント名付与 当部運⽤者へ メール通知 個別機能 共通機能
  8. @mamohacy 9 発生内容 検知方法/対策 通知方法 ログの不正読み取り SSE-KMSによる暗号化 ブロック ログの不正削除 削除時のMFA必須化設定

    バケットポリシー設定 ブロック ログの不正改竄、持ち出し IAMアカウントのアクセス権限設定 ブロック CloudTrailログへのアクセス権限設定変更 独自構築(※1) ブロック&メール通知 CloudTrailログ保全 User 不正読み取り 不正削除/不正改竄 不正改竄・不正持出し アクセス権限設定変更 CloudTrailログ 暗号化 ※2︓アクセス権限設定のログを定期検査し、異常が⾒つかった時点で強制的に元の権限に戻したうえメール通知も⾏う CloudTrailログは旧来でいうところのカメラ映像や⼊退室ログに相当するため改竄や持ち出しについても厳重に管理します (永年保存)
  9. @mamohacy 10 How to Use Lambda!? 当部のアカウント 開発部のアカウント @virginia @virginia

    @tokyo 共通機能 共通機能 • 1⽇1回定期実⾏ • CloudTrail関連の権限が付与さ れていないか、全ポリシー/ ロール/アタッチ状態をチェッ ク • 問題があれば強制排除&SNS 呼び出し JSON->TXT変換 アカウント名付与 当部運⽤者へ メール通知 個別機能
  10. @mamohacy 12 How to Use Lambda!? • 1⽇1回定期実⾏ • Billingを取得する別のLambda

    FunctionをInvoke • 受け取った値を整形して WebHookをCall(Curl) CloudWatchのBilling情報を取得 して返すだけ 各アカウント 1つのチャネルにアカウント毎に その⽇の料⾦が吐き出される ・前々⽇との伸び率 ・前⽇の費⽤ ・前々⽇の費⽤ ・当⽉の合計費⽤