Slide 1

Slide 1 text

組織的なクラウド統制のはじめの⼀歩 〜 後編 〜 2024.5.9 AWS事業本部 コンサルティング部 花澤 雄紀、⾼⼭ 晃太朗 1

Slide 2

Slide 2 text

2 本日話す内容と話さない内容 話す内容 話さない内容 クラウド統制に役立つAWSサービスの紹介 各サービスの具体的な設定内容

Slide 3

Slide 3 text

3 アカウント管理

Slide 4

Slide 4 text

4 アカウント管理 AWSの推奨はマルチアカウント戦略 複数のワークロードが存在する環境の場合、 https://aws.amazon.com/jp/blogs/news/best-practices-for-organizational-units-with-aws-organizations/

Slide 5

Slide 5 text

5 Organizations AWS Organizations AWS Organizationsは、複数のAWSアカウントを一元管理することができるサービス Organizational unit(OU)の単位で組織設計することができる Organizationsを利用することで他のAWSサービスで組織機能が利用できる Service control policy(SCP)でOU/アカウント単位でアクセス制御

Slide 6

Slide 6 text

6 Organizations 〜OU〜 Classmethod Cloud Guidebookでサンプル例 OU設計の一例 Security OU : CloudTrail,Configのログ集約 Security Hub,GuardDutyの集約管理 Infrastructure OU : 共通インフラの構築 Workload OU : 個別システムの構築 Organizational unit(OU)は、AWS Organizations内のアカウントのグループで、類似した役 割や目的を持つアカウントを組織化するために使用されます。 OU設計はAWS Organizationsを利用する上でキモになる部分 組織に合わせたOU設計の検討が必要ですが、ベストプラクティスは存在します

Slide 7

Slide 7 text

7 Organizations 〜SCP〜 Service Control Policy(SCP)は、組織内のOUやアカウントにアタッチすることが できる機能で、そのアカウントまたはOU内のすべてのアカウントのアクセス許可を 管理できます。 SCP Phase 2: アイデンティティ とアクセス管理

Slide 8

Slide 8 text

8 Organizations 〜SCP〜 SCPでよく制御するポリシー例 利用料の高いサービス(Shield Advance,高額EC2など)の利用禁止 特定リージョンの利用禁止 etc... 特定サービスの無効化/設定変更を禁止

Slide 9

Slide 9 text

9 Organizations 〜連携サービス〜 GuardDuty Inspector Organizationsを利用することで他のAWSサービスで組織機能 が利用できる Detective etc... https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_integrate_services_list.html Security Hub

Slide 10

Slide 10 text

10 ユーザー管理

Slide 11

Slide 11 text

11 ユーザー管理 マルチアカウントでAWS環境へアクセスするユーザ ここでいうユーザ管理は、

Slide 12

Slide 12 text

12 マルチアカウントでのユーザ管理3選

Slide 13

Slide 13 text

13 AWS IAM Identity Center Organizationsと連携して、ユーザー毎のアクセス権限を一元管理する機能 ログイン画面例 ユースケース : Organizations利用環境でAWSアカウントのアクセス権限を集中管理したい Phase 2: アイデンティティ とアクセス管理

Slide 14

Slide 14 text

14 AWS IAM Identity Center 既存IDプロバイダーが存在する場合は、IDストアに利用することも可能 ユースケース : Entra IDでユーザの集中管理をしたい ログイン画面例 https://dev.classmethod.jp/articles/federate-azure-ad-and-aws-iam-identity-center/

Slide 15

Slide 15 text

15 AWS IAM Identity Center 既存IDプロバイダーが存在する場合は、IDストアに利用することも可能 ユースケース : Entra IDでユーザの集中管理をしたい ログイン画面例

Slide 16

Slide 16 text

16 AWS IAM Identity Center 既存IDプロバイダーが存在する場合は、IDストアに利用することも可能 ユースケース : Entra IDでユーザの集中管理をしたい ログイン画面例 「マイアプリ」からIAM Identity Centerポータルへジャンプする

Slide 17

Slide 17 text

17 IAMユーザーからスイッチロール IAMユーザー管理用アカウント(Jumpアカウント)を用意して 各アカウントへスイッチロールする方法 ユースケース : Organizations利用できない環境でAWSアカウントのアクセス権限を集中管理したい

Slide 18

Slide 18 text

18 (MFAは必ず設定しよう!) Phase 1: アイデンティティ とアクセス管理 https://dev.classmethod.jp/articles/forced_mfa/ IAM Identity Centerを利用している環境ではデフォルトでユーザのMFA登録が 必須になるよう設定されている(2023/11/16以降に作成した環境) IAMユーザを利用している環境ではポリシーを設定することでMFA利用を強制す ることが可能 ※デフォルトMFA必須状態じゃない! 参考 : Bcryptの数字6文字は“一瞬”で解読 2024年度Hive Systemsパスワード強度調査より https://www.hivesystems.com/blog/are-your-passwords-in-the-green クラウドサービスにおけるユーザー/パスワード認証は危険

Slide 19

