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
ここからはじめるAWSセキュリティ
Search
阿部洸樹
July 04, 2017
Technology
1
1.5k
ここからはじめるAWSセキュリティ
Developers.IO 2017セッション
#cmdevio2017
阿部洸樹
July 04, 2017
Tweet
Share
More Decks by 阿部洸樹
See All by 阿部洸樹
クラスメソッドの新卒向け会社説明会(エンジニア)
abeika
0
1.1k
20190425
abeika
0
710
ここからはじめるAWSセキュリティ -Developers.IO 2017 WORLD in 名古屋-
abeika
1
230
Other Decks in Technology
See All in Technology
Janus
bkuhlmann
1
490
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
170
社内勉強会運営のコツ
senoo
6
1.1k
エンタープライズ環境下での Active Directory の運用 TIPS
tamaiyutaro
1
1.6k
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
2.5k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
120
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
330
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
220
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
Oracle Cloud Infrastructure:2024年4月度サービス・アップデート
oracle4engineer
PRO
1
110
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
1
200
Featured
See All Featured
It's Worth the Effort
3n
180
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
115
18k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
Adopting Sorbet at Scale
ufuk
67
8.6k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
A better future with KSS
kneath
231
16k
How STYLIGHT went responsive
nonsquared
92
4.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
Transcript
͔͜͜Β͡ΊΔ"84ηΩϡϦςΟ Ѩ෦ᔨथ
εϥΠυͱϨϙʔτޙ Developers.IOʹͯެ։͠·͢ Attention
ࣗݾհ Ϋϥεϝιουגࣜձࣾ "84ࣄۀ෦ Ѩ෦ᔨथʢ!"CFJLBʣ "84ࢿ֨ף
ຊηογϣϯͷΰʔϧ ᶃηΩϡϦςΟରࡦ͕େͳཧ༝Λཧղ͢Δ ᶄ"84ͷηΩϡϦςΟʹؔ͢ΔΞΫγϣϯ͕Θ͔Δ
ΞδΣϯμ wใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
ใηΩϡϦςΟͱ ̏େཁ݅ɺ̏ཁૉͱݺΕΔ ػີੑʢ$POpEFOUJBMJUZʣ શੑʢ*OUFHSJUZʣ Մ༻ੑʢ"WBJMBCJMJUZʣ ༷ʑͳڴҖ͔Βɺใࢿ࢈Λ ػີੑɺશੑɺՄ༻ੑͷ֬อΛߦ͍ͭͭɺ ਖ਼ৗʹҡ࣋͢Δ͜ͱ
ػີੑ ใࢿ࢈Λਖ਼ͳݖརΛ࣋ͬͨਓ͚͕ͩ ༻Ͱ͖Δঢ়ଶʹ͓ͯ͘͜͠ͱ
ػີੑ͕ଛͳΘΕͨঢ়ଶ څ༩ใ Ӧۀσʔλ ਓࣄ෦ Ӧۀ෦
ػີੑ͕ଛͳΘΕͨঢ়ଶ څ༩ใ Ӧۀσʔλ ਓࣄ෦ Ӧۀ෦ ϑΝΠϧαʔόઃఆͷޡΓ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ഇغґཔ ۀऀ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ഇغґཔ ୈࡾऀͷԣྲྀ͠ ۀऀ
શੑ ใࢿ࢈͕ਖ਼ͳݖརΛ࣋ͨͳ͍ਓʹΑΓมߋ͞Ε ͍ͯͳ͍͜ͱΛ࣮֬ʹ͓ͯ͘͜͠ͱ
શੑ͕ଛͳΘΕͨঢ়ଶ ̋̋ͷϗʔϜϖʔδ 8FCվ͟Μ ίϯςϯπվ͟Μ ϚϧΣΞ
Մ༻ੑ ใࢿ࢈Λඞཁͳͱ͖ʹ༻Ͱ͖Δ͜ͱ
Մ༻ੑ͕ଛͳΘΕͨঢ়ଶ ̋̋ͷϗʔϜϖʔδ %%P4߈ܸ ਖ਼ͳϢʔβʔ Ϙοτωοτ
ΞδΣϯμ w ใηΩϡϦςΟͱ w*".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
*".ͷॏཁੑ IAMͷྲྀग़ѱ༻ 3େཁ͕݅ଛͳΘΕΔ Մೳੑ͕͋Δ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ෆਖ਼μϯϩʔυ 4όέοτ
શੑ͕ଛͳΘΕͨঢ়ଶ ઃఆมߋ
*".͕ѱ༻͞Εͳ͍ͨΊʹ IAMͷϕετϓϥΫςΟεΛ ࣮ફ͠Α͏
*".Ξϯνύλʔϯ ϧʔτΞΧϯτ IAMϢʔβʔ ৗతͳϧʔτΞΧϯτͷར༻ IAMϢʔβʔͷڞ༗
*".ϕετϓϥΫςΟε ਓʹ͖ͭɺͭͷ*".Ϣʔβʔ
*".ϕετϓϥΫςΟε "ENJOJTUSBUPST 7JFXFS &$"ENJO *".άϧʔϓͷར༻
*".ϕετϓϥΫςΟε .'"ͷར༻ "84ίϯιʔϧͷϩάΠϯ .'"σόΠε
.'"σόΠε ཧ.'"σόΠε Ծ.'"σόΠε ཧతͳִ͕Մೳ "ిΕ ಋೖ͕؆୯ "౷੍͕औΓͮΒ͍
*".Ξϯνύλʔϯ &$ͷ*".Ωʔͷొ "84$-*ɺ4%,ͷ࣮ߦ ϑΝΠϧΞοϓόοΫΞοϓ Ωʔใ͕ॻ͔ΕͨϓϩάϥϜɺ ઃఆϑΝΠϧΛγΣΞ ˠ࿙Ӯ
*".ϕετϓϥΫςΟε *".ϩʔϧͷར༻ Ωʔͷొ͕ෆཁ ϑΝΠϧΞοϓϩʔυ ىಈதͷ&$ͷׂΓͯɺ ׂΓͯղআ͕Մೳ
*".ϕετϓϥΫςΟε IAMͷఆظతͳݟ͠
ҟಈͳͲʹ͋Θͤͨ*".ͷมߋ *".ϢʔβʔͷՃআɺ*".Ωʔͷআ ҟಈ ୀ৬ ݕূΩʔͷআ
*".ೝূใϨϙʔτ $47ϑΝΠϧͷμϯϩʔυ͕Մೳ $47ϑΝΠϧ QBTTXPSE@FOBCMFEϩάΠϯͷ༗ޮແޮ NGB@BDUJWF.'"ͷ༗ޮແޮ QBTTXPSE@MBTU@VTFE࠷ऴϩάΠϯ࣌ࠁ BDDFTT@LFZ@@MBTU@VTFE@EBUF࠷ऴΞΫηεΩʔར༻࣌ࠁ
*".ೝূใϨϙʔτ .'"͕༗ޮͰͳ͍ΞΧϯτ $47ϑΝΠϧ QBTTXPSE@FOBCMFE5SVF ϩάΠϯՄೳ NGB@BDUJWF'BMTF .'"ແޮ QBTTXPSE@MBTU@VTFE࠷ऴϩάΠϯ࣌ࠁ BDDFTT@LFZ@@MBTU@VTFE@EBUF࠷ऴΞΫηεΩʔར༻࣌ࠁ
*".ೝূใϨϙʔτ Ұఆظؒར༻͞Ε͍ͯͳ͍ΞΧϯτ $47ϑΝΠϧ QBTTXPSE@FOBCMFEϩάΠϯͷ༗ޮແޮ NGB@BDUJWF.'"ͷ༗ޮແޮ QBTTXPSE@MBTU@VTFE࠷ऴϩάΠϯ࣌ࠁ BDDFTT@LFZ@@MBTU@VTFE@EBUF࠷ऴΞΫηεΩʔར༻࣌ࠁ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε wূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
"84$MPVE5SBJM "84Ͱ࣮ߦ͞Εͨ"1*ΛϩΪϯά ૹ৴ݩ*1ΞυϨε Կ͕͋ͬͨͷ͔ɺͳ͔ͬͨͷ͔Λ֬ೝ ࣌ؒ Ϣʔβʔ ΞΫγϣϯ
"84$POpH "84ͷߏه ਓ͕ݟͯΘ͔Γ͍͢ "84Ϧιʔεͷ࡞มߋΛه λΠϜϥΠϯͰදࣔ
"84$POpHͷλΠϜϥΠϯ ྫɿηΩϡϦςΟάϧʔϓͷλΠϜϥΠϯ &$ͷׂΓͯ ʢϦϨʔγϣϯγοϓͷมߋʣ "84ϦιʔεͷมߋཤྺΛͰ͖Δ ϧʔϧͷมߋ ʢઃఆͷมߋʣ 'SPN 5P
"84$POpHͱ&$4ZTUFNT.BOBHFSͷ࿈ܞ 04Ξοϓσʔτʹ͍ͭͯՄೳ ྫɿΧʔωϧΞοϓσʔτͷه 44.ΤʔδΣϯτͷΠϯετʔϧ͕ඞཁ ྫ Χʔωϧͷόʔδϣϯ͕ˠʹΞοϓσʔτ Πϯετʔϧ࣌
֤αʔϏεͷϩά༗ޮԽ &-#ʢϩʔυόϥϯαʔʣ $MPVE'SPOUʢ$%/ʣ 4ʹϩά৴ αϙʔτͷ͍߹Θͤʹඞཁ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ wڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
ڞ༗Ϟσϧ "84ͷηΩϡϦςΟ"84ͱϢʔβʔ͕࿈ܞͯ͠ୡ "84ͷ୲ΫϥυͷηΩϡϦςΟ Ϣʔβʔͷ୲ΫϥυͷηΩϡϦςΟ αʔϏεʹΑͬͯɺ୲ൣғ͕ҟͳΔ
ΠϯϑϥετϥΫνϟαʔϏεʢ&$ʣ ސ٬σʔλ ϓϥοτϑΥʔϜͱ ΞϓϦέʔγϣϯͷཧ 04ɺωοτϫʔΫɺ ϑΝΠΞΥʔϧߏ ҉߸Խɺ߹ੑ Ϣʔβʔͷ୲ "84ͷ୲
ج൫αʔϏε "84άϩʔόϧ ΠϯϑϥετϥΫνϟ
୲ͷྫᶃ σΟεΫͷഇغ "84
୲ͷྫᶄ 04ɺϛυϧΣΞͷόʔδϣϯΞοϓ Ϣʔβʔ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
৴པͰ͖Δ".*Λ͏ ىಈ EC2 AMI AMI୭Ͱެ։Մೳ AWS৴པͰ͖Δϕϯμ͕ఏڙ͢ΔAMIΛར༻ "AMI IDΛΑ֬͘ೝͤͣʹར༻
৴པͰ͖Δ".*Λ͏8JOEPXTͷྫ ॴ༗ऀ=AmazonΠϝʔδ ྫɿ8JOEPXT4FSWFS3 ຊޠ ͷݕࡧ ϓϥοτϑΥʔϜ=Windows AMI໊=Windows-Server-2012-R2_RTM-Japanese
ඞཁͳ௨৴ͷΈڐՄ ϓϩτίϧ ૹ৴ݩ 44) ϝϯςφϯεڌ )551 ෆཁͳϓϩτίϧϒϩοΫ ཧ༻ΞΫηεଓݩΛߜΔ
ड৴ ϓϩτίϧ ૹ৴ݩ "-- ૹ৴ ཁ݅ʹԠ੍ͯ͡ޚ ※ NTP, AWS API, ύονద༻ͳͲʹҙ
࠷৽ͷ04ɺϛυϧΣΞΛ͏ EC2 ϓϥοτϑΥʔϜஅ *OTQFDUPS ϕϯμ "αϙʔτظݶ͕Εͨ04ɿύον͕ఏڙ͞Εͳ͍ "ݹ͍ϛυϧΣΞɿ੬ऑੑ͕͋ΔՄೳੑ ఆظతʹ04ɺϛυϧΣΞΛΞοϓσʔτ "NB[PO*OTQFDUPSͰఆظతʹஅ
࠷৽ͷΞϓϦέʔγϣϯΛ͏ EC2 ΞϓϦέʔγϣϯஅ ϕϯμ "ݹ͍ΞϓϦέʔγϣϯʹ੬ऑੑ͕͋Δ͜ͱ͕ଟ͍ ઐͷϕϯμʔʹґཔ͠ఆظతʹஅɺमਖ਼ ϕϯμʹґཔ͢Δࡍɺ"84ʹ৵ೖςετਃ͕ඞཁ
ϚϧΣΞରࡦ EC2 ΠϧεεύϜରࡦιϑτΣΞͷಋೖ ϗετํࣜͷ*%4ιϑτΣΞͷಋೖ
ϒϥοΫϦετొ 71$4VCOFU 71$4VCOFU /FUXPSL"$- 71$αϒωοτ୯Ґʹઃఆ ϧʔϧͷ্ݶ͕গͳ͍ "848"' $MPVE'SPOU·ͨ"-#ʹઃఆ ϧʔϧ্ݶ͕ଟ͍
ಛఆͷࠃ͔ΒͷଓͷϒϩοΫ "NB[PO$MPVE'SPOU ಛఆͷࠃ͔Βͷ߈ܸ͕ೝΊΒΕΔέʔεͰ༗ޮ "(FP*1ඞͣ͠ਖ਼֬Ͱͳ͍ (FP*1ʹΑΔࠃ͝ͱͷڐՄڋ൱
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w &$ͷجຊతͳηΩϡϦςΟରࡦ wϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
ϚωʔδυαʔϏεͷݕ౼ WEBαʔόͰ ELBΛݕ౼
&-#Λ͏ϝϦοτ 44-ऴ 4:/ϑϥου 0QFO44-ͳͲ͕ෆཁ 6QEBUF ༗ޮͳ5$1ϦΫΤετͷΈαϙʔτ )5514ʹඞཁͳ44-λʔϛωʔτΛ&-#ʹΦϑϩʔυ &$ͷϩʔϦϯάΞοϓσʔτ͕Մೳ
ϚωʔδυαʔϏεͷݕ౼ DBαʔόͰ RDSΛݕ౼
ίϯςφαʔϏεʢ3%4ʣ ސ٬σʔλ ϓϥοτϑΥʔϜͱ ΞϓϦέʔγϣϯͷཧ ϑΝΠΞΥʔϧߏ ҉߸Խɺ߹ੑ Ϣʔβʔͷ୲ "84ͷ୲ ج൫αʔϏε
"84άϩʔόϧ ΠϯϑϥετϥΫνϟ 04ɺωοτϫʔΫߏ
3%4ͷ04ɺϓϥοτϑΥʔϜཧ ϝϯςφϯεϑϦʔͰແ͍ Ϣʔβʔͷ୲ൣғ ϝϯςφϯεΟϯυʢि࣍ͷϝϯςφϯε࣌ؒʣͷࢦఆ Խ/γϯάϧߏ ※ ຊ൪ڥԽΛਪ ϝϯςφϯε࣮ࢪλΠϛϯάͷࢦఆ AWS͔Βͷϝʔϧͷ֬ೝ
ͳͲ
3%4ͷϝϦοτ 3%4 Խ͕؆୯ %#Τϯδϯɺ04ͷߋ৽͕؆୯ όοΫΞοϓɺϦετΞ͕؆୯ ઐ͕ࣝඞཁͳ࡞ۀΛ؆୯ʹ࣮ࢪՄೳ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w &$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ wαʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
੩తͳ8FCαΠτʢ4 $MPVE'SPOUʣ $MPVE'SPOU 4 Ωϟογϡ ίετ Ϣʔβʔύονద༻Λҙࣝ͠ͳͯ͘ྑ͍ ੈքதʹ͋ΔΤοδϩέʔγϣϯ ʢΩϟογϡαʔόʔʣ
நԽαʔϏεʢ4ͳͲʣ ސ٬σʔλ ϓϥοτϑΥʔϜͱ ΞϓϦέʔγϣϯͷཧ ҉߸Խɺ߹ੑ Ϣʔβʔͷ୲ "84ͷ୲ ج൫αʔϏε "84άϩʔόϧ
ΠϯϑϥετϥΫνϟ 04ɺωοτϫʔΫߏ S3ઃఆϢʔβʔͷ୲
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w &$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w ΫϥυωΠςΟϰͳΞʔΩςΫνϟͷ࠾༻ wิ
"845SVTUFE"EWJTPSΛͬͨϨϏϡʔ ηΩϡϦςΟάϧʔϓ - ແ੍ݶΞΫηε CloudTrailͷར༻ঢ়گ S3ͷόέοτڐՄ ͳͲ
"84͔Βͷ࿈བྷΛແࢹ͠ͳ͍ ҧ๏ߦҝͷ௨ εύϜϝʔϧͷૹ৴ DDoSͷՃ୲ ϝϯςφϯε ηΩϡϦςΟΠϯγσϯτ IAMใ࿙ӮͷՄೳੑ
ҧ๏ߦҝͷ௨Λड͚औͬͨΒ εύϜϝʔϧͷྫ ΦʔϓϯϦϨʔͷՄೳੑ DDoS߈ܸՃ୲ͷྫ EC2Λִ͠ɺඞཁͳσʔλΛൈ͖ग़͢ ΫϦʔϯͳEC2ʹσϓϩΠ ҧ๏ߦҝͷϦεΫ AWSΞΧϯτɺΠϯελϯεͷఀࢭ ࣾձతͳ৴༻Լ
ૌু
ڴҖੳ w ᘳͳηΩϡϦςΟରࡦଘࡏ͠ͳ͍ w ݸʑͷγεςϜ๊͕͑ΔϦεΫΛચ͍ग़͢ w ༏ઌ͕ߴ͍ͷ͔ΒରԠ
·ͱΊᶃ ηΩϡϦςΟͷ3େཁ݅ ػີੑɺશੑɺՄ༻ੑ IAMॏཁ 3େཁ͕݅ଛͳΘΕΔՄೳੑ IAMϕετϓϥΫςΟεʹै͍ɺఆظతʹݟ͢ ূͷऔಘ AWS CloudTrailɺAWS
ConfigΛ༗ޮԽ AWSͷηΩϡϦςΟϢʔβͱAWS͕ڠྗͯ͠ରԠ
·ͱΊᶄ EC2ͷηΩϡϦςΟͷجຊ AWSͳΒͰͷରࡦ + ҰൠతͳηΩϡϦςΟ׳ߦ ϚωʔδυαʔϏεͷݕ౼ αʔόϨεΞʔΩςΫνϟͷݕ౼ Ϣʔβʔͷ୲ൣғΛॖখ͠ɺָΛ͢Δ ᘳͳηΩϡϦςΟରࡦଘࡏ͠ͳ͍
None