Slide 1

Slide 1 text

BLEAでAWSアカウント のセキュリティレベル を向上させよう 2024.7.11 AWS事業本部 吉川晃平

Slide 2

Slide 2 text

⾃⼰紹介 2

Slide 3

Slide 3 text

⾃⼰紹介 3 ● 吉川 晃平 ● クラスメソッド株式会社 ● AWS事業本部コンサルティング部 ○ ソリューションアーキテクト ● この一年で特に関わったAWSサービス ○ AWS Security Hub https://dev.classmethod.jp/author/yoshikawa-kohei/

Slide 4

Slide 4 text

⾃⼰紹介 4 ● 最近嬉しかったこと ○ 自転車で琵琶湖一周したこと ● 最近の興味 ○ 麻雀 ○ 担々麺 https://dev.classmethod.jp/author/yoshikawa-kohei/

Slide 5

Slide 5 text

セッション概要 5

Slide 6

Slide 6 text

ターゲット 6 AWSアカウントのセキュリティレベルを上げたい、興味のある方

Slide 7

Slide 7 text

セッションで説明すること 7 ● セッションで説明すること ○ 前半パート ■ AWSアカウントに発生しうる脅威例の紹介 ■ AWSセキュリティサービスの紹介 ○ 後半パート ■ Baseline Environment on AWS(BLEA)の概要や中身の説明 ■ クラスメソッドが提供する「セキュアアカウント」の概要説明 ■ BLEAとセキュアアカウントの比較 ● セッションでお話ししないこと ○ CDK自体の話

Slide 8

Slide 8 text

セッション終了時点の⽬標 8 今回のセッションに参加された方がAWSアカウントのセキュリティレベル を効率よく向上させる方法がわかる状態

Slide 9

Slide 9 text

皆さんはAWSアカウントの セキュリティ対策してますか? 9

Slide 10

Slide 10 text

セキュリティ対策例 10 ● AWSアカウントの操作記録 ● AWSリソースの記録 ● アカウント内に存在する非推奨な設定の検知 ● アカウント内で発生した危険な挙動の検知

Slide 11

Slide 11 text

脅威例の紹介 11

Slide 12

Slide 12 text

不正ログインからの コインマイニング 12

Slide 13

Slide 13 text

脅威例 13

Slide 14

Slide 14 text

攻撃者による不正ログイン 14

Slide 15

Slide 15 text

攻撃者による不正ログイン対策 15 ● AWSアカウントの操作記録 ● AWSリソースの記録 ● アカウント内に存在する非推奨な設定の検知 ● アカウント内で発生した危険な挙動の検知

Slide 16

Slide 16 text

攻撃者による不正ログイン対策 16

Slide 17

Slide 17 text

攻撃者によるコインマイニング 17

Slide 18

Slide 18 text

攻撃者によるコインマイニング対策 18 ● AWSアカウントの操作記録 ● AWSリソースの記録 ● アカウント内に存在する非推奨な設定の検知 ● アカウント内で発生した危険な挙動の検知

Slide 19

Slide 19 text

攻撃者によるコインマイニング対策 19

Slide 20

Slide 20 text

AWSサービスの紹介 20

Slide 21

Slide 21 text

代表的なAWSセキュリティサービス 21 ● AWSアカウントの操作記録→AWS CloudTrail ● AWSリソースの記録→AWS Config ● アカウント内に存在する非推奨な設定の検知→AWS Security hub ● アカウント内で発生した危険な挙動の検知→Amazon GuardDuty

Slide 22

Slide 22 text

CloudTrail 22

Slide 23

Slide 23 text

CloudTrailとは 23 ● アカウント内の操作(API実行)を記録するサービス ● AWS内の操作の多くはAPIを通して実行される ○ EC2インスタンスの起動 ○ アクセスキーを作成 ○ その他AWSサービスに関する操作のほとんど

Slide 24

Slide 24 text

CloudTrailは AWSアカウントの 〇〇〇実⾏を記録する 24

