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
Manabu Sakai
March 10, 2018
Technology
11
16k
AWS のマネージドサービスを使ったセキュリティ強化のための自動化 / aws-security-automation
JAWS DAYS 2018 の発表資料です。 #jawsdays #jawsug
Manabu Sakai
March 10, 2018
Tweet
Share
More Decks by Manabu Sakai
See All by Manabu Sakai
アウトプットが切り拓いた自分のエンジニア人生 / Infra Study 2nd #8
manabusakai
0
29k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2.1k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
7.4k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
manabusakai
8
20k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
25
8.7k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.8k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.5k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
11k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
14k
Other Decks in Technology
See All in Technology
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
890
[2025-09-30] Databricks Genie を利用した分析基盤とデータモデリングの IVRy の現在地
wxyzzz
0
450
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.3k
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
260
多野優介
tanoyusuke
1
200
FastAPIの魔法をgRPC/Connect RPCへ
monotaro
PRO
1
700
実装で解き明かす並行処理の歴史
zozotech
PRO
1
300
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
5
2.5k
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
290
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3k
Trust as Infrastructure
bcantrill
0
290
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Speed Design
sergeychernyshev
32
1.1k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Automating Front-end Workflow
addyosmani
1371
200k
Done Done
chrislema
185
16k
Scaling GitHub
holman
463
140k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
RailsConf 2023
tenderlove
30
1.2k
Bash Introduction
62gerente
615
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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௨͢Δ