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 のマネージドサービスを使ったセキュリティ強化のための自動化 / aws-securit...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manabu Sakai
March 10, 2018
Technology
18k
11
Share
AWS のマネージドサービスを使ったセキュリティ強化のための自動化 / aws-security-automation
JAWS DAYS 2018 の発表資料です。 #jawsdays #jawsug
Manabu Sakai
March 10, 2018
More Decks by Manabu Sakai
See All by Manabu Sakai
アウトプットが切り拓いた自分のエンジニア人生 / Infra Study 2nd #8
manabusakai
0
31k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2.2k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
9.3k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
manabusakai
8
21k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
25
9.1k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.9k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
8k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
12k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
16k
Other Decks in Technology
See All in Technology
React、まだ楽しくて草
uhyo
7
3.9k
運用を見据えたAIエージェント設計実践
amacbee
1
2.4k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
430
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
5.7k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
110
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
700
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
9k
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
16
8.3k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
610
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
180
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
350
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Paper Plane (Part 1)
katiecoart
PRO
0
8.3k
GitHub's CSS Performance
jonrohan
1033
470k
Producing Creativity
orderedlist
PRO
348
40k
Designing for Performance
lara
611
70k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Transcript
AWS のマネージドサービスを使った セキュリティ強化のための自動化 +"84%":4 ࡔҪֶ!NBOBCVTBLBJ
#jd2018_c
͜ͷηογϣϯͷΰʔϧ w "84͕ఏڙ͢ΔηΩϡϦςΟؔ࿈ͷϚωʔδυαʔϏεΛ ͬͯΒ͏ w ηΩϡϦςΟڧԽͷͨΊͷΞΠσΞΛ࣋ͬͯؼͬͯΒ͏
ࡔҪֶ!NBOBCVTBLBJ w GSFFFגࣜձࣾ43&ΤϯδχΞݸਓࣄۀओ w ݸਓࣄۀͰελʔτΞοϓͷٕज़ࢧԉΛߦ͏ w ಘҙ"84ʢࣗಈԽपΓʣ w ϒϩάͬͨΓΤϯδχΞͷඋ
freee をご存知の方は挙手を お願いします✋
GSFFFͷαʔϏε w ձܭGSFFF w ਃࠂGSFFF w ਓࣄ࿑GSFFF w ϚΠφϯόʔཧGSFFF w
ձࣾઃཱGSFFF w ։ۀGSFFF
GSFFFͷαʔϏε w ϛογϣϯʮεϞʔϧϏδωεʹܞΘΔͯ͢ͷਓ͕ తͳ׆ಈʹϑΥʔΧεͰ͖ΔΑ͏ʯ w όοΫΦϑΟεʹؔΘΔ#UP#ΫϥυαʔϏεΛఏڙ w ձܭGSFFFສࣄۀॴҎ্ʹ͓͍͍͖ͨͩɺ ΫϥυձܭιϑτͷγΣΞ/P
GSFFFͷαʔϏε w ձܭGSFFF w ਃࠂGSFFF w ਓࣄ࿑GSFFF w ϚΠφϯόʔཧGSFFF w
ձࣾઃཱGSFFF w ։ۀGSFFF ͓ۚ ਓ ਓ ͓ۚ
お金や人に関わる情報漏洩は 絶対に起こしてはいけない
ͦͷͨΊʹʜ w 04ϛυϧΣΞͷमਖ਼ύον͙͢ʹద༻͍ͨ͠ w %P4߈ܸϦετܕ߈ܸࣗಈతʹϒϩοΫ͍ͨ͠ w "84্Ͱͷෆ৹ͳΞΫςΟϏςΟʹؾ͖͍ͮͨ w σʔλ͕վ͟ΜͰ͖ͳ͍Α͏ʹ͍ͨ͠ w
FUD
挙げればキリがない
一方でエンジニアのリソースは 限られている
そうだ、 自動化だ
w "84ʹηΩϡϦςΟڧԽʹ͑ΔϚωʔδυαʔϏε͕ ଟ͘ఏڙ͞Ε͍ͯΔ w 8"' 4IJFME (VBSE%VUZ .BDJF *OTQFDUPS FUDʜ
w ΞΠσΞͱϓϩάϥϛϯάͰࣗಈԽͷΈΛ࡞Δ w ͦͯ͠ɺΤϯδχΞϢʔβʔʹͱͬͯຊ࣭తʹՁͷ͋ Δ͜ͱʹϑΥʔΧε͢Δ
今回は freee で実践している 自動化を 3 つご紹介します
CodeBuild を使った AMI 作成の自動化
w GSFFFͰӡ༻͍ͯ͠Δ&$(PMEFO".*ํࣜ w 04ͷجຊઃఆϛυϧΣΞͷΠϯετʔϧ͕ࡁΜͩ ".*Λ͋Β͔͡Ί࡞͓ͬͯ͘ w ΞϓϦέʔγϣϯىಈ࣌ʹ࠷৽ͷͷΛऔಘ͢Δ w मਖ਼ύονΛͯΔʹ".*Λ࡞Γ͢ w
"OTJCMFͱ1BDLFSͰίʔυԽ͞Ε͍ͯΔ
ࣗಈԽ͢Δલʜ w 43&͕खݩͷϚγϯͰAQBDLFSCVJMEAͯ͠".*Λ࡞ w ".*ͷछྨ͕૿͑ͯ͘Δͱ࡞Γ͠ʹ͕͔͔࣌ؒΔΑ͏ʹ ͳ͖ͬͯͨ w ۓٸͷߴ͍मਖ਼ύον͕ϦϦʔε͞ΕΔͱɺ ΄͔ͷ࡞ۀΛࢭΊͯશһͰख͚͍ͯͬͯͨ͠
ボトルネックは↓ここ
$PEF#VJMEͱ w $PEF#VJMEϑϧϚωʔδυͷϏϧυαʔϏε w Ϗϧυ͝ͱʹݸผͷ%PDLFSίϯςφ͕ىಈ͠ɺ ෳͷϏϧυΛಉ࣌ʹ࣮ߦͰ͖Δ w 1BDLFS(PͰॻ͔ΕͨπʔϧͳͷͰ%PDLFSͰಈ͘ w AQBDLFSCVJMEAΛ$PEF#VJMEʹΒͤΕָͰ͖Δʂ
1 コマンドで完了!
ࣗಈԽͷΈ w 3VCZͰγϯϓϧͳϥούʔίϚϯυΛॻ͍ͨ w ΤϯδχΞ͕Δ͜ͱΛίϚϯυΛ࣮ߦ͢Δ͚ͩ w $PEF#VJMECVJMETQFDZNMʹԊͬͯ".*Λ࡞ w ϏϧυΛಉ࣮࣌ߦ͢Δ͜ͱͰτʔλϧͷ࣌ؒॖ
AWS WAF を使った 攻撃の自動ブロック
ࣗಈԽ͢Δલʜ w %P4߈ܸϦετܕ߈ܸͷݕ͕ޙखʹճΔ w ߈ܸݩͷ*1ΞυϨε͕සൟʹมΘΔͷͰɺ 4FDVSJUZ(SPVQ/FUXPSL"$-Ͱ͖͗Εͳ͍ w OHJOYͰ߈ܸݩͷ*1ΞυϨεΛϒϩοΫ͕ͨ͠ɺ ݁ہ8FCαʔόʹෛՙ͕͔͔Δ w
ਂૣேͳͲखബͳ࣌ؒଳ͕Ͱ͖ͯ͠·͏
"848"'ͱ w "848"'ϑϧϚωʔδυͷ8"'αʔϏε w $MPVE'SPOUͱ"-#ʹઃఆͰ͖Δ w 42-J944ͱ͍ͬͨ੬ऑੑΛૂͬͨ߈ܸɺ *1ΞυϨεϚονϯά(FP*1ͰϒϩοΫͰ͖Δ w ߈ܸͷॳಈ"848"'ʹϒϩοΫͤ͞Δʂ
攻撃者には 403 を返す
ࣗಈԽͷΈ w "848"'ͷ3BUFCBTFEϧʔϧΛ׆༻ w ಛఆͷ63-ʹ/ؒʹ/ճͷϦΫΤετ͕͋Δͱൃ ಈʢ/ͷࣈඇެ։ʣ w ࣗಈతʹϒϩοΫͯ͘͠ΕΔͷͰ༨༟Λ࣋ͬͯௐࠪͰ͖Δ w "-#ͰϒϩοΫ͢ΔͷͰ8FCαʔόʹෛՙ͕͔͔Βͳ͍
GuardDuty を使った 脅威検出と Slack 通知
ࣗಈԽ͢Δલʜ w 4FDVSJUZ(SPVQͷมߋϛεʹؾ͚ͮΔΑ͏ʹ࣍ͰࠩΛ ݕग़͢ΔΈΛ࡞ͬͨ w ࣗલͰͯ͢Λ࡞ΓࠐΉͷେมʜ w ڴҖΛݕग़͢ΔΈͦͦͳ͔ͬͨ w Կ͔͋ͬͨΒ$MPVE5SBJMΛ֬ೝ͍ͯͨ͠
(VBSE%VUZͱ w (VBSE%VUZϑϧϚωʔδυͷڴҖݕग़αʔϏε w $MPVE5SBJMɺ71$ϑϩʔϩάɺ%/4ϩάΛऩूͯ͠ڴҖΛ ݕग़ͯ͘͠ΕΔ w ͨͱ͑&$ʹର͢ΔϙʔτεΩϟϯͳͲɺ ΄΅ϦΞϧλΠϜʹݕग़ͯ͘͠ΕΔ w
ෆ৹ͳΞΫςΟϏςΟʹରͯ͠ϓϩΞΫςΟϒʹରԠͰ͖Δʂ
ほぼリアルタイムに通知
重要度に応じて色やメンションの有無が変わる
ࣗಈԽͷΈ w (VBSE%VUZڴҖΛݕग़ͯ͠௨ͯ͘͠Εͳ͍ w ڴҖ͕ݕग़͞ΕΔͱ$MPVE8BUDI&WFOUT͔Β-BNCEBΛ ىಈͯ͠4MBDLͷ8FCIPPLΛୟ͘ w ڴҖϨϕϧʹԠͯ͡ϝοηʔδͷ༰Λม͍͑ͯΔ w $SJUJDBMͷڴҖ!DIBOOFMͰϝϯγϣϯΛඈ͢
ิ w GSFFFͰଞʹ༷ʑͳηΩϡϦςΟରࡦΛߦ͍ͬͯ·͢ w ηΩϡϦςΟଟޚ͕ॏཁ w "84ͷϚωʔδυαʔϏεΛ׆༻ͭͭ͠ɺଞͷ؍͔Βͷ ରࡦ߹Θͤͯߦ͍·͠ΐ͏
·ͱΊ w ΞΠσΞ࣍ୈͰηΩϡϦςΟڧԽࣗಈԽͰ͖Δ࣌ w "84ͷϚωʔδυαʔϏεΛ͏·͘׆༻͠·͠ΐ͏ w GSFFFͷ43&Ϣʔβʔʹຊ࣭తͳՁΛಧ͚ΔͨΊʹ ҆৺ͯ͑͠ΔΠϯϑϥڥΛࢦ͍ͯ͠·͢ʂ
@manabusakai
ϨϑΝϨϯε w $PEF#VJMEΛͬͯ".*࡞ͷ࣌ؒΛେ෯ʹॖͨ͠ w "848"'ͷϨʔτϕʔεϧʔϧΛࢼͯ͠Έͨ w (VBSE%VUZ͕ݕग़ͨ͠ڴҖΛ͍͍ײ͡ʹ4MBDL௨͢Δ