Slide 25

Slide 25 text

CloudTrailは AWSアカウントの API実⾏を記録する 25

Slide 26

Slide 26 text

AWSにおけるAPIとは 26 AWSにおけるAPIの理解は絶対してほしい

Slide 27

Slide 27 text

AWSにおけるAPIとは 27 普段ユーザーが意識するのは赤枠の部分

Slide 28

Slide 28 text

AWSにおけるAPIとは 28

Slide 29

Slide 29 text

AWSにおけるAPIとは 29 ユーザーの操作はマネコンでもCLIの場合でも同じAPIにて実行される

Slide 30

Slide 30 text

AWSにおけるAPIとは 30

Slide 31

Slide 31 text

AWSにおけるAPIとは 31 EC2インスタンスを起動をした場合、マネコンやCLI、SDKの操作手段を問 わず、API「RunInstance」が実行される

Slide 32

Slide 32 text

AWSにおけるAPIとは 32 AWSアカウント内の操作確認は、API実行の記録が重要

Slide 33

Slide 33 text

Config 33

Slide 34

Slide 34 text

Configとは 34 各種AWSリソースを記録するサービス

Slide 35

Slide 35 text

Configとは 35 タイムラインにてConfigの記録履歴を確認することが可能

Slide 36

Slide 36 text

Configとは 36 ● どういう時に役に立つのか ○ セキュリティ監査 ○ トラブルシューティングなど ● 特定時点におけるAWSリソースのパラメータを確認したい場合に有効 ○ 同時に実行されたAPIをCloudTrailで確認することが多い

Slide 37

Slide 37 text

参考ブログ 37

Slide 38

Slide 38 text

Security Hub 38

Slide 39

Slide 39 text

Security Hubとは 39 ● CSPM(Cloud Security Posture Management)に相当するサービスで 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱し ていないか」を自動でチェック ○ S3バケットが公開設定になっていないか ○ アクセスログを有効化しているか ○ セキュリティグループにて不要なポートを開けていないか ○ GuardDutyが有効化されているか ○ etc

Slide 40

Slide 40 text

Security Hubとは 40 AWSアカウント内のセキュリティレベルをスコアで表示

Slide 41

Slide 41 text

Security Hubとは 41 ● 自動チェックは各ルール(コントロール)に沿って実施 ● GuardDuty.1は、GuardDutyの有効化を監視するコントロール

Slide 42

Slide 42 text

