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
雲勉_オンライン_勉強会_IAMから始めるAWSセキュリティ入門_AWS初心者向け_.pdf
Search
Y.Sumikura
June 24, 2022
Technology
0
150
雲勉_オンライン_勉強会_IAMから始めるAWSセキュリティ入門_AWS初心者向け_.pdf
Y.Sumikura
June 24, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
240
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
150
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
220
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
210
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
320
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
480
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
180
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
63
Other Decks in Technology
See All in Technology
「伝える」を加速させるCursor術
naomix
0
640
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
310
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
400
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
220
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
160
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.1k
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
220
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
220
What's new in OpenShift 4.19
redhatlivestreaming
1
250
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
290
SFTPコンテナからファイルをダウンロードする
dip
0
340
Featured
See All Featured
Designing for Performance
lara
609
69k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Rails Girls Zürich Keynote
gr2m
94
14k
Designing for humans not robots
tammielis
253
25k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
GraphQLとの向き合い方2022年版
quramy
46
14k
Transcript
2022/06/23 〜AWS初⼼者向け〜 雲勉@オンライン【勉強会】 IAMから始めるAWSセキュリティ⼊⾨
0.講師⾃⼰紹介 7 n 倉⽥ 悠⽃ • 所属 CI事業部 MSPセクション 東京第四グループ
グループリーダー • 経歴 2019年 新卒⼊社でiret4年⽣ • ⼀⾔ こういう発表は普段しないので緊張してますが お⼿柔らかにお願いします🙇
アジェンダ 8 0. ⾃⼰紹介 1.IAMとは(19:10~19:25) 2.不正利⽤に関して(19:25~19:35) 3.権限管理で注意する点 (19:35~19:50) 4.質疑応答(19:50~20:00)
1. IAMとは 9
1. IAMとは 10 n そもそもIAMって...? n *EFOUJUZBOE"DDFTT.BOBHFNFOUͷུশ AWS へのアクセスを安全に制御するための仕組み ⇨権限管理をするための機能
1. IAMとは 11 これだけは早いうちに覚えておく IAMの機能は⼤まかに分けて ・ユーザー ・グループ ・ポリシー ・ロール の4つが存在する
1. IAMとは 12 ・ユーザー AWSにログインする際に使⽤する ⼀般的に利⽤者ごとに⼀つ ・グループ 複数のユーザーのアクセス権限を設定することができる ・ポリシー どのリソースにアクセスを許可する
/ 拒否するなどの設定 ポリシーで具体的な権限を調整する ・ロール AWSのサービスに割り当てて使⽤する ユーザーとは別なので注意
1. IAMとは 13 ・ユーザー ・AWSにログインする際に使⽤するユーザー名とパスワード ・ユーザ毎に作成することにより、AWSのリソースへの アクセスできる範囲や使⽤できる範囲を制御できる ˞ը૾ͷΞΧϯτ*%࣮ࡏ͠·ͤΜɻ
1. IAMとは 14 ・ユーザー ・なんでユーザーを作成するのか︖ AWSを利⽤する際にアカウント(root)を同時に発⾏してくれる このrootユーザーはAWSリソース全てに対しての権限を保有おり、悪⽤されると... なので使⽤者に対してユーザを発⾏するのが安全 また、基本的にはrootアカウントはAWSに限らず普段使いするものではない
1. IAMとは 15 ・ユーザー ・プログラムにAWSログイン情報を組み込む際は、 アクセスキーとシークレットアクセスキー(通称AK / SK)を使⽤する ・AK/SKはIAMユーザーに紐づいており、操作できる範囲も同⼀ 使い分けは以下のイメージ
・コンソールログインする際はIDとパスワード ・プログラムでAWSへログインする際はAK/SK
1. IAMとは 16 ・ポリシー ・AWSリソースの操作を制限(許可/拒否)するための規約みたいなもの ポリシーはユーザーや後ほど説明するグループ/ロールに 割り当てることができる
1. IAMとは 17 ・ポリシー 17 ☆AWSの権限許可の原則 ・どのサービス(リソース)に対する ・どのような操作を ・誰に ・許可するか,
許可しないか AさんにはEC2とRDSの権限 BさんにはEC2のみの権限を許可している ユーザーを作成しただけだと権限が何もない状態。 権限の範囲を決めるのがポリシー
1. IAMとは 18 ・グループ ・ユーザーをまとめて管理するために使⽤するもの 1つのグループにまとめることで権限管理をしやすくする ・全員(ユーザー)の権限変更作業が グループの権限変更だけで済む ・新しいユーザーを追加する時に、どの権限を付けるかを 確認する必要が無く、グループに追加するだけで済む
・管理作業の省⼒化や設定漏れの防⽌に繋がる
1. IAMとは 19 ・グループ 19 イメージはこんな感じ
1. IAMとは 20 ・ロール 20 ・ AWSリソース(EC2やLambda等)に対して操作権限を 与えられる ・ロールを使⽤すると、EC2インスタンス上で実⾏するとき(AWSCLIなど) にクレデンシャル情報(IDやパスワード)を置かなくて済む
・クレデンシャルの漏洩リスクを回避できる
1. IAMとは 21 ・ロール 21 簡単に⾔えばこんな感じ ① IAMロールへポリシーを付与する ② IAMロールからSTSへ⼀時アクセスキーを要求する
③ STSからEC2へ⼀時アクセスキーを送信 ④ ⼀時アクセスキーを使⽤し、S3へアクセス
1. IAMとは 22 ・ユーザーとロールの違い 22 AWSのサービスと直接操作することができる。 EC2をデフォルト設定で起動した際は 認証情報がなく、AWS サービスに対して 直接リクエストを送信することはできない。
そのため、ロールを適⽤する必要がある
1. IAMとは 23 ・ユーザー ・ポリシー ・グループ ・ロール を組み合わせると 簡単に管理できる
1. IAMとは(おさらい) 24 ・ユーザー AWSにログインする際に使⽤する ⼀般的に利⽤者ごとに⼀つ ・グループ 複数のユーザーのアクセス権限を設定することができる ・ポリシー どのリソースにアクセスを許可する
/ 拒否するなどの設定 ポリシーで具体的な権限を調整する ・ロール AWSのサービスに割り当てて使⽤する ユーザーとは別なので注意
2.不正利⽤に関して 25
2.不正利⽤に関して 26 n AWSでの不正利⽤はどんなのがあるの? n よくあるのは⾼スペックなサーバー(EC2)を起動し仮想通貨を稼ぐ⼿法 それ以外にもサーバーのデーターを抜き取ったりする事も...
2.不正利⽤に関して 27 n なぜこのような不正利⽤が起きてしまうのか ⇨ソースコード管理のサイトなどにAK/SKを誤ってアップロードし 攻撃者に悪⽤される事が⼤半 個⼈利⽤している場合はIAMの管理ができていな場合が多く、 被害にあう可能性が⾼い 例) プログラムでのAWS認証の際に、rootアカウントを利⽤し、
gitにアップロード 攻撃者がアカウント情報をgitから取得し不正利⽤を⾏う ※どのように対策すればいいのかは「3.権限管理で注意する点」にて解説
2.不正利⽤に関して 28 n どうやって不正利⽤に気づけるようにするか AWSから不正利⽤の可能性を検知したメール(abuse通知)が届く事が⼤半ですが、 以下の機能を使⽤し、事前に対策することを推奨しております ・請求アラートやAWS BudgetsにてAWSの利⽤料⾦を監視する →不正にリソースを⽴ち上げられた際に料⾦が発⽣するため、 予算を超えたら通知が⾶ぶようにする
・Amazon GuardDutyやCloudTrailにて使⽤状況の確認を⾏い、異常を検知する →IAMのログイン情報はCloudTrailに記載されるため、不正アクセスかの判断材料になる ・Trusted Advisorを有効化し、事前にリスクを確認する →セキュリティチェックを実施する事が可能 ※Trusted AdvisorはAWSサポートプランにより利⽤できない可能性があります
2.不正利⽤に関して 29 n Iretではどのように防いでいるのか ・ CloudTrailのログを社内からしかアクセスできないS3へ保存 攻撃者から削除されないように対策 ・rootユーザーからのログインが発⽣した場合に、数⼗秒〜数分で通知をする 社内システムを作成/運⽤ 普段使⽤しないrootユーザーからのログインを迅速に検知
・AWSのログイン時にSSO(シングルサインオン)というセキュアな⽅法で接続 ・AWSのベストプラクティスに沿った構築
3.権限管理で注意する点 30
3.権限管理で注意する点 31 n 不正利⽤されないため/被害を抑えるにはどうすればいいのか ・IAMユーザー/rootユーザーにはMFA(⼆段階認証)を設定する ・複数のIAMユーザーにadmin権限を付与しない ・与える権限は最⼩限に ・ポリシーはAWS管理ポリシーを ・パスワード(認証情報)は定期的に更新を ・使⽤しないユーザーやロールなどは削除する
3.権限管理で注意する点 32 n よくあるミス ・IAMのパスワードを簡易的なものにしている ・S3の権限ミス ・セキュリティグループの設定(SSHのポート全開放など) ・ポリシー設定時のタイプミス
4. 質疑応答 33