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セキュリティ -Developers.IO 2017 WORLD in 名古屋-
Search
阿部洸樹
September 28, 2017
Technology
1
230
ここからはじめるAWSセキュリティ -Developers.IO 2017 WORLD in 名古屋-
Developers.IO 2017 WORLD in 名古屋
阿部洸樹
September 28, 2017
Tweet
Share
More Decks by 阿部洸樹
See All by 阿部洸樹
クラスメソッドの新卒向け会社説明会(エンジニア)
abeika
0
1.1k
20190425
abeika
0
710
ここからはじめるAWSセキュリティ
abeika
1
1.5k
Other Decks in Technology
See All in Technology
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
13
35k
NgRx Signal Store
rainerhahnekamp
0
100
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
次世代Web認証「パスキー」 / mo-zatsudan-passkey
nkzn
22
13k
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
630
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Algyan イベント振り返り
linyixian
0
180
Postman v10リリース後を振り返る
nagix
0
120
Databricks:『生成AI World Cup』のご案内
databricksjapan
1
130
社内勉強会運営のコツ
senoo
6
1.1k
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
720
Featured
See All Featured
A better future with KSS
kneath
230
16k
Bash Introduction
62gerente
604
210k
Building Effective Engineering Teams - LeadDev
addyosmani
26
1.8k
Design by the Numbers
sachag
274
18k
GitHub's CSS Performance
jonrohan
1023
450k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
YesSQL, Process and Tooling at Scale
rocio
162
13k
RailsConf 2023
tenderlove
1
530
Happy Clients
brianwarren
91
6.4k
Practical Orchestrator
shlominoach
181
9.7k
Faster Mobile Websites
deanohume
296
30k
Scaling GitHub
holman
457
140k
Transcript
͔͜͜Β͡ΊΔ"84ηΩϡϦςΟ Ϋϥεϝιου Ѩ෦ᔨथ DNEFWJP
͓͍͑ͨ͜͠ͱ ᶅηΩϡϦςΟରࡦͰָΛ͢ΔͨΊͷख๏ ᶃใηΩϡϦςΟͱԿ͔ ᶄAWSηΩϡϦςΟͷجຊ ηΩϡϦςΟͱ͍͏ݴ༿ࡍݶͳ͘ΘΕ͕ͪ AWSฐࣾͷϕετϓϥΫςΟεʹج͍ͮͨରࡦ ڞ༗Ϟσϧ ηΩϡϦςΟΛࢧԉ͢ΔαʔϏε
ΞδΣϯμ wใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷηΩϡϦςΟϕετϓϥΫςΟε w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิͱ·ͱΊ
ใηΩϡϦςΟͱ ̏େཁ݅ɺ̏ཁૉͱݺΕΔ ػີੑʢ$POpEFOUJBMJUZʣ શੑʢ*OUFHSJUZʣ Մ༻ੑʢ"WBJMBCJMJUZʣ ༷ʑͳڴҖ͔Βɺใࢿ࢈Λ ػີੑɺશੑɺՄ༻ੑͷ֬อΛߦ͍ͭͭɺ ਖ਼ৗʹҡ࣋͢Δ͜ͱ
ػີੑ ใࢿ࢈Λਖ਼ͳݖརΛ࣋ͬͨਓ͚͕ͩ ༻Ͱ͖Δঢ়ଶʹ͓ͯ͘͜͠ͱ
ػີੑ͕ଛͳΘΕͨঢ়ଶ څ༩ใ Ӧۀσʔλ ਓࣄ෦ Ӧۀ෦
ػີੑ͕ଛͳΘΕͨঢ়ଶ څ༩ใ Ӧۀσʔλ ਓࣄ෦ Ӧۀ෦ ϑΝΠϧαʔόઃఆͷޡΓ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ഇغґཔ ۀऀ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ഇغґཔ ୈࡾऀͷԣྲྀ͠ ۀऀ ਖ਼ৗͳϓϩηε͔Βͷҳ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ਖ਼ৗͳ௨৴ ̋̋ͷϗʔϜϖʔδ ҰൠϢʔβʔ ѱҙͷ͋Δ௨৴ ੬ऑੑͷ͋Δ ΞϓϦέʔγϣϯ
શੑ ใࢿ࢈͕ਖ਼ͳݖརΛ࣋ͨͳ͍ਓʹΑΓมߋ͞Ε ͍ͯͳ͍͜ͱΛ࣮֬ʹ͓ͯ͘͜͠ͱ
શੑ͕ଛͳΘΕͨঢ়ଶ ̋̋ͷϗʔϜϖʔδ 8FCվ͟Μ ίϯςϯπͷվ͟Μ ϚϧΣΞ͢ΔڪΕ ˠҙਤͤͣɺ໎ߦҝΛߦ͏Մೳੑ
Մ༻ੑ ใࢿ࢈Λඞཁͳͱ͖ʹ༻Ͱ͖Δ͜ͱ
Մ༻ੑ͕ଛͳΘΕͨঢ়ଶ ̋̋ͷϗʔϜϖʔδ %%P4߈ܸ ਖ਼ͳϢʔβʔ Ϙοτωοτ
ΞδΣϯμ w ใηΩϡϦςΟͱ w*".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิͱ·ͱΊ
*".ͷॏཁੑ IAMͷྲྀग़ѱ༻ 3େཁ͕݅ଛͳΘΕΔ Մೳੑ͕͋Δ
ػີੑ͕ଛͳΘΕͨঢ়ଶ ෆਖ਼μϯϩʔυ 4όέοτ
શੑ͕ଛͳΘΕͨঢ়ଶ ઃఆมߋ
Մ༻ੑ͕ଛͳΘΕͨঢ়ଶ EC2ͷఀࢭ/আ &$Πϯελϯε
*".Λѱ༻͞Εͳ͍ͨΊʹ IAMͷϕετϓϥΫςΟεΛ ࣮ફ͠Α͏ IAM ͷϕετϓϥΫςΟε http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html
*".Ξϯνύλʔϯ ϧʔτΞΧϯτ IAMϢʔβʔ ৗతͳϧʔτΞΧϯτͷར༻ IAMϢʔβʔͷڞ༗
*".ϕετϓϥΫςΟε ਓʹ͖ͭɺͭͷ*".Ϣʔβʔ
*".ϕετϓϥΫςΟε "ENJOJTUSBUPST 7JFXFS &$"ENJO *".άϧʔϓͷར༻
*".ϕετϓϥΫςΟε .'"ͷར༻ "84ίϯιʔϧͷϩάΠϯ .'"σόΠε
*".Ξϯνύλʔϯ &$ͷ*".Ωʔͷొ "84$-*ɺ4%,ͷ࣮ߦ ϑΝΠϧΞοϓόοΫΞοϓ Ωʔใ͕ॻ͔ΕͨϓϩάϥϜɺ ઃఆϑΝΠϧΛγΣΞ ˠ࿙Ӯ
*".ϕετϓϥΫςΟε *".ϩʔϧͷར༻ Ωʔͷొ͕ෆཁ ىಈதͷ&$ͷׂΓͯɺ ׂΓͯղআ͕Մೳ ϑΝΠϧΞοϓόοΫΞοϓ /FX
*".ϕετϓϥΫςΟε IAMͷఆظతͳݟ͠
ҟಈͳͲʹ͋Θͤͨ*".ͷมߋ *".ϢʔβʔͷՃআɺ*".Ωʔͷআ ҟಈ ୀ৬ ݕূΩʔͷআ
"84αʔϏεΛͬͨݟ͠ IAMೝূใϨϙʔτ CSVܗࣜͷϨϙʔτ Trusted Advisor ίετɺύϑΥʔϚϯεɺηΩϡϦςΟɺੑʹؔ͢ΔΞυόΠε AWS Config Rules
ΧελϜϧʔϧΛ࡞Մೳ ఆظతʹνΣοΫ͍ͨ͠αʔϏε IAMίϯιʔϧ ઃఆঢ়گͷ֬ೝ AWSϦιʔε͕ϧʔϧʹԊͬͯ࡞͞Ε͍ͯΔ͔νΣοΫ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε wূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิͱ·ͱΊ
"84$MPVE5SBJM "84Ͱ࣮ߦ͞Εͨ"1*ΛϩΪϯά ૹ৴ݩ*1ΞυϨε Կ͕͋ͬͨͷ͔ɺͳ͔ͬͨͷ͔Λ֬ೝ ࣌ؒ Ϣʔβʔ ΞΫγϣϯ 165
"84$POpH "84ͷߏه ਓ͕ݟͯΘ͔Γ͍͢ "84Ϧιʔεͷ࡞มߋΛه λΠϜϥΠϯͰදࣔ
"84$POpHͷλΠϜϥΠϯ ྫɿηΩϡϦςΟάϧʔϓͷλΠϜϥΠϯ &$ͷׂΓͯ ʢϦϨʔγϣϯγοϓͷมߋʣ "84ϦιʔεͷมߋཤྺΛͰ͖Δ ϧʔϧͷมߋ ʢઃఆͷมߋʣ 'SPN 5P
"84$POpHͱ&$4ZTUFNT.BOBHFSͷ࿈ܞ 04Ξοϓσʔτʹ͍ͭͯՄೳ ྫɿΧʔωϧΞοϓσʔτͷه 44.ΤʔδΣϯτͷΠϯετʔϧ͕ඞཁ ྫ Χʔωϧͷόʔδϣϯ͕ˠʹΞοϓσʔτ Πϯετʔϧ࣌
֤αʔϏεͷϩά༗ޮԽ &-#ʢϩʔυόϥϯαʔʣ ϩάͷղੳྫʣ 4ʹΞΫηεϩάΛ165 "NB[PO"UIFOBʹΑΔղੳ 42-ΫΤϦ࣮ߦ $MPVE'SPOUʢ$%/ʣ αϙʔτͷ͍߹Θͤʹඞཁ 165
ղੳ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ wڞ༗ϞσϧͰߟ͑Δׂ୲ w
&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิͱ·ͱΊ
ڞ༗Ϟσϧ "84ͷηΩϡϦςΟ"84ͱϢʔβʔ͕࿈ܞͯ͠ୡ "84ͷ୲ΫϥυͷηΩϡϦςΟ Ϣʔβʔͷ୲ΫϥυͷηΩϡϦςΟ αʔϏεͷछྨ͝ͱʹɺ୲ൣғ͕ҟͳΔ ΠϯϑϥετϥΫνϟαʔϏε ίϯςφαʔϏε நԽαʔϏε
ΠϯϑϥετϥΫνϟαʔϏεʢ&$ʣ ސ٬σʔλ ϓϥοτϑΥʔϜͱ ΞϓϦέʔγϣϯͷཧ 04ɺωοτϫʔΫɺ ϑΝΠΞΥʔϧߏ ҉߸Խɺ߹ੑ Ϣʔβʔͷ୲ "84ͷ୲
ج൫αʔϏε "84άϩʔόϧ ΠϯϑϥετϥΫνϟ ࢀߟ: AWS ηΩϡϦςΟͷϕετ ϓϥΫςΟε
୲ͷྫᶃ σΟεΫͷഇغ "84 ηΩϡϦςΟϓϩηεͷ֓ཁ ʢϗϫΠτϖʔύʔʣ Amazon Web Services: Overview
of Security Processes August 2016
୲ͷྫᶄ 04ɺϛυϧΣΞͷόʔδϣϯΞοϓ Ϣʔβʔ ఆظతͳύονద༻ ใऩू ৫प "NB[PO-JOVY".*4FDVSJUZ$FOUFS 5XJUUFSͷΑ͏ͳ4/4 ϓϥοτϑΥʔϜஅ
ਂࠁͳ੬ऑੑͷରԠ ύονద༻
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w&$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิ
"84ηΩϡϦςΟͷϕετϓϥΫςΟε AWSͷϗϫΠτϖʔύʔ
৴པͰ͖Δ".*Λ͏ ىಈ 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ɺϛυϧΣΞΛΞοϓσʔτ ఆظతͳϓϥοτϑΥʔϜஅ
࠷৽ͷΞϓϦέʔγϣϯΛ͏ EC2 ΞϓϦέʔγϣϯஅ ϕϯμ "ݹ͍ΞϓϦέʔγϣϯʹ੬ऑੑ͕͋Δ͜ͱ͕ଟ͍ ఆظతͳΞϓϦέʔγϣϯஅ ϕϯμʹґཔ͢Δࡍɺ"84ʹ৵ೖςετਃ͕ඞཁ
ϚϧΣΞରࡦ EC2 ΠϧεεύϜରࡦιϑτΣΞͷಋೖ ϗετํࣜͷ*%4ιϑτΣΞͷಋೖ
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w &$ͷجຊతͳηΩϡϦςΟରࡦ wϚωʔδυαʔϏεͷݕ౼ w αʔόʔϨεΞʔΩςΫνϟͷݕ౼ w ิͱ·ͱΊ
ϚωʔδυαʔϏεͷݕ౼ DBαʔόͰ RDSΛݕ౼
ίϯςφαʔϏεʢ3%4ʣ ސ٬σʔλ ϓϥοτϑΥʔϜͱ ΞϓϦέʔγϣϯͷཧ ϑΝΠΞΥʔϧߏ ҉߸Խɺ߹ੑ Ϣʔβʔͷ୲ "84ͷ୲ ج൫αʔϏε
"84άϩʔόϧ ΠϯϑϥετϥΫνϟ 04ɺωοτϫʔΫߏ ࢀߟ: AWS ηΩϡϦςΟͷϕετ ϓϥΫςΟε
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ઃఆϢʔβʔͷ୲ ࢀߟ: AWS ηΩϡϦςΟͷϕετ ϓϥΫςΟε
ΞδΣϯμ w ใηΩϡϦςΟͱ w *".ͷॏཁੑͱϕετϓϥΫςΟε w ূͷऔಘ w ڞ༗ϞσϧͰߟ͑Δׂ୲
w &$ͷجຊతͳηΩϡϦςΟରࡦ w ϚωʔδυαʔϏεͷݕ౼ w ΫϥυωΠςΟϰͳΞʔΩςΫνϟͷ࠾༻ wิͱ·ͱΊ
"84͔Βͷ࿈བྷΛແࢹ͠ͳ͍ ҧ๏ߦҝͷ௨ εύϜϝʔϧͷૹ৴ DDoSͷՃ୲ ϝϯςφϯεใ ηΩϡϦςΟΠϯγσϯτ IAMใ࿙ӮͷՄೳੑ S3όέοτͷΞΫηεઃఆʹؔ͢Δҙשى S3όέοτͷΞΫηεઃఆ
ҧ๏ߦҝͷ௨Λड͚औͬͨΒ εύϜϝʔϧͷྫ ΦʔϓϯϦϨʔͷՄೳੑ DDoS߈ܸՃ୲ͷྫ ϚϧΣΞײછͷ͍͕ٙ͋ΔͷͰɺΠϯελϯεഁغ ΫϦʔϯͳEC2ʹσϓϩΠ ҧ๏ߦҝͷϦεΫ AWSΞΧϯτɺΠϯελϯεͷఀࢭ ࣾձతͳ৴༻Լ
ૌু
·ͱΊᶃ"84ηΩϡϦςΟͷجຊ ηΩϡϦςΟͷ3େཁ݅ ػີੑɺશੑɺՄ༻ੑ IAMॏཁ 3େཁ͕݅ଛͳΘΕΔՄೳੑ ূͷऔಘ AWS CloudTrailɺAWS ConfigΛ༗ޮԽ
ڞ༗Ϟσϧ AWSͷηΩϡϦςΟϢʔβͱAWS͕ڠྗͯ͠ରԠ
·ͱΊᶄηΩϡϦςΟରࡦͰָΛ͢ΔͨΊʹ ϚωʔδυαʔϏεͷݕ౼ αʔόϨεΞʔΩςΫνϟͷݕ౼ Ϣʔβʔͷ୲ൣғΛॖখ͢Δ AWS৴པͰ͖Δ৫ͷϕετϓϥΫςΟεʹै͏ IAMϕετϓϥΫςΟε AWSͷηΩϡϦςΟϕετϓϥΫςΟε AWSαʔϏε֎෦ϕϯμʔͷαʔϏεΛͬͨஅɺݟ͠ IAMೝূใϨϙʔτɺTrusted
AdvisorɺAWS Config Rules ϓϥοτϑΥʔϜஅɺΞϓϦέʔγϣϯஅ
None