Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
〜AWS初心者向け〜 ベストプラクティスから学ぶ 「AWSセキュリティの高め方」
Search
こーへい
June 03, 2024
Education
1
1.1k
〜AWS初心者向け〜 ベストプラクティスから学ぶ 「AWSセキュリティの高め方」
こーへい
June 03, 2024
Tweet
Share
More Decks by こーへい
See All by こーへい
コンテナセキュリティ入門ウェビナー ~ECS on Fargate構成に必要なセキュリティ対策を知ろう~
koheiyoshikawa
0
970
AWSアカウントセキュリティ(セキュアアカウント) 入門セミナー ~面倒な設定はクラスメソッドにお任せ!~
koheiyoshikawa
0
3.7k
ECSの仕組み解説~ECSをチャーハンセットに例えてみた~ #devio2023
koheiyoshikawa
0
3.5k
Other Decks in Education
See All in Education
The Task is not the End: The Role of Task Repetition and Sequencing In Language Teaching
uranoken
0
220
20241002_Copilotって何?+Power_AutomateのCopilot
ponponmikankan
1
190
Canva
matleenalaakso
0
470
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
850
1127
cbtlibrary
0
170
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
Comezando coas redes
irocho
0
400
Ch2_-_Partie_1.pdf
bernhardsvt
0
120
【COPILOT無料セミナー】エンゲージメントと自律性の高いプロジェクト型人材育成に向けて~プロジェクト・ベースド・ラーニング(PBL)という選択肢~
copilot
PRO
0
190
Казармы и гарнизоны
pnuslide
0
140
Flinga
matleenalaakso
2
13k
寺沢拓敬 2024. 09. 「言語政策研究と教育政策研究の狭間で英語教育政策を考える」
terasawat
0
220
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Documentation Writing (for coders)
carmenintech
66
4.5k
Producing Creativity
orderedlist
PRO
341
39k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Transcript
〜AWS初心者向け〜 ベストプラクティスから学ぶ「AWSセキュリティの高め方」 クラスメソッド株式会社 カスタマーソリューション部 吉川 晃平 2024/05/28
1
2 自己紹介 https://dev.classmethod.jp/author/yoshikawa-kohei/ • 吉川 晃平 • クラスメソッド株式会社 • AWS事業本部カスタマーソリューション部
◦ ソリューションアーキテクト ◦ 「セキュアアカウント」サービス運用担当 • この一年で特に関わったAWSサービス ◦ AWS Security Hub
3 自己紹介 • 最近嬉しかったこと ◦ 琵琶湖一周(200km)達成 • 最近の興味 ◦ ダイエット
▪ 出社して歩数稼ぐ ▪ お米縛り生活(5月限定) ◦ 麻雀 https://dev.classmethod.jp/author/yoshikawa-kohei/
4 先制パンチ まずは脅威例を紹介
5 脅威例 • 攻撃の準備 ◦ AWSアカウント認証情報の不正利用 ▪ アクセスキーやパスワードの流出からの不正ログインやアクセス • 攻撃目的
◦ コインマイニング ◦ DDoS攻撃利用 ◦ S3やRDS等からの機密情報の漏洩
6 脅威例 • 攻撃の準備 ◦ AWSアカウント認証情報の不正利用 ▪ アクセスキーやパスワードの流出からの不正ログインやアクセス • 攻撃目的
◦ コインマイニング ◦ DDoS攻撃利用 ◦ 機密情報の漏洩(S3やRDS等) ➢ AWSアカウント内に重要なシステムがなくても脅威になり得るのが特徴 =つまり全てのアカウントにてセキュリティ対策が必要
7 脅威例① 不正ログインからの コインマイニング
8 不正ログインからのコインマイニング
9 不正ログインからのコインマイニング
10 不正ログインからのコインマイニング
11 想定被害額 • 想定被害額 ◦ 1時間で数百ドル(500$)と仮定した場合 ◦ 単純計算で、1日だと$12000、一ヶ月で$360000 ◦ ドル円レート150円で計算すると、一ヶ月の被害額は約5400万円
12 脅威例② 意図しないS3バケットへのアクセス
13 意図しないS3バケットへのアクセス
14 意図しないS3バケットへのアクセス
15 攻撃者の動きの一例
16 脅しを踏まえての問いかけ AWSアカウント開設後何をする?
17 その前に AWS Security Hubというサービスについて
18 Security Hubとは • Security Hubとは ◦ CSPM(Cloud Security Posture
Management)に相当するサービス ◦ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェック ▪ S3バケットが公開設定になっていないか ▪ アクセスログを有効化しているか ▪ セキュリティグループにて不要にポート開けていないか ▪ GuardDutyが有効化されているか ▪ etc
19 Security Hubとは • 自動チェックは各ルール(コントロール)に沿って実施 • GuardDuty.1は、GuardDutyの有効化を監視するコントロール
20 Security Hubとは • コントロール例 ◦ [GuardDuty.1] GuardDuty を有効にする必要があります ◦
[Config.1] AWS Config を有効にする必要があります ◦ [CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマルチ リージョンの追跡で、読み取りと書き込みの管理イベントを含めた設 定をする必要があります ◦ [EC2.7] EBS のデフォルト暗号化を有効にする必要があります ◦ [IAM.4] IAM ルートユーザーアクセスキーが存在してはいけません ◦ etc
21 Security Hubとは • AWSアカウント内のセキュリティレベルをスコアで表示
22 Security Hubとは
23 なんでだろう なぜ急にSecurity Hubの紹介を?
24 脅しを踏まえての問いかけ AWSアカウント開設後何をする?
25 順番に説明します Security Hubの紹介がどう 「AWSアカウント開設後何をする?」 に繋がるのか説明
26 Security Hubの表の使い方 • Security Hubとは(復習) ◦ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェックするサービス ◦
セキュリティレベルをスコアで表示
27 Security Hubの表の使い方 • Security Hubとは(復習) ◦ 「AWSリソースのセキュリティ設定がベストプラクティスから逸脱 していないか」を自動でチェックするサービス ◦
セキュリティレベルをスコアで表示 ➢ Security Hubの王道的な表の使い方
28 Security Hubの裏の使い方 • 裏の使い方ではSecurity Hubのドキュメントに注目 ◦ ドキュメントには各コントロールの情報が記載
29 Security Hubの裏の使い方 • ドキュメントに記載されているコントロールを参考にAWSアカウントを 設計する • Security Hubに乗っかった設計をすることで、最初からセキュリティレ ベルの高いAWSアカウントを作り上げることが可能
30 Security Hubの裏の使い方 • ドキュメントに記載されているコントロールを参考にAWSアカウントを 設計する • Security Hubに乗っかった設計をすることで、最初からセキュリティレ ベルの高いAWSアカウントを作り上げることが可能
➢ ドキュメント活用に重きを置いた裏の使い方
31 結論 Security Hubのコントロールを参考に AWSアカウント開設後すべきことを決める
32 ブログ紹介
33 最後に少しだけ補足 Security Hubをベースにした設計は参考の立て付けで利用すること • 各コントロールはそこそこの頻度で追加・廃止される • 全てのコントロールが対応必須という訳ではない ◦ 環境によって対応を変更することがある
◦ 代替手段があるため対応が必要ない場合もある ◦ etc
34 AWSサービスの紹介 AWSサービスの紹介
35 AWSで利用すべきサービス • 必ず利用したい ◦ Security Hub ◦ GuardDuty(GuardDuty.1) ◦
CloudTrail(CloudTrail.1) ◦ Config(Config.1) ※()には対応するSecurity Hubコントロールを記載
36 GuardDutyとは GuardDutyとは
37 GuardDutyとは • GuardDutyとは ◦ アカウント内の各情報(ログ等)を分析し、危険な挙動を検知するサー ビス • Security Hubとは対になるようなサービス(個人的見解)
◦ Security Hub:予防的統制 ▪ 危険な設定を監視し、脅威の発生を未然に防ぐ ◦ GuardDuty:発見的統制 ▪ 発生した脅威をすぐに検知し、被害拡大を防ぐ ◦ 参考 ▪ https://aws.amazon.com/jp/builders-flash/202302/continu ous-security/
38 GuardDutyとは
39 GuardDutyとは
40 GuardDutyとは
41 GuardDutyとは
42 先ほどの脅威例の場合 • VPCフローログを分析しコインマイニング挙動を検知 • 検出ルール「CryptoCurrency:EC2/BitcoinTool.B」等が検知
43 GuardDutyおまけ • GuardDutyの検知ルールはドキュメントに網羅 ◦ https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/gua rdduty_finding-types-active.html • テスト検知を出す方法もあるので是非やっていただきたい ◦
実際に検知してみることでGuardDutyの理解が進む
44 GuardDutyおまけ
45 CloudTrailとは CloudTrailとは
46 CloudTrailとは • CloudTrailとは ◦ アカウント内の操作(API実行)を記録するサービス ▪ EC2インスタンスの起動 ▪ アクセスキーを作成
▪ その他AWSサービスに関する操作のほとんど
47 CloudTrailとは • CloudTrailとは ◦ アカウント内の操作(API実行)を記録するサービス ▪ EC2インスタンスの起動 ▪ アクセスキーを作成
▪ その他AWSサービスに関する操作のほとんど AWS内の操作の多くはAPIを通して実行される
48 少し質問 CloudTrailはAWSアカウントの 〇〇〇実行を記録する
49 答え CloudTrailはAWSアカウントの API実行を記録する
50 APIに思いを馳せよう AWSにおけるAPIって?
51 AWSにおけるAPIって? AWSにおけるAPIの理解は絶対してほしい
52 AWSにおけるAPIって? 普段ユーザーが意識するのは赤枠の部分
53 AWSにおけるAPIって?
54 AWSにおけるAPIって? ユーザーの操作はマネコンでもCLIの場合でも同じAPIにて実行される
55 AWSにおけるAPIって?
56 AWSにおけるAPIって? EC2インスタンスを起動をした場合、マネコンやCLI、SDKでも操作手段を 問わず、API「RunInstance」が実行される
57 AWSにおけるAPIって? API実行を記録することで、AWSアカウント内でどのような操作を行ったの か確認できる
58 復習 CloudTrailはAWSアカウントの API実行を記録する
59 CloudTrailのまとめ • CloudTrailはどういう時に役立つのか ◦ 脅威が発生した際に攻撃者がどのような操作を行なったかの調査 ◦ 意図しないリソースの作成や削除の調査 ◦ etc
60 Configとは Configとは
61 Configとは 各種AWSリソースの情報を取得するサービス
62 Configとは Configが取得した情報をタイムラインにて確認することが可能
63 Config使用状況の例 • どういう時に役に立つのか ◦ セキュリティ監査 ◦ トラブルシューティング ◦ 変更管理
◦ コスト管理 ◦ リソース最適化 ◦ etc • 特定時点におけるAWSのパラメータを確認したい場合に使用する ▪ その際どのようなAPIが実行されたのかもCloudTrailで確認するこ とが多い
64 参考ブログ
65 その他サービス その他サービス
66 IAM Access Analyzer • IAM Access Analyzerとは ◦ IAMを始めS3やLambdaなど外部のリソースからアクセスできる設定
になっているものを検知してくれるサービス ◦ リージョナルサービス ◦ 無料
67 Detective • Detectiveとは ◦ セキュリティインシデントが発生した際に調査をするためのサービス ◦ ログを集約して相関分析と可視化を提供 ◦ 料金要素はGuardDutyと似ているが、GuardDutyより料金は高め
68 通知機能の実装 • 目的 ◦ Security HubやGuardDuty、IAM Access Analyzerの検知を素早く 気づけるようにするため
• 説明 ◦ 目的で挙げたセキュリティサービスは検知を上げてもAWSでしか確 認できず、ユーザーがリアルタイムに気づくためにはメール等で通知 する仕組みが別途必要 • 関連サービス ◦ EventBridge ◦ Step Functions ◦ SNS
69 通知機能の実装
70 AWSで設定すべき項目の紹介 AWSで設定すべき項目の紹介
71 AWSで設定すべき項目 • IAM Userのパスワードポリシー強化(IAM.7) • デフォルトVPCの削除(EC2.2) • EBSのデフォルト暗号化(EC2.3,EC2.7) •
S3バケットのパブリックアクセスのブロック(S3.1等) • AMIやEBSのパブリックアクセスのブロック ※()には対応するSecurity Hubコントロールを記載
72 IAM Userのパスワードポリシー強化 IAM Userのパスワードポリシー強化
73 IAM Userのパスワードポリシー強化 AWSアカウントへのログイン時に必要なパスワードポリシーを強化する
74 IAM Userのパスワードポリシー強化
75 デフォルトVPCの削除 デフォルトVPCの削除
76 デフォルトVPCの削除 • デフォルトVPCとは ◦ AWSアカウントは、発行時点で各リージョンに1つずつデフォルト VPCが存在している ◦ デフォルトVPCを使用するメリットは薄く、むしろ意図しない設定に より、リソースを公開してしまう可能性がある非推奨
◦ 1からシステム用のVPCを設計して構築するのがベストプラクティス
77 EBSのデフォルト暗号化 EBSのデフォルト暗号化
EC2 > EC2ダッシュボード > アカウントの属性から設定 78 EBSのデフォルト暗号化
79 EBSのデフォルト暗号化 • 目的 ◦ AWSのデータセンターからストレージが万が一盗まれたり、データ センターに侵入して直接サーバにログインされた場合に、不正利用さ れないため • 対応後
◦ EC2インスタンスの作成等でEBSボリュームが作成される時、デフォ ルトで暗号化が実施 • 参考 ◦ https://qiita.com/shun0157/items/84e16035f9199ee36480
80 S3のパブリックアクセスのブロック化 S3のパブリックアクセスのブロック化
S3 > このアカウントのブロックパブリックアクセス設定から設定 81 S3のパブリックアクセスのブロック化
82 S3のパブリックアクセスのブロック化 • 目的 ◦ 意図しない設定により、S3バケットの公開を防ぐ • 対応後 ◦ アカウントレベルにて誤ったパブリック公開を防げる
83 AMIやEBSのパブリックアクセスのブロック AMIやEBSのパブリックアクセスのブロック
EC2 > EC2ダッシュボード > アカウントの属性から設定 84 AMIやEBSのパブリックアクセスのブロック
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/
86 お疲れ様でした 代表的なサービスや設定の紹介は以上
87 やるべきことわかってきた 設計方針見えてきた!
88 AWSで利用すべきサービス(再掲) • 必ず利用したい ◦ Security Hub ◦ GuardDuty(GuardDuty.1) ◦
CloudTrail(CloudTrail.1) ◦ Config(Config.1) ※()には対応するSecurity Hubコントロールを記載
89 AWSで設定すべき項目 • IAM Userのパスワードポリシー強化(IAM.7) • デフォルトVPCの削除(EC2.2) • EBSのデフォルト暗号化(EC2.3,EC2.7) •
S3バケットのパブリックアクセスのブロック(S3.1等) • AMIやEBSのパブリックアクセスのブロック ※()には対応するSecurity Hubコントロールを記載
90 設計方針は分かったが、、、 ここがまだ辛い
91 ここがまだ辛い • 詳細設計と実装が辛い • 発生したインシデントの対応が辛い • 総合的なAWSセキュリティレベルが分からなくて辛い • 組織におけるAWSの利用方法を統一できなくて辛い
92 サービス紹介1 セキュアアカウントの紹介
93 セキュアアカウントの紹介 • 詳細設計と実装が辛い ◦ 詳細設計を考えるのが大変 ◦ AWSアカウントへの実装が大変(複数リージョンやアカウント)
94 セキュアアカウントの紹介 • セキュアアカウントとは ◦ セキュアな設定を自動的に実装するサービス ◦ 今回のセミナーで解説した設定の大部分をカバー ◦ サービスを有効化するだけで完了
➢ 設計と実装の手間を省略できる
95 セキュアアカウントの構成イメージ
96 参考ブログ1
97 参考ブログ2
98 サービス紹介2 インシデント自動調査の紹介
99 インシデント自動調査とは • 発生したインシデントの対応が辛い ◦ GuardDutyでイベント検知したがどう対応したらいいか分からない ◦ ユーザーのよくある困りごと ▪ 何が起きているのか分からない
▪ すぐ対処が必要なのか? ▪ どう対応すればいい? ▪ 影響がどれくらい? ▪ 誰に頼れば良い?
100 インシデント自動調査とは • インシデント自動調査とは ◦ GuardDutyで検知したイベントに対する総合的なユーザーへのサ ポート提供サービス ◦ 下記をメインとした機能をシームレスに提供 ▪
ユーザーに代わり自動で調査 ▪ イベント内容の直感的な理解の提示 ▪ 優先度と確認ポイントの明示 ▪ 検知イベントに対して有人サポートの提供 ▪ etc ➢ シームレスなサポートにより早期対応が可能。 ➢ 早期対応が、被害の拡大防止に繋がる
101 インシデント自動調査の構成イメージ
102 インシデント自動調査の通知例
103 最近のアップデート
104 サービス紹介3 セキュリティ成熟度モデルの紹介
105 セキュリティ成熟度モデルとは • 総合的なAWSセキュリティレベルが分からなくて辛い ◦ 「AWSのセキュリティ対策ちゃんとやってる?」の問いに悩む ▪ 全体的なセキュリティ項目とそれぞれの達成度を洗い出せてない
106 セキュリティ成熟度モデルとは • セキュリティ成熟度モデルとは ◦ AWSのセキュリティ対策の達成度を定量的に表現するフレームワー ク ◦ 「インフラ保護」や「アプリケーションセキュリティ」等、各項目毎 に達成度を表現できる
◦ セキュリティレベル(達成度)が低い項目を洗い出すことで、適切なセ キュリティアプローチが可能となる
107 セキュリティ成熟度モデルとは
108 参考ブログ
109 サービス紹介4 Classmethod Cloud Guidebook (CCG)の紹介
110 CCGとは • 組織におけるAWSの利用方法を統一できなくて辛い ◦ AWSの利用ガイドラインがないと組織におけるAWSの利用方法を統 一できない ▪ ユーザー管理方法 ▪
セキュリティ対策 ▪ コスト管理 ▪ 運用方法 ▪ etc
111 CCGとは • CCGとは ◦ 組織におけるAWSの利用方法を統一するためのサンプルガイドライ ンを提供することで、ガイドラインを一から作成する手間が省ける ◦ 他にもマルチアカウント管理やAWS Security
Hubのコントロール等 のナレッジを体系的に見ることが可能
112 参考ブログ
113 終わりだよ 最後に
114 まとめ(話したこと) • セキュリティの重要性を実感してもらうため脅威の具体例の紹介 • Security Hubの紹介 ◦ 表と裏の使い方 ◦
コントロールをベースとしたアカウント設計について • セキュリティレベル向上のために利用したいサービスや設定の解説 • 利用したいサービスや設定を理解した上で残っているツラミの紹介 • サービスやソリューションの紹介
115 その他紹介 • セキュリティの柱 - AWS Well-Architected Framework ◦ AWSセキュリティを意識する全エンジニア必読
116