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
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
210
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
1.5k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
880
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
100
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
For a Future-Friendly Web
brad_frost
176
9.5k
Practical Orchestrator
shlominoach
186
10k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
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