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
15k
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
25k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
6.9k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
manabusakai
8
19k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
24
8.5k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.7k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.2k
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
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
300
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
170
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Invisible Side of Design
smashingmag
298
50k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Designing for humans not robots
tammielis
250
25k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Code Reviewing Like a Champion
maltzj
520
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
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௨͢Δ