$30 off During Our Annual Pro Sale. View Details »

[2021年版]AWSセキュリティ対策全部盛り[初級から上級まで]

 [2021年版]AWSセキュリティ対策全部盛り[初級から上級まで]

解説と登壇時の動画を載せたブログは以下です。こちらを見てください。シェアもブログの方をお願いします。
https://dev.classmethod.jp/articles/aws-security-all-in-one-2021/
イベントページはこちら。
DevelopersIO 2021 Decade
https://classmethod.jp/m/devio-2021-decade/

cm-usuda-keisuke

October 06, 2021
Tweet

More Decks by cm-usuda-keisuke

Other Decks in Technology

Transcript

  1. [2021年版]
    AWSセキュリティ対策全部盛り
    [初級から上級まで]
    2021/10/6
    AWS事業本部コンサルティング部 ⾅⽥佳祐
    ハッシュタグ #devio2021

    View Slide

  2. ⾃⼰紹介
    ⾅⽥佳祐
    ・クラスメソッド株式会社
    AWS事業本部
    シニアソリューションアーキテクト
    セキュリティチームリーダー
    AWS公認インストラクター
    ・Security-JAWS運営
    ・好きなサービス:
    Amazon Detective
    2
    みんなのAWS
    (技術評論社)

    View Slide

  3. 3
    セッションテーマ
    すべての⼈にセキュリティを

    View Slide

  4. 4
    注意
    スライドが多いから
    細かいことは後で
    ⾒てにゃ

    View Slide

  5. 5
    アジェンダ
    1. ⻑い前説
    2. [初級]AWSを始める、セキュアに
    3. [初級]システム作る、セキュアに
    4. [中級]AWSのセキュリティを維持する
    5. [中級]インシデントに対応する
    6. [上級]組織全体でガバナンスを効かせる

    View Slide

  6. 6
    1. ⻑い前説

    View Slide

  7. 7
    ⻑い前説
    なんで前説が
    必要なんだにゃ︖

    View Slide

  8. 8
    なんで前説が必要なの︖
    AWSのセキュリティ
    のまえに
    情報セキュリティ

    View Slide

  9. 9
    なんで前説が必要なの︖
    ⼩⼿先の技術
    より
    根本的なセキュリティの考え⽅

    View Slide

  10. 10
    なんで前説が必要なの︖
    なんのためかわからないセキュリティ
    ではなく
    正しく意味のあるセキュリティ

    View Slide

  11. 11
    なんで前説が必要なの︖
    後付けのセキュリティ
    ではなく
    設計から組み込まれたセキュリティ

    View Slide

  12. 12
    なんで前説が必要なの︖
    ひとりで頑張る
    ではなく
    全員で取り組む

    View Slide

  13. 13
    なんで前説が必要なの︖
    ⼈⼒で頑張る
    ではなく
    精度の⾼い機械に任せる

    View Slide

  14. 14
    なんで前説が必要なの︖
    オンプレミスの代わり
    ではなく
    クラウドの恩恵を受ける

    View Slide

  15. 15
    ⻑い前説の意味
    ⼩⼿先じゃない
    原則を押さえよう

    View Slide

  16. 16
    セキュリティで守るもの
    守りたいものはなんですか︖

    View Slide

  17. 17
    守りたいもの(⼀部のざっくりした視点)
    • データ
    • 機密情報
    • 顧客データ
    • 個⼈情報
    • クレジットカード
    • コンテンツ
    • 利⽤者
    • 個⼈情報
    • アップしたコンテンツ
    • 会社
    • 業務システム
    • 会社⾃体
    • 企業イメージ
    • 従業員
    • お⾦

    View Slide

  18. 18
    守りたいものはどこにあるか︖(例えば)
    • サーバー
    • データベース
    • ストレージ
    • PC
    • 物理的な紙

    View Slide

  19. 19
    守るものを把握する
    • どこにあるのか
    • 誰が責任者か
    • 誰が管理しているのか
    • 誰がアクセスできるのか
    • 今すぐに状態がわかるか
    すべて把握できていないと守れない
    資産の洗い出し・特定して管理する
    まず洗い出し

    View Slide

  20. 20
    脅威とリスクを理解する
    どんな脅威がありますか︖

    View Slide

  21. 21
    情報セキュリティで扱う脅威(⼀例)
    • 情報漏えい
    • ⾦銭の搾取
    • サービス停⽌
    • 改ざん
    • なりすまし

    View Slide

  22. 22
    脅威を理解しリスクを理解する
    • 脅威と脆弱性がかけ合わさり
    リスクが顕在化する
    • 資産の価値でリスクの⼤きさ
    が変わる
    • 脆弱性を減らすことでリスク
    を⼩さくできる
    • リスクに応じてどのように対
    策するか検討する
    資産
    脆弱性 脅威
    リスク

    View Slide

  23. 23
    リスクを知り対策を知る(⼀例)
    • リスク: サーバーのデータが漏洩する
    • 根本対策: アクセス制御を徹底する
    • 補助対策: DLPを導⼊する
    根本対策が
    先だぞ

    View Slide

  24. 24
    設計にセキュリティを
    リスクがわかれば設計に反映できる
    • アクセス権限の洗い出し
    • 許可払い出しフローの管理
    • 不要なサーバーポートの確認
    • ソフトウェアの脆弱性管理
    • ログの収集
    • 送信元IPの集計
    • 不審なIPのアラート
    やること
    と優先順
    位が⾒え
    てくるぞ

    View Slide

  25. 25
    セキュリティの責任は誰にありますか︖

    View Slide

  26. 26
    セキュリティは誰の責任︖
    • セキュリティ担当者だけではない
    • 開発者
    • 運⽤者
    • 監査⼈
    • 経営者
    • などなど
    • つまり全員セキュリティ担当
    • 必要な⼈が必要な範囲⾏う(責任範囲)
    関係ない⼈は
    いないぞ

    View Slide

  27. 27
    必要なもの
    基本の知識
    +
    最新の情報

    View Slide

  28. 28
    セキュリティの原則
    • 最⼩権限
    • 多層防御
    • 識別・認証・認可
    • システムの堅牢化
    • フェールセーフ
    • シンプルにする
    • 職務の分離
    • Design for Failure
    • ⼈は間違える
    • などなど

    View Slide

  29. 29
    知らないと守れない
    • セキュリティの原理原則
    • NIST CSF
    • 攻撃者の気持ち
    • AWSの特徴
    • 便利なセキュリティ機能
    • AWSの情報源
    • 各AWSサービスUser Guideの「セキュリティ」ページ
    • JAWS-UG
    • ググる
    常にキャッチ
    アップだ

    View Slide

  30. 30
    セキュリティ対策の進め⽅
    敵を知り
    ⼰を知り
    適切な対応を

    View Slide

  31. 31
    合わせて読みたい
    情報セキュリティについて深く知り
    たいなら情報処理安全確保⽀援⼠の
    試験は丁度いいかも
    網羅的で原理原則と技術のバランス
    がいい
    最新の技術もある
    個⼈的にはこの教科書が好き
    試験受かってからも何度も読んでる
    https://www.amazon.co.jp/dp/479816867X/

    View Slide

  32. 32
    なぜAWSを利⽤するのか
    AWSのメリットはなんですか︖

    View Slide

  33. 33
    AWSが選ばれる10の理由
    メリットを理解して有効に活⽤する
    https://aws.amazon.com/jp/aws-ten-reasons/

    View Slide

  34. 34
    2. [初級]AWSを始める、セキュアに

    View Slide

  35. 35
    課題
    AWSなんもわからん
    けどテキトーに始めるか

    View Slide

  36. 36
    AWSの始め⽅
    テキトーは絶対に
    ダメにゃ︕

    View Slide

  37. 37
    AWSの脅威
    • 誤った情報の公開・アクセス許可
    • AWSはローカルPCの環境や社内の検証環境ではない
    • 簡単に外部に公開して迅速に展開できる基盤
    • 権限不備で情報漏えいが起きたり
    • 不正な攻撃者がアカウントを乗っ取ることも
    • 資⾦の浪費
    • 従量課⾦で安く使い始められるけど、適切に管理しない
    と請求がすごいことに

    View Slide

  38. 38
    AWSを知る
    AWSを使い始める時にやることを押さえよう
    きちんと知れば
    安全に使えるぞ

    View Slide

  39. 39
    合わせて読みたい
    「AWS利⽤開始時に
    最低限おさえておき
    たい10のこと」
    最初に知るべきこと
    がまとまっている公
    式の資料
    https://pages.awscloud.com/eve
    nt_JAPAN_at-least-10-
    ondemand.html?trk=aws_event_
    page

    View Slide

  40. 40
    合わせて⾒たい
    DevelopersIO 2021
    Decadeで
    動画セッション
    あります︕
    https://classmethod.jp/m/
    devio-2021-decade/

    View Slide

  41. 41
    最初にやること抜粋
    • IAMユーザーを作ってルートユーザーをMFAで封印
    • 必要なサービス有効化
    • CloudTrail
    • Config
    • GuardDuty
    • Security Hub
    • IAM Access Analyzer
    • Detective
    • Well-Architectedフレームワーク読む

    View Slide

  42. 42
    IAM
    • Identity and Access Management
    • AWSにおけるアクセス制御の基本であり極意
    • セキュリティの原則に従い利⽤
    • 個別のIDを発⾏する
    • 最⼩権限
    • MFA設定
    • アクセスキーの利⽤は注意
    • すべてのAWS利⽤者が理解する必要がある

    View Slide

  43. 43
    合わせて読みたい
    IAM再⼊⾨
    やや古いがよくまと
    まっている
    https://dev.classmethod.jp/ar
    ticles/cm-advent-calendar-
    2015-getting-started-again-
    aws-iam/

    View Slide

  44. 44
    合わせて読みたい
    すべての開発者はgit-
    secretsを導⼊する
    意図せずアクセス
    キーをGitにコミット
    することを防⽌でき

    https://dev.classmethod.jp/artic
    les/startup-git-secrets/

    View Slide

  45. 45
    CloudTrail
    • CloudTrailはAWS上の操作であるAPIを記録する
    • 誰がいつ何をどうしたか、全て記録される
    • いつログインしたか
    • 誰がサーバーを作成したか
    • いつ削除したか
    • ログはS3に保存しておく

    View Slide

  46. 46
    合わせて読みたい
    最初にCloudTrailを
    有効化する
    全リージョンで⼀括
    の設定が可能で必須
    https://dev.classmethod.jp
    /articles/aws-cloudtrail-
    all-regions-on/

    View Slide

  47. 47
    Config
    • 各種AWSリソースの変更を記録・管理する
    • 時系列に変更を辿れる
    • セキュリティグループがいつ作られたか
    • いつどのように変更されたか
    • 関連性を辿れる
    • どのEC2と紐付いているか
    • どのVPCと紐付いているか
    • 問題ある設定を是正する

    View Slide

  48. 48
    合わせて読みたい
    AWS Configも最初
    に有効化する
    リージョン毎の設定
    なので全リージョン
    回す
    グローバルリソース
    記録は1つでいい
    https://dev.classmethod.
    jp/articles/aws-config-
    start/

    View Slide

  49. 49
    Well-Architectedフレームワーク
    5つの柱に基づいたベストプラクティスを
    理解できる

    View Slide

  50. 50
    合わせて読みたい
    初めて読む⼈はこのブ
    ログから読むとよく理
    解できる
    熟練者もこのブログで
    早引きできる
    つまり全員使うと良い
    ブログ
    https://dev.classmetho
    d.jp/articles/aws-well-
    architected-guide/

    View Slide

  51. 51
    2. [初級]AWSを始める、セキュアに まとめ
    最初にやるべき・理解するべきことの
    情報はいっぱいある
    しっかりキャッチアップしながら始める

    View Slide

  52. 52
    3. [初級]システム作る、セキュアに

    View Slide

  53. 53
    課題
    AWSよくわからんけど
    オンプレとおんなじ
    セキュリティ対策でええやろ

    View Slide

  54. 54
    システムセキュリティ
    原則はいっしょでも
    AWSで便利になるにゃ︕

    View Slide

  55. 55
    AWSでのシステム構築メリット
    • すぐに調達可能なリソース(スケーラビリティ)
    • マネージドサービスによる責任領域の低減
    • リソース単位の詳細なアクセス制御(AWSレベル・
    ネットワークレベル)
    • 簡単に利⽤可能なセキュリティ機能
    • AWS WAF
    • Cognito
    • CloudFront

    View Slide

  56. 56
    AWSのメリットを活⽤する
    AWSで便利にできることは便利にやろう
    様々なサービスを
    知って活⽤しよう

    View Slide

  57. 57
    責任共有モデル
    明確な責任範囲がある

    View Slide

  58. 58
    責任共有モデルの詳細
    サービスによって責任
    分界点が違う
    マネージドサービスは
    AWS管理部分が多くや
    りたいことに集中でき

    顧客責任部分も丸投げ
    ではなく便利な仕組み
    が提供されている

    View Slide

  59. 59
    ⼀般的なセキュアWeb環境
    • 3層アーキテクチャ
    • EC2はプライベート
    • SSM Session Managerでア
    クセス(SSHしない、これ最
    強。)
    • CloudFront + S3 + WAF
    • マルチAZ
    • Auto Scaling

    View Slide

  60. 60
    合わせて読みたい
    セキュアな環境の設
    計から話した資料
    初めてでも使える情
    報満載
    https://dev.classmethod.jp/artic
    les/jaws-days-2019-a-security/

    View Slide

  61. 61
    コンポーネント毎の話
    • 次の順で説明
    • コンピューティング
    • ネットワーク
    • データベース
    • ストレージ
    • OS/ミドル
    • アプリ
    • モニタリング/ログ

    View Slide

  62. 62
    コンピューティング(EC2)
    • EC2は直接パブリックに置かない(攻撃経路を無くす)
    • OS/ミドルのパッチは常に最新に(脆弱性管理)
    • SSHも可能な限りSession Managerを使う
    • 最低限のポートだけ開ける
    • ログを外部出⼒する(CloudWatchやS3)
    • マルウェア対策する
    • IAM Roleは最⼩権限に(SSRF対策)
    • 可能ならIMDSv2を利⽤する

    View Slide

  63. 63
    合わせて読みたい
    IMDSv2によりSSRF対
    策が可能
    万能ではないこと、OS/
    ミドル/アプリ側でのサ
    ポートが必要な点は注意
    https://dev.classmethod.jp/arti
    cles/ec2-imdsv2-release/

    View Slide

  64. 64
    コンピューティング(コンテナ)
    • ⾃前でDockerなどを動かさずにECS/EKSを利⽤す
    る(管理部分の委任)
    • AWSが管理している基盤のほうがセキュア
    • Fargateを利⽤する(管理部分の委任)
    • 信頼できるリポジトリを利⽤
    • イメージをスキャンする(脆弱性管理)
    • ログを外部出⼒する(awslogs/FireLens)
    • NIST SP800-190もチェック

    View Slide

  65. 65
    合わせて読みたい
    コンテナセキュリティ
    の始め⽅や考え⽅がよ
    く分かるブログ
    https://dev.classmethod.jp/
    articles/container-security-
    tools-and-docs/

    View Slide

  66. 66
    コンピューティング(Lambda)
    • 認証・認可されていないリクエストを受け付けない
    (アクセス制御)
    • 外部からのリクエストを処理する場合はAPI
    Gatewayをフロントに⼊れる
    • 強い権限のIAM Roleをアタッチしない(最⼩権限)
    • 脆弱性のあるパッケージを利⽤しない(脆弱性管理)
    • 実⾏数のクォータをモニタリングする(可⽤性)

    View Slide

  67. 67
    ネットワーク
    • 必要な単位でVPCを分割する(相乗りしない)
    • Security Groupで詳細なアクセス制御する
    • 最低限のポート
    • 最低限の送信元
    • Security Group ID指定での制御(無駄にIP指定しない)
    • NACLでポリシー的なアクセス制御する
    • VPC EndpointによるセキュアなAWSアクセス

    View Slide

  68. 68
    データベース
    • RDS / DynamoDBなどマネージドなサービスを利
    ⽤する(責任範囲)
    • マルチAZ / リードレプリカによる冗⻑化
    • バックアップによる復旧可能性
    • TLSによる通信経路の暗号化
    • IAMによる管理アクセスの制御
    • ユーザー毎データアクセス権限の最⼩化

    View Slide

  69. 69
    ストレージ(S3)
    • S3のアクセス制御機能の理解
    • まずはパブリックアクセスブロック
    • バケットポリシー / ACL
    • バージョニング
    • オブジェクトロック(WORM)
    • クロスリージョンレプリケーション
    • アクセスポイント(アクセス制御の分割)
    • セキュリティベストプラクティス読む
    • https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/security-best-practices.html
    • ユーザーアップロードがあるならスキャン

    View Slide

  70. 70
    合わせて読みたい
    Cloud One File
    Storage Securityは
    サーバレスにS3をマル
    ウェアスキャンできる
    素晴らしい仕組み
    https://dev.classmethod.jp/a
    rticles/trendmicro-
    introducing-security-for-
    cloud-object-storage/

    View Slide

  71. 71
    OS/ミドル
    • とにかく脆弱性管理
    • 脆弱性診断だけではない
    • AWSならSSMインベントリ + Inspector + SSM
    パッチマネージャから始める
    • より快適なのはFutureVulsなど1つの基盤で⼀連の
    脆弱性管理ができる仕組み

    View Slide

  72. 72
    合わせて読みたい
    SSM パッチマネー
    ジャを使いながら⾃
    動的にパッチを当て
    ていくアプローチの
    1つ
    https://dev.classmethod.jp/arti
    cles/ssm-automation-patch-
    asg-instance/

    View Slide

  73. 73
    合わせて読みたい
    AWS側にログインしな
    くてもSSMと連携して⾃
    動的にパッチ適⽤が出来

    発⾒した脆弱性をチケッ
    ト管理できて、発⾒から
    修正まで⼀気通貫で出来
    るネ申サービス
    https://dev.classmethod.jp/arti
    cles/ssm_integrate_and_patch
    _application_with_futurevuls/

    View Slide

  74. 74
    アプリ
    • アプリケーションセキュリティの責任はユーザー
    • セキュアに実装してください

    View Slide

  75. 75
    合わせて読みたい
    とりあえず徳丸本置いて
    おきますね
    https://www.amazon
    .co.jp/dp/479739316
    5/

    View Slide

  76. 76
    アプリ(続き)
    • といっても⼤変なのでAWSの便利な機能を利⽤する
    • 認証基盤としてCognitoが利⽤できると⾃前で実装しなく
    て済む
    • Advanced Securityで認証強化
    • アダプティブ認証(通常と違うログイン対策)
    • 侵害された認証情報(漏洩したパスワード対策)
    • AWS WAFを利⽤してフロントで攻撃を⽌められる
    • 認証情報は埋め込まないでSSMパラメータストアや
    Secrets Managerに保管する
    • ⾃動化された安全な仕組みでリリースする

    View Slide

  77. 77
    合わせて読みたい
    Cognito使うなら絶対
    使おう
    https://dev.classmethod.jp/a
    rticles/aws-reinvent-cognit-
    asf-settings/

    View Slide

  78. 78
    合わせて読みたい
    AWS WAFの解説
    マネージドルールを活
    ⽤して楽に⾼度な機能
    を利⽤しよう
    https://dev.classmethod.jp/
    articles/fully-understood-
    aws-waf-v2/

    View Slide

  79. 79
    モニタリング/ログ
    • 現在の状態・過去の状態を確認することは必須
    • 未来の状態も予測できる
    • CloudWatchメトリクスから必要な情報を得る
    • コンピューティングリソースの状態
    • サービス・ビジネスメトリクス
    • ログから詳細なインサイトを得る
    • エラーなどを検知する
    • 最新のCloudWatch機能を活⽤する
    • 合成監視とか

    View Slide

  80. 80
    合わせて読みたい
    ダッシュボード参考例
    https://dev.classmethod.jp/ar
    ticles/autoscalling-with-
    cloudwatch-dashboard/

    View Slide

  81. 81
    合わせて読みたい
    合成監視(ユーザー視
    点のシナリオベース
    監視)で画⾯の差分を
    検知したりできる
    https://dev.classmethod.j
    p/articles/cloudwatch-
    synthetics-visual-
    monitoring/

    View Slide

  82. 82
    合わせて読みたい
    Syntheticsなどの最新機能も含
    めた様々な監視機能を学べる
    https://dev.classmethod.jp/articles/
    introduction-of-one-observability-
    demo-workshop/

    View Slide

  83. 83
    合わせて読みたい
    S3に保存したログは
    Athenaで⾒る
    https://dev.classmethod.jp/a
    rticles/cloudtrail-athena-
    partition-projection-table/

    View Slide

  84. 84
    あとは⾃動化しよう
    CloudFormationなどで作業を⾃動化しよう
    繰り返し作業が安定する
    作業ミスが発⽣しない(⼈はミスする)

    View Slide

  85. 85
    ここまで初級です
    初級
    ちゃんとできてましたか︖

    View Slide

  86. 86
    3. [初級]システム作る、セキュアに まとめ
    それぞれのレイヤーで
    原理原則を守って
    便利なAWSサービスを駆使して
    快適なセキュリティ設計・実装・運⽤

    View Slide

  87. 87
    システムのセキュリティ取り組み⽅
    AWSのサービスはどんどんよくなります
    AWSをよく知り
    継続的に改善しよう

    View Slide

  88. 88
    4. [中級]AWSのセキュリティを
    維持する

    View Slide

  89. 89
    課題
    いまちゃんとAWS全体が
    セキュアな状態かわからん

    View Slide

  90. 90
    AWSのセキュリティ維持
    ⾃動でAWS環境を
    チェックするにゃ︕

    View Slide

  91. 91
    AWSのセキュリティ維持
    • AWS Config RulesによりAWSの状態を確認し、定
    義した状態から違反したらアラートを出せる
    • アラートから⾃動修復も可能
    • Security HubはConfig Rulesを利⽤したセキュリ
    ティチェックが可能
    • 詳細なアクセス制御の維持にはIAM Access
    AnalyzerやPermissions Boundaryを利⽤する

    View Slide

  92. 92
    AWSのメリットを活⽤する
    AWSで便利にできることは便利にやろう
    ⼈⼿で頑張るのは
    愚策だぞ

    View Slide

  93. 93
    合わせて読みたい
    セキュリティチェックの
    概念から様々な⼿法のメ
    リットデメリットなどま
    とまっています
    https://dev.classmethod.jp/art
    icles/2020-strongest-aws-
    securitycheck-practice/

    View Slide

  94. 94
    最強のセキュリティチェック⽅法を
    しっかり解説

    View Slide

  95. 95
    Configによる設定管理
    Configでは現在の設定と、過去の変更の差分を時系列
    に管理している

    View Slide

  96. 96
    Config Rulesのチェック項⽬
    • ルールは2種類ある
    • AWSマネージドルール: ⽤意されている
    • カスタムルール: ⾃前のLambdaでチェックできる
    • マネージドルールの例
    • SecurityGroupでSSHが0.0.0.0/0で許可されていないか
    • CloudTrailが有効か
    • S3バケットが暗号化されているか
    • RDSのバックアップが有効か
    • などなど100種類以上
    • https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/managed-rules-by-aws-config.html

    View Slide

  97. 97
    Config Rulesから⾃動修復
    • 検知だけではなく⾃
    動修復も可能
    • ⼿動で開始する半⾃
    動修復と、検知次第
    完全⾃動で修復も可

    • 実態としてSSM
    Automationと連携
    する

    View Slide

  98. 98
    合わせて読みたい
    簡単にSSHの全開放を⾃
    動修復する設定
    まずは検知からだけでも
    やってみよう
    https://dev.classmethod.jp/articles/au
    to-recovery-restricted-ssh-without-
    lambda/

    View Slide

  99. 99
    Config Rulesを活⽤した仕組み
    • Config Rulesは様々なチェックが可能
    • これを応⽤するAWSサービスがある
    • Conformance Packs
    • CloudFormationのようにRulesをYAML/JSONで定義してデプ
    ロイできる
    • サンプルテンプレートが50個以上ある
    • Security Hub
    • 3種類のルールセットがある
    • ⾃動展開できる
    • 個別の検知抑制が可能

    View Slide

  100. 100
    セキュリティチェック⽅法
    ⾊々あって迷うにゃ
    どれがいいにゃ︖

    View Slide

  101. 101
    セキュリティチェック⽅法
    運⽤性と⼿厚さから
    Security Hubが
    オススメ

    View Slide

  102. 102
    セキュリティチェック⽅法
    • Security Hubはセキュリティチェック運⽤の理想形
    • 直感的なスコア表⽰
    • 無効化・例外の設定管理
    • AWSが最新のベストプラクティスを適⽤
    • 「AWS の基本的なセキュリティのベストプラクティスコント
    ロール(AWS Foundational Security Best Practices)」の
    ルールが優秀
    • 現状30リソースタイプ・121種類のチェック
    • 更新頻度が⾼い(リリースから約1年半で13回更新)
    • ⾃動修復ソリューション
    • マルチアカウントの集約

    View Slide

  103. 103
    直感的なスコア表⽰
    達成度が
    わかりや
    すい

    View Slide

  104. 104
    無効化・例外の設定管理
    ルール・リソース単位のステータス管理

    View Slide

  105. 105
    対応リソースタイプ
    • ACM
    • Apigateway
    • AutoScaling
    • CloudFront
    • CloudTrail
    • CodeBuild
    • Config
    • DMS
    • DynamoDB
    • EC2
    • ECS
    • EFS
    • ElasticBeanstalk
    • ELB
    • ELBv2
    • EMR
    • ES
    • GuardDuty
    • IAM
    • KMS
    • Lambda
    • RDS
    • Redshift
    • S3
    • SageMaker
    • SecretsManager
    • SNS
    • SQS
    • SSM
    • WAF

    View Slide

  106. 106
    ⾃動修復ソリューション
    マルチアカ
    ウント連携
    した修復の
    仕組みを展
    開できる

    View Slide

  107. 107
    合わせて読みたい
    AWS基礎セキュリティ
    のベストプラクティス
    に対応した⾃動修復ソ
    リューションの解説
    https://dev.classmethod.jp/a
    rticles/aws-security-hub-
    auto-remediation-asfbp/

    View Slide

  108. 108
    合わせて読みたい
    Security Hubの解
    説とどんな⾵に運⽤
    したらいいかをまと
    めています
    https://dev.classmethod.
    jp/articles/aws-security-
    operation-with-
    securityhub-2021/

    View Slide

  109. 109
    マルチアカウントの集約
    イベントの
    集約と管理
    者の委任が
    できる

    View Slide

  110. 110
    合わせて読みたい
    AWS Organizations
    と連携することで快適
    に集約管理できます
    https://dev.classmethod.jp/a
    rticles/security-hub-
    integrates-organizations/

    View Slide

  111. 111
    Security Hub以外を使う場合
    • Security Hubも完璧ではない
    • Conformance Packsを利⽤する場合
    • サンプルテンプレートを活⽤したい
    • ガリガリルールセットをカスタマイズしたい
    • ⾃動修復も独⾃で設定したい
    • カスタムルール(Lambda)を利⽤したい

    View Slide

  112. 112
    IAMのチェック

    View Slide

  113. 113
    IAMチェック⽅法
    開発者にIAM発⾏の権限
    を委任したいにゃ
    でも不安だにゃ

    View Slide

  114. 114
    IAMチェック⽅法
    特に危ない外部共有
    の設定はAccess
    Analyzerでチェック

    View Slide

  115. 115
    IAM Access Analyzer
    • 別のAWSアカウントから利⽤できるIAM Roleや不
    特定多数からアクセスできるS3バケットなど、外部
    共有のリソースを収集しチェックできる
    • 対応リソース
    • S3バケット
    • IAM Role
    • KMSキー
    • Lambda関数
    • SQSキュー
    • Secrets Managerシークレット

    View Slide

  116. 116
    イメージはこんな感じ
    検知結果は
    EventBridg
    e経由で通知
    できる

    View Slide

  117. 117
    合わせて読みたい
    わかりやすい図と画像
    でよく理解できるブロ

    https://dev.classmethod.jp/article
    s/iam-accessanalyzer-vs-iam-
    accessadvisor/

    View Slide

  118. 118
    IAMの権限昇格対策

    View Slide

  119. 119
    IAMの権限昇格対策
    開発者がIAMの権限から
    ⾃⾝を昇格しそうにゃ

    View Slide

  120. 120
    IAMの権限昇格対策
    Permissions Boundary
    で昇格を防⽌しよう

    View Slide

  121. 121
    Permissions Boundaryとは
    • IAMエンティティに追加で付
    与できる
    • 元々のポリシー(アイデンティ
    ティベースポリシー)に加えて
    Permissions Boundaryで
    も許可されている権限しか実
    ⾏できない
    • 作成するIAMにBoundaryを
    つけることを強要できる

    View Slide

  122. 122
    Permissions Boundaryのメリット
    開発者の作成するIAMにBoundaryを強制する
    BoundaryでIAM周りの権限を制限する
    権限昇格できなくなる

    View Slide

  123. 123
    合わせて読みたい
    Permissions
    Boundaryの使⽤例
    https://dev.classmethod.jp/articl
    es/iam-permissions-boundary/
    他にも「Permissions
    Boundary workshop」で
    検索すると参考になるものが
    あるよ

    View Slide

  124. 124
    4. [中級]AWSのセキュリティを維持する まとめ
    ⾃動で動くセキュリティチェックを駆使する
    アラートを受け取ったり⾃動で修復する
    ⼈⼿ではなく⾃動の仕組みで対処する

    View Slide

  125. 125
    5. [中級]インシデントに対応する

    View Slide

  126. 126
    課題
    攻撃されているかわからん
    気づいても対処の仕⽅がわからん

    View Slide

  127. 127
    AWSのインシデント対応
    AWSの脅威検知は簡単にゃ
    恐れずチャレンジするにゃ︕

    View Slide

  128. 128
    AWSのインシデント検知と対応
    • Amazon GuardDuty(マネージドな脅威検知サービ
    ス)でいろんな脅威を検知
    • EC2でコインマイニング
    • IAM不正利⽤
    • S3への不審なアクセス
    • などなど
    • Amazon Detectiveで⾃動的にログを関連付けして
    簡単に調査
    • ユーザーガイドに対処⽅法がある

    View Slide

  129. 129
    AWSのインシデント対応
    優秀なセキュリティ
    サービスで漏らさず
    対応しよう

    View Slide

  130. 130
    インシデント対応の⼼構え

    View Slide

  131. 131
    インシデント対応の⼼構え
    • Security Hubなどで予防を頑張っていてもインシデ
    ントが起きる時は起きる
    • 予防だけではなくなにか起きた後迅速に対応するこ
    とも⾮常に⼤切
    • NIST CSF的には検知・対応・復旧
    • ⽇頃からこれらの準備をしておく

    View Slide

  132. 132
    NIST CSFとは
    • NISTサイバーセキュリティフレームワーク
    • セキュリティ体制づくりに活⽤できる

    View Slide

  133. 133
    NIST CSFのコア機能
    • 5つのコア機能と各サブカテゴリに対応する対策がで
    きているかを⾃⼰評価する

    View Slide

  134. 134
    計画の作成

    View Slide

  135. 135
    AWSのインシデント対応の計画
    ちゃんと計画
    できてるかにゃ︖

    View Slide

  136. 136
    計画の第⼀歩
    まず、どんなインシデントが起きるか知ろう
    どんな対応が必要か検討できる

    View Slide

  137. 137
    Amazon GuardDutyとは
    • 脅威検知サービス
    • CloudTrail / VPC Flow Logs / DNS Logsをバッ
    クグラウンドで⾃動収集(利⽤者の⼿間なし)
    • ポチッと有効化するだけ
    • IAM / EC2 / S3に関するインシデントを検知
    • 脅威インテリジェンスと連携
    • 機械学習による異常識別

    View Slide

  138. 138
    GuardDutyの検知内容(ほんの⼀部)
    • IAMタイプ
    • 不正ログイン
    • 漏洩したクレデンシャル利⽤
    • CloudTrail無効化
    • EC2タイプ
    • コインマイニング
    • C&Cサーバー接続
    • SSHブルートフォース(受信 or 送信)
    • S3タイプ
    • バケット公開
    • Torアクセス

    View Slide

  139. 139
    対応⽅法
    GuardDutyのユー
    ザーガイドに検知
    結果毎の対応⽅法
    がわかりやすく記
    載されている
    https://docs.aws.amazon.co
    m/ja_jp/guardduty/latest/u
    g/guardduty_finding-types-
    active.html

    View Slide

  140. 140
    初動対応計画
    • 検知結果毎ざっくり3種類準備しておく
    • IAMタイプ
    • 認証情報を無効化する
    • EC2タイプ
    • EC2を隔離、保全、調査する
    • 調査は得意な会社に依頼できる準備でもいい
    • S3タイプ
    • アクセス権限を絞る

    View Slide

  141. 141
    IAMタイプの初動対応例
    • IAM Userならアクセスキーを無効化・削除
    • IAM Roleならセッションの無効化をポチ
    • CloudTrailで何をされたか調査

    View Slide

  142. 142
    EC2タイプの初動対応例
    Security Groupを
    変更して隔離
    (in/out無し)
    AMIバックアップ
    取得
    サーバーやストレー
    ジ調査(できれば、
    プロに任せたほうが
    いい)

    View Slide

  143. 143
    合わせて読みたい
    セキュリティ会社の
    実際のEC2調査の例
    https://ierae.co.jp/bl
    og/awsec2-hdd-
    analytics/

    View Slide

  144. 144
    S3タイプの初動対応例
    パブリックアクセスブロックする

    View Slide

  145. 145
    合わせて読みたい
    GuardDutyの解説と
    どんな⾵に運⽤した
    らいいかをまとめて
    います
    https://dev.classmethod.jp/articl
    es/aws-security-operation-with-
    guardduty-2021/

    View Slide

  146. 146
    その他の計画
    • エスカレーションフローなども決めておこう
    • 誰がいつまでにどこまで判断するか
    • 必要なログは収集しておこう
    • インシデント検知のアラートと⼀緒に⽬につくよう
    に対応することを出そう
    • いざという時は対応漏れが起きやすいのでチェック
    リストなどで簡単に実⾏できるようにしよう
    • 予⾏練習たくさんやろう

    View Slide

  147. 147
    クラスメソッドの障害対応例
    2020年10
    ⽉22⽇に
    発⽣した
    AWS障害
    の対応例

    View Slide

  148. 148
    合わせて読みたい
    具体的なランブック
    オートメーション(⾃
    動対応)の実装例
    https://dev.classmethod.jp/artic
    les/google-apps-script-slack-
    api-launch-01/

    View Slide

  149. 149
    合わせて読みたい
    AWS障害発⽣時のため
    の準備と対応の具体例
    https://dev.classmethod.jp/articles/
    technical-support-aws-failure-
    launch01/

    View Slide

  150. 150
    AWSのインシデント対応
    対応⽅針がわかれば
    怖くない
    対応計画を作ろう

    View Slide

  151. 151
    詳細な調査が必要なケース

    View Slide

  152. 152
    詳細な調査が必要なケース
    • すべてのインシデントがGuardDutyの内容だけでわ
    かるとは限らない
    • 漏洩したIAMでどのようなことが実⾏されたか
    • EC2が何と通信したか
    • S3からダウンロードされたデータはなにか
    • IAM情報がどこから漏洩したか
    • などなど

    View Slide

  153. 153
    調査に必要なもの
    ログ

    View Slide

  154. 154
    何はともあれログ
    • GuardDutyは⾃動でログを収集して検知してくれる
    けど、ユーザー側にログを提供してくれない
    • 別途⾃分たちでも必要なものは保存しておく
    • 通常はS3に各種ログを出⼒する
    • 調査する時はAmazon Athenaを利⽤する
    • S3のオブジェクトレベルのログはCloudTrailにデー
    タイベントログ保存の追加設定が必要

    View Slide

  155. 155
    合わせて読みたい
    Athenaで
    CloudTrailのログ
    を調査する時のいい
    設定(再掲)
    https://dev.classmethod.jp/ar
    ticles/cloudtrail-athena-
    partition-projection-table/

    View Slide

  156. 156
    しかしログの調査は⼤変
    • ノイズが多い
    • ちょうどいいログクエリを探すのに⼀苦労
    • 関連性を⾒出しづらい
    • クエリではなく、あらかた絞った状態でエクセルで検索
    を駆使したり⽬grepしてがんばる
    • 動的な範囲の集計やりづらい
    • この時間範囲のこのユーザーの実⾏API数とか、ぐりぐり
    動かしながらやりたい
    • 異常値を⾒つけにくい
    • どの観点で分析したらいいかわからん

    View Slide

  157. 157
    インシデントの調査
    もっと簡単に
    調査できないかにゃ︖

    View Slide

  158. 158
    できるよ
    Amazon Detectiveならね

    View Slide

  159. 159
    Amazon Detectiveとは
    • インシデント調査のサービス
    • VPC Flow Logs / CloudTrail / GuardDuty
    Findingsを⾃動で取り込む
    • わかりやすいグラフやマップで視覚化

    View Slide

  160. 160
    つまりこれが…

    View Slide

  161. 161
    こうじゃ︕

    View Slide

  162. 162
    Detectiveのいいところ
    内部のグラフDBで関連付けしてくれる

    View Slide

  163. 163
    リソースの関連情報
    リソースに関連す
    る情報を収集して
    リンクしてくれる
    作成したユーザー
    や関連するイベン
    トを辿れる

    View Slide

  164. 164
    API実⾏履歴
    関連するAPIを
    集計してくれる
    絞り込みもでき

    API実⾏者単位
    やIP単位で確
    認できる

    View Slide

  165. 165
    直感的なマッピング
    どこから操作されているか
    GeoIPでマッピングしてくれ

    View Slide

  166. 166
    合わせて読みたい
    実際の画⾯とともにガッ
    ツリデモしているブログ
    動きを⾒ながらより対応
    イメージを⾼めよう
    https://dev.classmethod.jp/articles/a
    mazon-detective-investigation-demo/

    View Slide

  167. 167
    インシデントの調査
    調査のツラミを
    Detectiveが
    吸収してくれる

    View Slide

  168. 168
    調査の進め⽅
    • Detectiveを使うことで調査が⼤幅に捗る
    • 何が起きているかの全体像把握
    • 関連リソース把握
    • 起因になっている事象を辿る
    • しかし最終的には⾃分でログを⾒る場合もある
    • ログを⾒る仕組みを⽤意するのも⽅法の1つ

    View Slide

  169. 169
    合わせて読みたい
    Amazon
    OpenSearch
    Service(旧
    Elasticsearch)を利⽤
    したAWSログの可視化
    ソリューション
    OSSだよ
    いい感じだよ
    https://dev.classmethod.jp/articles
    /getting-started-siem-on-amazon-
    elasticsearch-service/

    View Slide

  170. 170
    SIEM on Amazon OpenSearch Service
    CloudTrailの可視化
    こんな感じ
    ログイン失敗とか
    ルートのログインと
    かチェックしたい項
    ⽬が最初からダッ
    シュボードに搭載さ
    れている

    View Slide

  171. 171
    SIEM on Amazon OpenSearch Service
    S3にログを⼊れればいい感じに取り込んでくれる

    View Slide

  172. 172
    合わせて読みたい
    freeeさんがSIEM
    on Amazon
    OpenSearch
    Serviceを1年運
    ⽤した結果を紹介
    しています
    動画あり
    https://dev.classmetho
    d.jp/articles/security-
    jaws-22-report/

    View Slide

  173. 173
    おまけの情報
    サードパーティのRadwareも
    調査が捗ります

    View Slide

  174. 174
    Radwareによる原因調査
    ⼀番左がインシデントの始まりです

    View Slide

  175. 175
    合わせて読みたい
    AWS上のインシデントをわかりやす
    いフロー図にして可視化できる
    Radware Cloud Native
    Protectorを使って攻撃された痕跡
    を調査してみた
    https://dev.classmethod.jp/articles/getting-
    start-radware-cloud-native-protector/
    AWSでコインマイニングされた原
    因をRadware CNPのフロー図で
    わかりやすく調査してみた
    https://dev.classmethod.jp/articles/investig
    ate-coin-mining-with-radware-cnp/

    View Slide

  176. 176
    5. [中級]インシデントに対応する まとめ
    どんなインシデントが起こるか知り
    準備・計画する
    ⼈⼒・⽬grepは⾟いので
    インテリジェントなサービスを
    活⽤しよう︕

    View Slide

  177. 177
    6. [上級]組織全体でガバナンスを
    効かせる

    View Slide

  178. 178
    課題
    AWSアカウントや
    AWS利⽤者が増えて
    管理が⾏き届かない

    View Slide

  179. 179
    AWSの全体管理
    これまでの取り組みの
    応⽤だにゃ︕

    View Slide

  180. 180
    AWSの全体管理
    • ⾃動化された仕組みで必要なレベルを維持する
    • セキュリティチェック
    • CloudFormationによる⾃動化
    • 全体でレベルを統⼀する
    • セキュリティ基準
    • 対応計画

    View Slide

  181. 181
    AWSの全体管理
    さらに全体管理の
    サービスも活⽤する

    View Slide

  182. 182
    AWSアカウントの集約管理

    View Slide

  183. 183
    全体管理に利⽤できるサービス
    • AWS Organizations
    • CloudFormation StackSets
    • AWS SSO
    • AWS Control Tower

    View Slide

  184. 184
    AWS Organizationsとは
    • 複数のAWSアカウント
    を束ねる仕組み
    • OUを定義して配下にア
    カウントをまとめられる
    • Service Control
    Policy(SCP)を利⽤して
    強制的なアクセス制御が
    可能

    View Slide

  185. 185
    SCPの例
    • SCPの例
    • 特定リージョン使⽤禁⽌
    • CloudTrail無効化禁⽌
    • GuardDuty無効化禁⽌
    • S3バケット公開禁⽌
    • タグのないリソース作成禁⽌
    • https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/
    orgs_manage_policies_scps_examples.html
    • 開発環境 / 本番環境 / 共⽤環境などで使い分ける

    View Slide

  186. 186
    合わせて読みたい
    Organizationsについて
    必要な知識や関連サービ
    スについて⼀通り説明あ

    https://dev.classmethod.jp/articles/l
    ets-study-aws-organizations-basic/

    View Slide

  187. 187
    合わせて読みたい
    OUの設計パターンを学
    ぶのにおすすめのブログ
    全部やらなくていいけど、
    ⼀通り読んで何を採⽤す
    るか検討するといい
    https://dev.classmethod.jp/articles/
    aws-organizations-best-practice/

    View Slide

  188. 188
    AWS Organizations連携
    • 様々なAWSサービスと連携して簡単に全体管理でき

    • AWS SSO
    • CloudFormation StackSets
    • GuardDuty
    • Security Hub
    • Systems Manager
    • CloudTrail
    • Config
    • などなど

    View Slide

  189. 189
    合わせて読みたい
    管理している全AWSア
    カウントのEC2を⼀元的
    に可視化できる
    https://dev.classmethod.jp/articles/
    new-aws-systems-manager-
    explorer/

    View Slide

  190. 190
    CloudFormation StackSets
    • Organizationsがなくてもリージョンやアカウント
    をまたがるCloudFormation展開が可能

    View Slide

  191. 191
    合わせて読みたい
    簡単に全体を⾃動化
    https://dev.classmethod.
    jp/articles/cloudformati
    on-stacksets-sample-
    sns-topic/

    View Slide

  192. 192
    合わせて読みたい
    AWS SummitでVisional
    様が発表した内容
    Terraformで全体へ展開
    https://dev.classmethod.jp/articles/a
    ws-summit-online-2020-cus-06/

    View Slide

  193. 193
    AWS SSO
    AWSアカウントの認証情報を集約できる
    シングルサインオンの仕組み

    View Slide

  194. 194
    合わせて読みたい
    よく分かる(かもし
    れない)図解
    https://dev.classmethod
    .jp/articles/aws-sso-
    wakewakame/

    View Slide

  195. 195
    Jumpアカウント
    • AWS SSOを利⽤しなくてもSSOする⼿段はある
    • SAML連携
    • JumpアカウントへのIAM User集約

    View Slide

  196. 196
    AWS Control Tower
    AWSのベストプラ
    クティスに従った構
    成でガードレールを
    効かせる仕組み
    AWS
    Organizationsと
    連携する

    View Slide

  197. 197
    Control Towerの役割
    • ID管理
    • AWS SSOと連携した認証認可の集約
    • ガードレール
    • SCPやConfig Rulesにより違反を防⽌・検知
    • ベースライン展開
    • CloudTrailやConfigなど⼀律で展開
    • ログ管理・監視
    • Log Archiveアカウントにログ集約
    • Auditアカウントにアラート集約

    View Slide

  198. 198
    合わせて読みたい
    Control Towerの必要
    性や背景、代替案などは
    全部ここで説明していま

    https://dev.classmethod.jp/ar
    ticles/jaws-days-2021-
    control-tower/

    View Slide

  199. 199
    合わせて読みたい
    Control Towerシ
    リーズ記事いろい
    ろあります
    https://dev.classmetho
    d.jp/tags/aws-control-
    tower/

    View Slide

  200. 200
    ガバナンスを効かせるのは
    機能だけではない

    View Slide

  201. 201
    ガバナンスの意義
    組織の⼈みんなで
    協⼒にゃ︕

    View Slide

  202. 202
    CCoEによるクラウド活⽤最適化
    • CCoE: Cloud Center of Excellence
    • クラウド推進の組織
    • クラウド利⽤のノウハウを持つ・蓄える・提供する
    • 企業により定義や構成はさまざま
    • バーチャル組織で部⾨横断
    • 情シスから派⽣
    • DX推進チーム
    • クラウドのスピードに合わせて変わっていく

    View Slide

  203. 203
    CCoEの例

    View Slide

  204. 204
    CCoEの役割(例)
    • ガイドライン整備
    • トレーニング提供
    • 勉強会主催
    • 共通インフラ整備
    • 全体管理
    • セキュリティ運⽤
    • などなど

    View Slide

  205. 205
    合わせて読みたい
    CCoEの1つの実装例
    ⽴ち上げ過程やどの
    ような⽅針で推進し
    たか解説されていま

    https://dev.classmethod.j
    p/articles/shionogi-
    devshow/

    View Slide

  206. 206
    AWSに関わる様々な部⾨
    • セキュリティ部⾨
    • 定義されたセキュリティ設定の⾃動展開
    • 調達部⾨
    • ⾃動化された迅速なAWS環境払い出し
    • 監査部⾨
    • ⾃動的にチェックされる定量的な評価
    • みんな等しく効率化できる

    View Slide

  207. 207
    Cloud Audit Academy
    クラウドの監査について学ぶためのコンテンツ
    https://aws.amazon.com/jp/compliance/auditor-learning-path/

    View Slide

  208. 208
    AWSの全体管理
    AWSに関わる⼈
    みんなBuilderだ︕

    View Slide

  209. 209
    6. [上級]組織全体でガバナンスを効かせる まとめ
    全体管理の仕組みと
    クラウドの恩恵を受ける組織の形で
    効率よく全体管理しよう

    View Slide

  210. 210
    まとめ

    View Slide

  211. 211
    まとめ
    • 変わらないセキュリティの考え⽅を⾝につける
    • AWSのメリットと基本を押さえる
    • 便利なサービスを活⽤する
    • とにかく⾃動化
    • 組織で最適化する
    • 全員Builderで全員セキュリティ担当だ

    View Slide

  212. View Slide