Slide 19 text

19 既存IDプロバイダーからIAM SAML https://pages.awscloud.com/rs/112-TZM-766/images/20200722_AWSBlackbelt_aws_sso.pdf 既存IDプロバイダー(Azure AD, Oktaなど)がある場合に、 既存IDプロバイダーの認証情報を使って各アカウントへアクセスする方法 ユースケース : Organizations利用できない環境で既存IDプロバイダーを利用してAWSにアクセスしたい

Slide 20

Slide 20 text

20 ログ管理/監査

Slide 21

Slide 21 text

21 AWS CloudTrail AWS CloudTrail ユーザー、ロール、またはAWSのサービスによって実行されたアクションを記録 デフォルト90日間記録、90日を超えるログを記録する場合は証跡を作成する Organizationsと連携して「組織の証跡」を作成できる Phase 1: 脅威検出

Slide 22

Slide 22 text

22 AWS CloudTrail どのユーザーが、どんなイベントを、いつ実行しているのか確認できる ※デフォルトログではデータイベント/Insightsイベントは記録されません。 ・ データイベント : S3オブジェクトAPI(PutObject, DeleteObject...)、Lambda 実行API(Invoke)、DynamoDBオブジェクトAPI(PutItem, DeleteItem...) ・ Insightsイベント : 管理イベントのAPIコールボ リュームの計測値が、通常 のパターンから外れた場合 に⽣成

Slide 23

Slide 23 text

23 AWS CloudTrail コンソールで確認できるのは90日間まで。 90日以上保存したい場合は「証跡」を作成して、保存する必要がある データ/Insightsイベントはここを有効して記録

Slide 24

Slide 24 text

24 AWS CloudTrail マルチアカウント環境で統制を効かせる場合は、Organizationsと連携して 「組織の証跡」を作成できる

Slide 25

Slide 25 text

25 AWS Config AWS Config AWSのリソースの構成変更履歴を収集、管理、評価するサービス デフォルト無効化のため、有効化する必要あり Organizationsと連携して「Aggregator」を作成できる Phase 2: セキュリティ保証

Slide 26

Slide 26 text

26 AWS Config AWSのリソースの構成変更履歴を収集、管理、評価するサービス 評価(Configルール) 収集/管理(リソースタイムライン) マネージドルール : AWSが提供するConfigルール カスタムルール : ユーザが独自に作成するConfigルール https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/managed-rules-by-aws-config.html

Slide 27

Slide 27 text

27 AWS Config デフォルト無効化のため、有効化する必要あり ポイント : グローバルリソースを含める設定は1リージョンにする 複数リージョンのConfigでグローバルリソースを収集すると記録が重複し無駄なコストが発生する https://dev.classmethod.jp/articles/config-global-resources-one-region/

Slide 28

Slide 28 text

28 AWS Config Organizationsと連携して「Aggregator」を作成できる

Slide 29

Slide 29 text

29 監査ログ集約のアカウント構成例 監査/ログアーカイブのリソースを 削除できないSCPを適用

Slide 30

Slide 30 text

30 この構成を自前で実装は大変...

Slide 31

Slide 31 text

31 Control Tower

Slide 32

Slide 32 text

32 Control Tower AWS Control Tower Control Tower は Organizations を前提として利用するサービス SCP、AWS Config、AWS CloudTrailなどを用いてAWSのベストプラクティ スに基づいたルールを設定し、Control Towerマネージドに各アカウントの 統制を制御する Phase 2: インフラ保護

Slide 33

Slide 33 text

33 Control Tower https://classmethod.jp/articles/aws-control-tower/ Control Towerのアーキテクチャと統制内容 セキュリティ統制 Control Towerが用意するコントロール(ガードレール) で予防的/発見的コントロールを適用を徹底できる ログの一元管理 CloudTrail/Configのログを自動有効、集約する SCPによるSecurity OUへの改ざんを保護 可用性の高いS3にログを保存 ユーザの集約管理 IAM Identity Centerによる事前設定された グループの提供とアクセスの集約管理

Slide 34

Slide 34 text

34 セキュリティ管理

Slide 35

Slide 35 text

35 Amazon GuardDuty Amazon GuardDuty 継続的にモニタリングし、悪意のあるアクティビティを検出するサービス Phase 1: インシデント対応

Slide 36

Slide 36 text

36 Amazon GuardDuty 継続的にモニタリングし、悪意のあるアクティビティを検出 オプション保護 デフォルトではEC2/IAMのイベント検出 - C&Cサーバとの通信 - EC2インスタンスの認証情報の外部アカウント利用の検出 - S3 Protection - EKS Protection - ランタイムモニタリング - Malware Protection - RDS Protection - Lambda保護

Slide 37

Slide 37 text

37 Amazon GuardDuty 組織的な展開 保護プランごとに有効化を選択可能 リージョンごとに有効化設定が必要

Slide 38

Slide 38 text