Security Hubとは 42 ● コントロール例 ○ [GuardDuty.1] GuardDuty を有効にする必要があります ○ [Config.1] AWS Config を有効にする必要があります ○ [CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマル チリージョンの追跡で、読み取りと書き込みの管理イベントを含め た設定をする必要があります ○ [EC2.7] EBS のデフォルト暗号化を有効にする必要があります ○ [IAM.4] IAM ルートユーザーアクセスキーが存在してはいけませ んなど

Slide 43

Slide 43 text

参考ブログ 43

Slide 44

Slide 44 text

GuardDuty 44

Slide 45

Slide 45 text

GuardDutyとは 45 ● AWSアカウント内の各情報(ログ等)を分析し、危険な挙動を検知する サービス ○ コインマイニング ○ AWSアカウントへの不正アクセス ○ C&Cサーバーとの接続など

Slide 46

Slide 46 text

GuardDutyとは 46 ● Security HubとGuardDutyは対になるようなサービス(個人的見解) ○ Security Hub:予防的統制 ■ 危険な設定を監視し、脅威の発生を未然に防ぐ ○ GuardDuty:発見的統制 ■ 発生した脅威をすぐに検知し、被害拡大を防ぐ ○ 参考 ■ https://aws.amazon.com/jp/builders-flash/202302/conti nuous-security/

Slide 47

Slide 47 text

予防的統制と発⾒的統制の関係 47

Slide 48

Slide 48 text

予防的統制と発⾒的統制の関係 48

Slide 49

Slide 49 text

予防的統制と発⾒的統制の関係 49

Slide 50

Slide 50 text

GuardDutyとは 50 ● GuardDutyの検知ルールはドキュメントに網羅 ○ https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/gu ardduty_finding-types-active.html ● テスト検知を出す方法もあるので是非やっていただきたい ○ 実際に検知してみることでGuardDutyの理解が進む

Slide 51

Slide 51 text

参考ブログ 51

Slide 52

Slide 52 text

ここで発⽣する課題 52

Slide 53

Slide 53 text

ここが課題 53 各セキュリティサービスの設計とAWSアカウントへの適用が大変

Slide 54

Slide 54 text

BLEAの紹介 54

Slide 55

Slide 55 text

BLEAとは 55 ● AWSが公式に開発しているオープンソースのCDKサンプルテンプレー ト集 ○ https://github.com/aws-samples/baseline-environment-on-a ws/blob/main/README_ja.md ● Baseline Environment on AWSの頭文字をとったもの ○ その名の通り、AWSアカウント環境のベースライン(基本的な設定) を整えてくれる

Slide 56

Slide 56 text

BLEAとは 56 ● 「CloudTrail」や「Security Hub」などシステムに依らず必要とされ るセキュリティサービスがCDKテンプレートで提供 ● テンプレートのカスタマイズも簡単 ○ 0から設計しなくて良く、柔軟性が高い ● CDKテンプレートをデプロイするだけでAWSアカウントに反映 ○ 自動化による負担軽減 ○ 各AWSアカウントにテンプレートを適用させることで組織全体の統 制(=ガバナンス)を効かせられるのも良い

Slide 57

Slide 57 text

BLEAとは 57

Slide 58

Slide 58 text

BLEAの全体概要図(スタンドアロン版) 58 引用:https://qiita.com/Ak_ki/items/14b588160c83c8e6559f

Slide 59

Slide 59 text

IAMグループとロール 59 ● システム開発における役割ごとのIAMグループとロールを用意 ○ SysAdmin ○ IAM Admin ○ InstanceOps ○ readOnlyAdmin

Slide 60

Slide 60 text

IAMグループとロール 60 ● 役割に応じた雛形が用意されている ● そのまま利用するというよりは、これをベースにカスタマイズして利用 すると良さそう

Slide 61

Slide 61 text

各種セキュリティサービス 61 システムに依らず必須とされているセキュリティサービス群

Slide 62

Slide 62 text

参考ブログ 62

Slide 63

Slide 63 text

各種セキュリティサービス 63 ● イベント通知例 ○ GuardDuty:重大性がMedium以上 ○ Security Hub:重大性が「CRITICAL」「HIGH」 ○ Health:アカウント固有のイベント ○ CloudTrail:特定のイベント ○ Config:特定の条件下

Slide 64

Slide 64 text

CloudTrail 64 BLEAではS3とCloudWatchに保存する構成

Slide 65

Slide 65 text

CloudTrail 65 ● EventBridgeにて特定イベント時に通知 ○ CloudTrailの設定変更(停止、削除、更新) ○ セキュリティグループの作成、更新、削除イベント ○ ネットワークACLの作成、更新、削除イベント

Slide 66

Slide 66 text

CloudTrail 66 ● CloudWatchにもログを流し、特定イベントにて発報 ○ ルートユーザーによるアクティビティ ○ アクセスキーの作成 ○ 5回以上の不正なアクセス試行 ○ IAMポリシーの変更

Slide 67

Slide 67 text

Config 67 BLEAではS3に保存する構成

Slide 68

Slide 68 text

Config 68 ● 適合パック「AWS Control Tower Detective Guardrails」により特定 のConfigルール集が追加される ● デフォルトセキュリティグループのルールが存在する場合に通知と自動 削除を行うConfigルールも用意されている

Slide 69

Slide 69 text

通知アーキテクチャ 69 SNSとChatbotを通じてEメールやSlackに各種イベントを通知

Slide 70

Slide 70 text

通知アーキテクチャ 70 ● イベント通知例(復習) ○ GuardDuty:重大性がMedium以上 ○ Security Hub:重大性が「CRITICAL」「HIGH」 ○ Health:アカウント固有のイベント ○ CloudTrail:特定のイベント ○ Config:特定の条件下

Slide 71

Slide 71 text

BLEAの他のテンプレートも 簡単に紹介 71

Slide 72

Slide 72 text

Control Tower版テンプレート 72 ● マルチアカウント向けのControl Tower版テンプレートも用意されてい る ● 先ほどまで紹介していたスタンドアロン版とでは、最終的に実現できる セキュリティ機能の差はほとんどない ● GuardDutyなど一部サービスの有効化部分をOrganizaitonsの機能に 寄せているなど、ControlTower用に最適化されている

Slide 73

Slide 73 text

ゲストシステム版テンプレート 73 ● EC2やECS、サーバーレス構成のサンプルアプリケーションテンプレー トも存在しているので、これを元に各システムを作成することが可能 ● 今回のセッションテーマであるAWSアカウント自体のセキュリティレ ベル向上とはテーマが少し異なるので本セッションでは説明を割愛

Slide 74

Slide 74 text

セキュアアカウントの紹介 74

Slide 75

Slide 75 text

セキュアアカウントとは 75 ● クラスメソッドが提供する各種セキュリティサービスを有効化した状態 でAWSアカウントを払い出すサービス ● クラスメソッドメンバーズにご加入の方のみ利用可能

Slide 76

Slide 76 text

セキュアアカウントとは 76 ● BLEAと同じように各種AWSセキュリティサービスを自動で有効化 ○ 各種セキュリティサービスの有効化+通知設定 ○ AWSアカウントの非推奨なデフォルト設定の是正 ● デフォルトVPCの削除 ● S3ブロックパブリックアクセス機能の有効化 ● etc

Slide 77

Slide 77 text

セキュアアカウントとは 77

Slide 78

Slide 78 text

セキュアアカウントの全体概要図 78 引用:https://dev.classmethod.jp/articles/aws-security-operation-bestpractice-on-secure-account/

Slide 79

Slide 79 text

参考ブログ 79

Slide 80

Slide 80 text

BLEAとセキュアアカウント どちらを利⽤するか 80

Slide 81

Slide 81 text

⽬的と意識の整理 81 ● 両者の目的 ○ AWSアカウントのセキュリティレベルの向上 ● BLEAが意識しているところ ○ テンプレートによるクラウド環境に適した組織全体の統制(=ガバナ ンス)を意識しており、カスタマイズを前提としている ● セキュアアカウントが意識しているところ ○ お客様の負担軽減を意識しており、設計や適用についてはクラスメ ソッドが実施

Slide 82

Slide 82 text

⽐較表 82

Slide 83

Slide 83 text

使い分け 83 ● こんな方にBLEAがおすすめ ○ ControlTower環境があったり、スタンドアロンAWSアカウントを 多数所持しており、組織全体の統制を行いたい方 ○ ある程度AWSアカウントに必要なセキュリティ設定を理解してお り、BLEAのカスタマイズや運用体制がある方 ● こんな方にセキュアアカウントがおすすめ ○ 組織全体の統制よりも先に、AWSアカウント単位からセキュリティ 対策を始めていきたい方 ○ 設計や適用の負担軽減を重視したい方

Slide 84

Slide 84 text

まとめ 84

Slide 85

Slide 85 text

まとめ(話したこと) 85 ● 前半パート ○ AWSアカウントに発生しうる脅威例の紹介 ○ AWSセキュリティサービスの紹介 ● 後半パート ○ Baseline Environment on AWS(BLEA)の概要や中身の説明 ○ クラスメソッドが提供する「セキュアアカウント」の概要説明 ○ BLEAとセキュアアカウントの比較

Slide 86

Slide 86 text

86