〜AWS初心者向け〜 ベストプラクティスから学ぶ 「AWSセキュリティの高め方」
by
こーへい
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
〜AWS初心者向け〜 ベストプラクティスから学ぶ「AWSセキュリティの高め方」 クラスメソッド株式会社 カスタマーソリューション部 吉川 晃平 2024/05/28 1
Slide 2
Slide 2 text
2 自己紹介 https://dev.classmethod.jp/author/yoshikawa-kohei/ ● 吉川 晃平 ● クラスメソッド株式会社 ● AWS事業本部カスタマーソリューション部 ○ ソリューションアーキテクト ○ 「セキュアアカウント」サービス運用担当 ● この一年で特に関わったAWSサービス ○ AWS Security Hub
Slide 3
Slide 3 text
3 自己紹介 ● 最近嬉しかったこと ○ 琵琶湖一周(200km)達成 ● 最近の興味 ○ ダイエット ■ 出社して歩数稼ぐ ■ お米縛り生活(5月限定) ○ 麻雀 https://dev.classmethod.jp/author/yoshikawa-kohei/
Slide 4
Slide 4 text
4 先制パンチ まずは脅威例を紹介
Slide 5
Slide 5 text
5 脅威例 ● 攻撃の準備 ○ AWSアカウント認証情報の不正利用 ■ アクセスキーやパスワードの流出からの不正ログインやアクセス ● 攻撃目的 ○ コインマイニング ○ DDoS攻撃利用 ○ S3やRDS等からの機密情報の漏洩
Slide 6
Slide 6 text
6 脅威例 ● 攻撃の準備 ○ AWSアカウント認証情報の不正利用 ■ アクセスキーやパスワードの流出からの不正ログインやアクセス ● 攻撃目的 ○ コインマイニング ○ DDoS攻撃利用 ○ 機密情報の漏洩(S3やRDS等) ➢ AWSアカウント内に重要なシステムがなくても脅威になり得るのが特徴 =つまり全てのアカウントにてセキュリティ対策が必要
Slide 7
Slide 7 text
7 脅威例① 不正ログインからの コインマイニング
Slide 8
Slide 8 text
8 不正ログインからのコインマイニング
Slide 9
Slide 9 text
9 不正ログインからのコインマイニング
Slide 10
Slide 10 text
10 不正ログインからのコインマイニング
Slide 11
Slide 11 text
11 想定被害額 ● 想定被害額 ○ 1時間で数百ドル(500$)と仮定した場合 ○ 単純計算で、1日だと$12000、一ヶ月で$360000 ○ ドル円レート150円で計算すると、一ヶ月の被害額は約5400万円
Slide 12
Slide 12 text
12 脅威例② 意図しないS3バケットへのアクセス
Slide 13
Slide 13 text
13 意図しないS3バケットへのアクセス
Slide 14
Slide 14 text
14 意図しないS3バケットへのアクセス
Slide 15
Slide 15 text
15 攻撃者の動きの一例
Slide 16
Slide 16 text
16 脅しを踏まえての問いかけ AWSアカウント開設後何をする?
Slide 17
Slide 17 text
17 その前に AWS Security Hubというサービスについて
Slide 18
Slide 18 text
18 Security Hubとは ● Security Hubとは ○ CSPM(Cloud Security Posture Management)に相当するサービス ○ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェック ■ S3バケットが公開設定になっていないか ■ アクセスログを有効化しているか ■ セキュリティグループにて不要にポート開けていないか ■ GuardDutyが有効化されているか ■ etc
Slide 19
Slide 19 text
19 Security Hubとは ● 自動チェックは各ルール(コントロール)に沿って実施 ● GuardDuty.1は、GuardDutyの有効化を監視するコントロール
Slide 20
Slide 20 text
20 Security Hubとは ● コントロール例 ○ [GuardDuty.1] GuardDuty を有効にする必要があります ○ [Config.1] AWS Config を有効にする必要があります ○ [CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマルチ リージョンの追跡で、読み取りと書き込みの管理イベントを含めた設 定をする必要があります ○ [EC2.7] EBS のデフォルト暗号化を有効にする必要があります ○ [IAM.4] IAM ルートユーザーアクセスキーが存在してはいけません ○ etc
Slide 21
Slide 21 text
21 Security Hubとは ● AWSアカウント内のセキュリティレベルをスコアで表示
Slide 22
Slide 22 text
22 Security Hubとは
Slide 23
Slide 23 text
23 なんでだろう なぜ急にSecurity Hubの紹介を?
Slide 24
Slide 24 text
24 脅しを踏まえての問いかけ AWSアカウント開設後何をする?
Slide 25
Slide 25 text
25 順番に説明します Security Hubの紹介がどう 「AWSアカウント開設後何をする?」 に繋がるのか説明
Slide 26
Slide 26 text
26 Security Hubの表の使い方 ● Security Hubとは(復習) ○ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェックするサービス ○ セキュリティレベルをスコアで表示
Slide 27
Slide 27 text
27 Security Hubの表の使い方 ● Security Hubとは(復習) ○ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェックするサービス ○ セキュリティレベルをスコアで表示 ➢ Security Hubの王道的な表の使い方
Slide 28
Slide 28 text
28 Security Hubの裏の使い方 ● 裏の使い方ではSecurity Hubのドキュメントに注目 ○ ドキュメントには各コントロールの情報が記載
Slide 29
Slide 29 text
29 Security Hubの裏の使い方 ● ドキュメントに記載されているコントロールを参考にAWSアカウントを 設計する ● Security Hubに乗っかった設計をすることで、最初からセキュリティレ ベルの高いAWSアカウントを作り上げることが可能
Slide 30
Slide 30 text
30 Security Hubの裏の使い方 ● ドキュメントに記載されているコントロールを参考にAWSアカウントを 設計する ● Security Hubに乗っかった設計をすることで、最初からセキュリティレ ベルの高いAWSアカウントを作り上げることが可能 ➢ ドキュメント活用に重きを置いた裏の使い方
Slide 31
Slide 31 text
31 結論 Security Hubのコントロールを参考に AWSアカウント開設後すべきことを決める
Slide 32
Slide 32 text
32 ブログ紹介
Slide 33
Slide 33 text
33 最後に少しだけ補足 Security Hubをベースにした設計は参考の立て付けで利用すること ● 各コントロールはそこそこの頻度で追加・廃止される ● 全てのコントロールが対応必須という訳ではない ○ 環境によって対応を変更することがある ○ 代替手段があるため対応が必要ない場合もある ○ etc
Slide 34
Slide 34 text
34 AWSサービスの紹介 AWSサービスの紹介
Slide 35
Slide 35 text
35 AWSで利用すべきサービス ● 必ず利用したい ○ Security Hub ○ GuardDuty(GuardDuty.1) ○ CloudTrail(CloudTrail.1) ○ Config(Config.1) ※()には対応するSecurity Hubコントロールを記載
Slide 36
Slide 36 text
36 GuardDutyとは GuardDutyとは
Slide 37
Slide 37 text
37 GuardDutyとは ● GuardDutyとは ○ アカウント内の各情報(ログ等)を分析し、危険な挙動を検知するサー ビス ● Security Hubとは対になるようなサービス(個人的見解) ○ Security Hub:予防的統制 ■ 危険な設定を監視し、脅威の発生を未然に防ぐ ○ GuardDuty:発見的統制 ■ 発生した脅威をすぐに検知し、被害拡大を防ぐ ○ 参考 ■ https://aws.amazon.com/jp/builders-flash/202302/continu ous-security/
Slide 38
Slide 38 text
38 GuardDutyとは
Slide 39
Slide 39 text
39 GuardDutyとは
Slide 40
Slide 40 text
40 GuardDutyとは
Slide 41
Slide 41 text
41 GuardDutyとは
Slide 42
Slide 42 text
42 先ほどの脅威例の場合 ● VPCフローログを分析しコインマイニング挙動を検知 ● 検出ルール「CryptoCurrency:EC2/BitcoinTool.B」等が検知
Slide 43
Slide 43 text
43 GuardDutyおまけ ● GuardDutyの検知ルールはドキュメントに網羅 ○ https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/gua rdduty_finding-types-active.html ● テスト検知を出す方法もあるので是非やっていただきたい ○ 実際に検知してみることでGuardDutyの理解が進む
Slide 44
Slide 44 text
44 GuardDutyおまけ
Slide 45
Slide 45 text
45 CloudTrailとは CloudTrailとは
Slide 46
Slide 46 text
46 CloudTrailとは ● CloudTrailとは ○ アカウント内の操作(API実行)を記録するサービス ■ EC2インスタンスの起動 ■ アクセスキーを作成 ■ その他AWSサービスに関する操作のほとんど
Slide 47
Slide 47 text
47 CloudTrailとは ● CloudTrailとは ○ アカウント内の操作(API実行)を記録するサービス ■ EC2インスタンスの起動 ■ アクセスキーを作成 ■ その他AWSサービスに関する操作のほとんど AWS内の操作の多くはAPIを通して実行される
Slide 48
Slide 48 text
48 少し質問 CloudTrailはAWSアカウントの 〇〇〇実行を記録する
Slide 49
Slide 49 text
49 答え CloudTrailはAWSアカウントの API実行を記録する
Slide 50
Slide 50 text
50 APIに思いを馳せよう AWSにおけるAPIって?
Slide 51
Slide 51 text
51 AWSにおけるAPIって? AWSにおけるAPIの理解は絶対してほしい
Slide 52
Slide 52 text
52 AWSにおけるAPIって? 普段ユーザーが意識するのは赤枠の部分
Slide 53
Slide 53 text
53 AWSにおけるAPIって?
Slide 54
Slide 54 text
54 AWSにおけるAPIって? ユーザーの操作はマネコンでもCLIの場合でも同じAPIにて実行される
Slide 55
Slide 55 text
55 AWSにおけるAPIって?
Slide 56
Slide 56 text
56 AWSにおけるAPIって? EC2インスタンスを起動をした場合、マネコンやCLI、SDKでも操作手段を 問わず、API「RunInstance」が実行される
Slide 57
Slide 57 text
57 AWSにおけるAPIって? API実行を記録することで、AWSアカウント内でどのような操作を行ったの か確認できる
Slide 58
Slide 58 text
58 復習 CloudTrailはAWSアカウントの API実行を記録する
Slide 59
Slide 59 text
59 CloudTrailのまとめ ● CloudTrailはどういう時に役立つのか ○ 脅威が発生した際に攻撃者がどのような操作を行なったかの調査 ○ 意図しないリソースの作成や削除の調査 ○ etc
Slide 60
Slide 60 text
60 Configとは Configとは
Slide 61
Slide 61 text
61 Configとは 各種AWSリソースの情報を取得するサービス
Slide 62
Slide 62 text
62 Configとは Configが取得した情報をタイムラインにて確認することが可能
Slide 63
Slide 63 text
63 Config使用状況の例 ● どういう時に役に立つのか ○ セキュリティ監査 ○ トラブルシューティング ○ 変更管理 ○ コスト管理 ○ リソース最適化 ○ etc ● 特定時点におけるAWSのパラメータを確認したい場合に使用する ■ その際どのようなAPIが実行されたのかもCloudTrailで確認するこ とが多い
Slide 64
Slide 64 text
64 参考ブログ
Slide 65
Slide 65 text
65 その他サービス その他サービス
Slide 66
Slide 66 text
66 IAM Access Analyzer ● IAM Access Analyzerとは ○ IAMを始めS3やLambdaなど外部のリソースからアクセスできる設定 になっているものを検知してくれるサービス ○ リージョナルサービス ○ 無料
Slide 67
Slide 67 text
67 Detective ● Detectiveとは ○ セキュリティインシデントが発生した際に調査をするためのサービス ○ ログを集約して相関分析と可視化を提供 ○ 料金要素はGuardDutyと似ているが、GuardDutyより料金は高め
Slide 68
Slide 68 text
68 通知機能の実装 ● 目的 ○ Security HubやGuardDuty、IAM Access Analyzerの検知を素早く 気づけるようにするため ● 説明 ○ 目的で挙げたセキュリティサービスは検知を上げてもAWSでしか確 認できず、ユーザーがリアルタイムに気づくためにはメール等で通知 する仕組みが別途必要 ● 関連サービス ○ EventBridge ○ Step Functions ○ SNS
Slide 69
Slide 69 text
69 通知機能の実装
Slide 70
Slide 70 text
70 AWSで設定すべき項目の紹介 AWSで設定すべき項目の紹介
Slide 71
Slide 71 text
71 AWSで設定すべき項目 ● IAM Userのパスワードポリシー強化(IAM.7) ● デフォルトVPCの削除(EC2.2) ● EBSのデフォルト暗号化(EC2.3,EC2.7) ● S3バケットのパブリックアクセスのブロック(S3.1等) ● AMIやEBSのパブリックアクセスのブロック ※()には対応するSecurity Hubコントロールを記載
Slide 72
Slide 72 text
72 IAM Userのパスワードポリシー強化 IAM Userのパスワードポリシー強化
Slide 73
Slide 73 text
73 IAM Userのパスワードポリシー強化 AWSアカウントへのログイン時に必要なパスワードポリシーを強化する
Slide 74
Slide 74 text
74 IAM Userのパスワードポリシー強化
Slide 75
Slide 75 text
75 デフォルトVPCの削除 デフォルトVPCの削除
Slide 76
Slide 76 text
76 デフォルトVPCの削除 ● デフォルトVPCとは ○ AWSアカウントは、発行時点で各リージョンに1つずつデフォルト VPCが存在している ○ デフォルトVPCを使用するメリットは薄く、むしろ意図しない設定に より、リソースを公開してしまう可能性がある非推奨 ○ 1からシステム用のVPCを設計して構築するのがベストプラクティス
Slide 77
Slide 77 text
77 EBSのデフォルト暗号化 EBSのデフォルト暗号化
Slide 78
Slide 78 text
EC2 > EC2ダッシュボード > アカウントの属性から設定 78 EBSのデフォルト暗号化
Slide 79
Slide 79 text
79 EBSのデフォルト暗号化 ● 目的 ○ AWSのデータセンターからストレージが万が一盗まれたり、データ センターに侵入して直接サーバにログインされた場合に、不正利用さ れないため ● 対応後 ○ EC2インスタンスの作成等でEBSボリュームが作成される時、デフォ ルトで暗号化が実施 ● 参考 ○ https://qiita.com/shun0157/items/84e16035f9199ee36480
Slide 80
Slide 80 text
80 S3のパブリックアクセスのブロック化 S3のパブリックアクセスのブロック化
Slide 81
Slide 81 text
S3 > このアカウントのブロックパブリックアクセス設定から設定 81 S3のパブリックアクセスのブロック化
Slide 82
Slide 82 text
82 S3のパブリックアクセスのブロック化 ● 目的 ○ 意図しない設定により、S3バケットの公開を防ぐ ● 対応後 ○ アカウントレベルにて誤ったパブリック公開を防げる
Slide 83
Slide 83 text
83 AMIやEBSのパブリックアクセスのブロック AMIやEBSのパブリックアクセスのブロック
Slide 84
Slide 84 text
EC2 > EC2ダッシュボード > アカウントの属性から設定 84 AMIやEBSのパブリックアクセスのブロック
Slide 85
Slide 85 text
85 AMIやEBSのパブリックアクセスのブロック ● 目的 ○ 意図しないAMIやEBSのパブリックアクセスを防止し、情報漏洩を防 ぐ ● 対応後 ○ 誤ったイメージ公開を防止できる ● 参考ブログ ○ https://dev.classmethod.jp/articles/block-public-sharing-of-a mazon-ebs-snapshots/ ○ https://dev.classmethod.jp/articles/ec2-block-public-ami/
Slide 86
Slide 86 text
86 お疲れ様でした 代表的なサービスや設定の紹介は以上
Slide 87
Slide 87 text
87 やるべきことわかってきた 設計方針見えてきた!
Slide 88
Slide 88 text
88 AWSで利用すべきサービス(再掲) ● 必ず利用したい ○ Security Hub ○ GuardDuty(GuardDuty.1) ○ CloudTrail(CloudTrail.1) ○ Config(Config.1) ※()には対応するSecurity Hubコントロールを記載
Slide 89
Slide 89 text
89 AWSで設定すべき項目 ● IAM Userのパスワードポリシー強化(IAM.7) ● デフォルトVPCの削除(EC2.2) ● EBSのデフォルト暗号化(EC2.3,EC2.7) ● S3バケットのパブリックアクセスのブロック(S3.1等) ● AMIやEBSのパブリックアクセスのブロック ※()には対応するSecurity Hubコントロールを記載
Slide 90
Slide 90 text
90 設計方針は分かったが、、、 ここがまだ辛い
Slide 91
Slide 91 text
91 ここがまだ辛い ● 詳細設計と実装が辛い ● 発生したインシデントの対応が辛い ● 総合的なAWSセキュリティレベルが分からなくて辛い ● 組織におけるAWSの利用方法を統一できなくて辛い
Slide 92
Slide 92 text
92 サービス紹介1 セキュアアカウントの紹介
Slide 93
Slide 93 text
93 セキュアアカウントの紹介 ● 詳細設計と実装が辛い ○ 詳細設計を考えるのが大変 ○ AWSアカウントへの実装が大変(複数リージョンやアカウント)
Slide 94
Slide 94 text
94 セキュアアカウントの紹介 ● セキュアアカウントとは ○ セキュアな設定を自動的に実装するサービス ○ 今回のセミナーで解説した設定の大部分をカバー ○ サービスを有効化するだけで完了 ➢ 設計と実装の手間を省略できる
Slide 95
Slide 95 text
95 セキュアアカウントの構成イメージ
Slide 96
Slide 96 text
96 参考ブログ1
Slide 97
Slide 97 text
97 参考ブログ2
Slide 98
Slide 98 text
98 サービス紹介2 インシデント自動調査の紹介
Slide 99
Slide 99 text
99 インシデント自動調査とは ● 発生したインシデントの対応が辛い ○ GuardDutyでイベント検知したがどう対応したらいいか分からない ○ ユーザーのよくある困りごと ■ 何が起きているのか分からない ■ すぐ対処が必要なのか? ■ どう対応すればいい? ■ 影響がどれくらい? ■ 誰に頼れば良い?
Slide 100
Slide 100 text
100 インシデント自動調査とは ● インシデント自動調査とは ○ GuardDutyで検知したイベントに対する総合的なユーザーへのサ ポート提供サービス ○ 下記をメインとした機能をシームレスに提供 ■ ユーザーに代わり自動で調査 ■ イベント内容の直感的な理解の提示 ■ 優先度と確認ポイントの明示 ■ 検知イベントに対して有人サポートの提供 ■ etc ➢ シームレスなサポートにより早期対応が可能。 ➢ 早期対応が、被害の拡大防止に繋がる
Slide 101
Slide 101 text
101 インシデント自動調査の構成イメージ
Slide 102
Slide 102 text
102 インシデント自動調査の通知例
Slide 103
Slide 103 text
103 最近のアップデート
Slide 104
Slide 104 text
104 サービス紹介3 セキュリティ成熟度モデルの紹介
Slide 105
Slide 105 text
105 セキュリティ成熟度モデルとは ● 総合的なAWSセキュリティレベルが分からなくて辛い ○ 「AWSのセキュリティ対策ちゃんとやってる?」の問いに悩む ■ 全体的なセキュリティ項目とそれぞれの達成度を洗い出せてない
Slide 106
Slide 106 text
106 セキュリティ成熟度モデルとは ● セキュリティ成熟度モデルとは ○ AWSのセキュリティ対策の達成度を定量的に表現するフレームワー ク ○ 「インフラ保護」や「アプリケーションセキュリティ」等、各項目毎 に達成度を表現できる ○ セキュリティレベル(達成度)が低い項目を洗い出すことで、適切なセ キュリティアプローチが可能となる
Slide 107
Slide 107 text
107 セキュリティ成熟度モデルとは
Slide 108
Slide 108 text
108 参考ブログ
Slide 109
Slide 109 text
109 サービス紹介4 Classmethod Cloud Guidebook (CCG)の紹介
Slide 110
Slide 110 text
110 CCGとは ● 組織におけるAWSの利用方法を統一できなくて辛い ○ AWSの利用ガイドラインがないと組織におけるAWSの利用方法を統 一できない ■ ユーザー管理方法 ■ セキュリティ対策 ■ コスト管理 ■ 運用方法 ■ etc
Slide 111
Slide 111 text
111 CCGとは ● CCGとは ○ 組織におけるAWSの利用方法を統一するためのサンプルガイドライ ンを提供することで、ガイドラインを一から作成する手間が省ける ○ 他にもマルチアカウント管理やAWS Security Hubのコントロール等 のナレッジを体系的に見ることが可能
Slide 112
Slide 112 text
112 参考ブログ
Slide 113
Slide 113 text
113 終わりだよ 最後に
Slide 114
Slide 114 text
114 まとめ(話したこと) ● セキュリティの重要性を実感してもらうため脅威の具体例の紹介 ● Security Hubの紹介 ○ 表と裏の使い方 ○ コントロールをベースとしたアカウント設計について ● セキュリティレベル向上のために利用したいサービスや設定の解説 ● 利用したいサービスや設定を理解した上で残っているツラミの紹介 ● サービスやソリューションの紹介
Slide 115
Slide 115 text
115 その他紹介 ● セキュリティの柱 - AWS Well-Architected Framework ○ AWSセキュリティを意識する全エンジニア必読
Slide 116
Slide 116 text
116