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
28k
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.1k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
manabusakai
8
19k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
24
8.6k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.7k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.3k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
10k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
14k
Other Decks in Technology
See All in Technology
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
340
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
300
ひまプロプレゼンツ 「エンジニア格付けチェック 〜春の公開収録スペシャル〜」
kaaaichi
0
150
AIエージェント完全に理解した
segavvy
4
280
ソフトウェアプロジェクトの成功率が上がらない原因-「社会価値を考える」ということ-
ytanaka5569
0
130
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
160
製造業の会計システムをDDDで開発した話
caddi_eng
3
990
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
1.4k
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
170
KCD Brazil '25: Enabling Developers with Dapr & Backstage
salaboy
1
130
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
35
3.2k
Building an army of robots
kneath
304
45k
Writing Fast Ruby
sferik
628
61k
Visualization
eitanlees
146
16k
Rails Girls Zürich Keynote
gr2m
94
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Speed Design
sergeychernyshev
28
870
The Language of Interfaces
destraynor
157
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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௨͢Δ