38 IAM Access Analyzer Phase 1: アイデンティティ とアクセス管理 AWS IAM Access Analyzer アナライザーはポリシー内容を評価して外部エンティティからリソースアク セス経路が検知された場合にそれをFindingという単位で検出する 外部から利用可能なAWSリソースを検知・一覧化(外部アクセスアナライザー) 無料でIAM、S3など15サービスの外部から利用な状況を検出可能 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access-analyzer-resources.html 未使用の許可権限やIAMリソースの検出(未使用アクセスアナライザー) オプション料金で非アクティブなIAMロール、未使用のアクセス許可、ユー ザーパスワード、ユーザーアクセスキーを検出可能

Slide 39

Slide 39 text

39 IAM Access Analyzer 組織的な展開 信頼ゾーンを組織単位に定義して設定可能 リージョンごとに有効化設定が必要 https://dev.classmethod.jp/articles/create-archive-rules-in-multi-regions/ 外部アクセスアナライザーのIAMリソース 検知は全リージョンで記録される メインリージョン以外のIAM検知をアーカイブすること で運用負荷を軽減

Slide 40

Slide 40 text

40 AWS Security Hub AWS Security Hub セキュリティサービスを中央集権的に管理することもできる 基準に従ってセキュリティチェックするサービス Phase 1: セキュリティ保証

Slide 41

Slide 41 text

41 AWS Security Hub 基準に従ってセキュリティチェックする機能 6つのセキュリティ基準が提供されている(2024/5/9時点) 前提条件としてAWS Configを有効化する必要がある 「AWS基礎セキュリティのベストプラクティス」が網羅的にチェックしており とりあえず有効しておくのがオススメ 検出結果の対応方法は随時ブログ化中 https://dev.classmethod.jp/referencecat/securityhub-fsbp-remediation/

Slide 42

Slide 42 text

42 AWS Security Hub セキュリティサービスを中央集権的に管理するサービス 統合機能でAWSサービス/3rdパーティ製品を中央集権的に管理できる GuardDutyを取り込んだ例 統合したサービスはSecurity Hub経由して通知ができる https://dev.classmethod.jp/articles/guardduty-notification-via-securityhub/

Slide 43

Slide 43 text

43 https://dev.classmethod.jp/articles/learn-from-past-cases-of-using-aws-security-services/

Slide 44

Slide 44 text

44 AWS Security Hub 組織的な展開 Auto-enable accounts Auto-enable default standards Security Hubのみ有効化する設定 Security Hubおよびセキュリティ基準 を有効化する設定 - AWS基礎セキュリティのベストプラクティス - CIS v1.2.0 リージョンごとに有効化設定が必要

Slide 45

Slide 45 text

45 AWS Security Hub 組織的な展開 re:Invent 2023でリリースされた機能 従来オプションより柔軟に設定ができ るため組織的な展開をする場合は中央 設定を推奨

Slide 46

Slide 46 text

46 AWS Security Hub 組織的な展開(中央設定) ポリシーでOU/アカウント毎に設定可能 リージョンにまたがる設定が一括可能 ポリシーでは個別に以下の項目設定可能 - セキュリティ基準 - 無効化コントロール - コントロールのパラメータカスタマイズ

Slide 47

Slide 47 text

47 (アドバンスド) 自動化

Slide 48

Slide 48 text

48 アカウントを作成するたびにクラウド統制の 設定をするのはつらい...

Slide 49

Slide 49 text

49 CloudFormation StackSets AWS CloudFormation StackSets CloudFormation自体はAWSリソースをコードで管理し、展開するサービス CloudFormation StackSetsは複数アカウント/複数リージョンに展開するサ ービス Organizaitonsと連携することでアカウントがOUに追加されたことをトリガ ーに自動でリソースをデプロイすることが可能 Phase 3: 効率化

Slide 50

Slide 50 text

50 CloudFormation StackSets Control Towerも実態としてCloudFormation StackSetsが動いている

Slide 51

Slide 51 text

51 Control Tower カスタマイズ Account Factory Customization(AFC) Customizations for AWS Control Tower(CfCT) AWS Control Tower Account Factory for Terraform(AFT) CloudFormationテンプレートをベースにアカウント作成時にリソースを自 動的にデプロイし、ランディングゾーンをカスタマイズする方法 Terraformテンプレートをベースにアカウント作成時にリソースを自動的 にデプロイし、ランディングゾーンをカスタマイズする方法 Service Catalogをベースにアカウント作成時にリソースを自動的にデプロ イし、ランディングゾーンをカスタマイズする方法 pros : CloudFormationをベースにControl Towerの柔軟なカスタマイズが可能 cons : CfCT環境の学習/維持コストが発生する pros : TerraformをベースにControl Towerの柔軟なカスタマイズが可能 cons : AFT環境の学習/維持コストが発生する pros : カスタマイズ方法として最もマネージドな方法で環境維持コストが少ない cons : 一部制約が発生する(CT未対応リージョンへのデプロイはできない等)

Slide 52

Slide 52 text

52 クラウド統制に役立つAWSサービス使って 組織的なクラウド統制のはじめの一歩を 踏み出そう!

Slide 53

Slide 53 text

53