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
140
雲勉_オンライン_勉強会_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
190
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
180
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
230
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
310
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
150
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
54
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1k
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Lexical Analysis
shigashiyama
1
150
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.1k
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
320
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
160
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
KATA
mclloyd
29
14k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Navigating Team Friction
lara
183
14k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
A Philosophy of Restraint
colly
203
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
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