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
210
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
190
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
180
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
270
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
390
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
160
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
58
Other Decks in Technology
See All in Technology
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
450
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
1.5k
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.5k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
5.8k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
550
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
Ask! NIKKEI RAG検索技術の深層
hotchpotch
13
2.8k
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
120
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
2.5Dモデルのすべて
yu4u
2
610
Building Products in the LLM Era
ymatsuwitter
10
4.4k
Featured
See All Featured
RailsConf 2023
tenderlove
29
1k
GitHub's CSS Performance
jonrohan
1030
460k
Building Your Own Lightsaber
phodgson
104
6.2k
Site-Speed That Sticks
csswizardry
3
370
Building an army of robots
kneath
302
45k
What's in a price? How to price your products and services
michaelherold
244
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Agile that works and the tools we love
rasmusluckow
328
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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