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
110
雲勉_オンライン_勉強会_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
140
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
100
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
140
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
120
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
110
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
12
2.9k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
140
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
100
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
40
Other Decks in Technology
See All in Technology
Building a RAG app to chat with your data (on Azure)
pamelafox
0
150
Terraform v1.7のTest mocking機能の紹介 / Introducing the Test mocking feature of Terraform v1.7
yayoi_dd
1
100
Introducing Pkl
enomotok
0
310
KubeCon EU 2024 : Knative Maintainers Session
salaboy
0
380
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
210
やっていきテスト
k6s4i53rx
0
160
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
4
960
20240321_生成AI時代のDevOps
kzkmaeda
2
620
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
7
100k
生成AIの不確実性と向き合うためのオブジェクト指向設計
tkikuchi1002
2
700
生成AIサービスPanorama AIご説明資料
sdt
0
300
私のRSpecの書き方 / How I write RSpec
tmtms
4
840
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
Scaling GitHub
holman
456
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Typedesign – Prime Four
hannesfritz
36
2k
The Invisible Side of Design
smashingmag
293
49k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Thoughts on Productivity
jonyablonski
57
3.8k
In The Pink: A Labor of Love
frogandcode
137
21k
Automating Front-end Workflow
addyosmani
1353
200k
Building Better People: How to give real-time feedback that sticks.
wjessup
350
18k
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