Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
脆弱性検知ツールVulsの導入をしてから半年経ってみて
Search
adachi.ryo
October 05, 2017
Technology
28k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
脆弱性検知ツールVulsの導入をしてから半年経ってみて
adachi.ryo
October 05, 2017
More Decks by adachi.ryo
See All by adachi.ryo
横断SREがSRE社内留学制度 / Enablingになぜ踏み切ったのか
rvirus0817
0
700
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
5.5k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
6.1k
Findy Team+のSOC2取得までの道のり
rvirus0817
0
5.6k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
6k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
2
9.2k
Amazon Security Lakeを活用したセキュリティログの集約とAIによる可視化の最前線
rvirus0817
0
610
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
2.1k
クラウド脆弱性の傾向とShisho Cloudの活用
rvirus0817
0
330
Other Decks in Technology
See All in Technology
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.6k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
130
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
720
おい、エージェントを使って終わらせろ
nwiizo
0
210
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
220
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.2k
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
160
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
670
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
180
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.6k
AI時代、データエンジニアが一番おもろい
genshun9
0
570
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
340
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
610
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
For a Future-Friendly Web
brad_frost
183
10k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
It's Worth the Effort
3n
188
29k
Transcript
੬ऑੑݕπʔϧVulsͷಋೖΛ ͔ͯ͠ΒܦͬͯΈͯ Adachi Ryo/SRE
ΞδΣϯμ ▸ ࣗݾհɺࢲ͕ೖࣾ͢Δલ ▸ SREνʔϜʹͳ͔ͬͯΒ ▸ SREνʔϜͷओͳۀɺར༻͍ͯ͠Δٕज़ ▸ VulsͱɺͿͬͪΌ͚੬ऑੑରԠͬͯ… ▸
VulsߏਤɺΠϯετʔϧํ๏ ▸ con fi g.tomlɺVulsίϚϯυ ▸ Vuls repo Vuls v0.4.0 ▸ ·ͱΊ
ࣗݾհ ▸ Adachi Ryo ▸ @adachin0817 ▸ 2017/05~ ▸ ܦݧ
ࣾSE͔ΒϗεςΟϯάɺ ΞυςΫͷΠϯϑϥΤϯδχΞ ▸ झຯ HIPHOP
ࢲ͕ೖࣾ͢Δલ ▸ Πϯϑϥϝϯόʔ͕͍ΔͷʹνʔϜͱͯ͠׆ಈͯ͠ͳ͔ͬͨ ▸ ͲΜͳϛυϧΣΞͬͯΔͳͲϝϯόʔ͕Ѳ͍ͯ͠ͳ͍ ▸ ΠϯϑϥϦϙδτϦ͕ͳ͍ ▸ infrastructure as
codeͬͯͳ͍ ▸ खಈͰΠϯετʔϧ͔aws cliͰཧ͍ͯ͠Δ ▸ ଐਓԽ͍ͯ͠Δ
SREνʔϜ ͱͯ͠ಈ͜͏ʂʂ
(28ষ) SREͷΛՃ͢Δํ๏: ৽ਓ͔ΒΦϯίʔϧ୲ ɺͦͯͦ͠ͷઌ
SREͷఆٛ ▸ αΠτͷ৴པੑΛอূ͢Δ(αΠτ৴པੑΤϯδχΞ) ▸ ӡ༻ۀͱαΠτͷ৴པੑ্ͷ2ͭͷׂΛ୲͏ ▸ ੵۃతʹίʔυΛهड़ ▸ ӡ༻ΛΫϥυࣗಈԽʹஔ͖͑Δ
SREʹٻΊΒΕΔͷ ᶃ ▸ Πϯϑϥٕज़ TCP/IPɺHTTPͳͲͷωοτϫʔΫϓϩτίϧʹ͍ͭͯͷ ͔ࣝΒɺύϑΥʔϚϯεվળɺϛυϧΣΞͷػೳࣝ ▸ ΞϓϦέʔγϣϯٕज़
Կ͔͠Βͷϓϩάϥϛϯάݴޠࣝ ʢPHPɺPythonɺRubyͳͲʣ ͪΖΜΠϯϑϥϓϩϏδϣχϯά
SREʹٻΊΒΕΔͷ ᶄ ▸ ηΩϡϦςΟࣝ ࠷ݶͷηΩϡϦςΟࣝඞਢ ▸ ίϛϡχέʔγϣϯೳྗ ϝϯόʔ։ൃνʔϜͱͷڞ༗
ڠྗ͠ͳ͕Β։ൃΛߦ͏ͨΊ
SREΤϯδχΞϦϯάʹՃ͑ͯಛΛൃش͢Δ ▸ ༏ΕͨϦόʔεΤϯδχΞϦϯάͷεΩϧΛ࣋ͭ →γεςϜͷಈ࡞Λཧղ͢Δ ▸ ౷ܭతʹߟ͑Δೳྗ͕ඞཁ →ੳൺֱΛ͏·͘ߦ͑ΔΑ͏ʹ܇࿅͢Δ ▸
ྟػԠมʹߦಈ →ࠜຊతͳݪҼΛൃݟʂ
SREڭҭํ๏
SREνʔϜʹͳ͔ͬͯΒ ▸ োରԠϝϯόʔશһͰ ▸ infrastructure as codeඞਢ ▸ wikiͷॻ͖ํͳͲڭ͑Δ ▸
ேձΛ࢝Ίͨ ɾࡢԿΛͬͨͷ͔ ɾࠓԿΛΔͷ͔ ɾԿʹͦΜͳʹϋϚ͍ͬͯΔͷ͔ ɾڞ༗ࣄ߲ ▸ શϓϩδΣΫτରԠͰ͖ΔΑ͏ʹ
SREνʔϜͷओͳۀ ▸ αʔόɺϛυϧΣΞͷՄ༻ੑͷҡ࣋ɾ্ ▸ αʔόɺϛυϧΣΞͷύϑΥʔϚϯεͷ্ ▸ ϩάऩू/ՄࢹԽɺੳج൫ͷߏஙɺӡ༻(Redash) ▸ αʔόϓϩϏδϣχϯά(Terraform,Ansible) ▸
ηΩϡϦςΟ/੬ऑੑͷ୲อ(Vuls) ▸ ։ൃڥͳͲͷϝϯς(Vagrant,docker) ▸ 24࣌ؒࢹରԠ(zabbix) ▸ DevOpsνʔϜͱͯ͠ۀվળ
VULSͬͯ·͔͢?
ҧ͍·͢
VULSͱ ▸ ʮVULnerability Scannerʯͷུ ▸ ϑϡʔνϟʔΞʔΩςΫτͷਆށࢯɺྛࢯʹΑΔ։ൃ ▸ Linuxαʔόʹଘࡏ͢Δ੬ऑੑΛεΩϟϯ ▸ OSύοέʔδཧର֎ͷϛυϧΣΞΛεΩϟϯ
▸ ΤʔδΣϯτϨεΞʔΩςΫνϟ(SSH) ▸ ઃఆϑΝΠϧͷςϯϓϨʔτࣗಈੜ ▸ EmailSlackͳͲ௨ՄೳʢຊޠͰͷϨϙʔτՄೳʣ
ͿͬͪΌ͚੬ऑੑରԠͬͯ… ▸ ωοτϝʔϧͰใΛಘΔ(ݟಀ͕ͪ͠ɺ͔Βͷ์ஔ) ▸ αʔό͕ϨΨγʔͳͷ͋ΓɺରԠ͠ͳ͍͍ͯ͘ͱ͔… ▸ ଞʹ੬ऑੑ͋ΔͷͰͱશαʔόௐࠪ͠ͳ͍ͱ͍͚ͳ͍ (ࠓߋযΓ) ▸ ੬ऑੑ༰Λ֬ೝ͢Δ͚ͩͰ͘ͳΔ
▸ ຯͳ࡞ۀ
JVN ੬ऑੑϨϙʔτ @JVNJP
ͪͳΈʹ ▸ ੬ऑੑରࡦใσʔλϕʔεJVN iPediaͷొঢ়گ [2017 ୈ2࢛ظʢ4݄ʙ6݄ʣ70,996݅ʂ
ߏਤ ▸ 2017/05~ ▸ CentOS 6.9 ▸ Zabbix3.0.10 ▸ Vuls
v0.3.0 ▸ Go v1.8.3
Πϯετʔϧ ํ๏ʂʁ
Πϯετʔϧํ๏ ▸ ؆୯ͳͷͰׂѪ͍͖ͤͯͨͩ͞·͢ ▸ ࢀߟࢲͷϒϩάͰ ▸ https://blog.adachin.me/archives/5540 ▸ εΩϟϯ͍ͨ͠αʔόͰࣄલʹઃఆ͓ͯ͘͜͠ͱ
ɾvulsϢʔβ( ͳΜͰ)NOPASSʹsudoersݖݶΛ͚ͭΔ ɾyum-plugin-changelog͕ೖ͍ͬͯΔ͜ͱ ▸ ↑͜͜ΒΜAnsibleԽ͓͖ͯ͘͠
CONFIG.TOML
VULSίϚϯυ ▸ vulsσΟΫγϣφϦ(࠷৽੬ऑੑใߋ৽) $ go-cve-dictionary fetchnvd -last2y $
go-cve-dictionary fetchjvn -latest ▸ vuls dryrun $ vuls con fi gtest ▸ vuls εΩϟϯ $ vuls scan ▸ ݁ՌΛαʔόͰ֬ೝ $ vuls tui ▸ ݁ՌΛslackʹ௨ $ vuls report -format-short-text -format-json -cvedb-path=$PWD/cve.sqlite3 -ovaldb- path=$PWD/oval.sqlite3 --lang=ja -to-slack -cvss-over=7
ఆظతʹ࣮ߦ͍ͨ͠߹ ▸ cronʹࠐΊOK ▸ scan࣌ʹϩά͕resultsԼʹཷ·ΔͷͰআ(5ੈ)
VULS REPO ▸ Web UI Load Error
VULS ΧελϚʔ αϙʔτʹฉ͍ͯΈͨ (2िؒϋϚͬͨͨΊ)
VULS SLACK ▸ ͳʹΒେܕόʔδϣϯ ग़Δ͔Β Ξοϓͯ͠ࢼͯ͘͠Εͱʂ
2017/08/25 V0.4.0 RELEASE!
VULS UPDATE TO 0.4.0 ▸ 2017/8/28 ▸ $ vuls -v
vuls v0.4.0 0ba490c ▸ $ go version go version go1.9 linux/amd64 ▸ Ξοϓσʔτ͠·ͨ͠ʂ
VULS V0.4.0 ▸ εΩϟϯਫ਼େ෯্ ▸ ϨϙʔτͷใྔΞοϓ(?͕ݮΔ) ▸ fast(sudoͳ͠ɺ αʔόෛՙͷεΩϟϯϞʔυ)
σϑΥϧτ
VULS REPO V0.4.0 ▸ 0.4.0͔Βweb αʔόΛ࣋ͨͳͯ͘ OKʹʂ ▸
goͷhttpύοέʔδͰ ಈ͘(μΠδΣετೝূ) ▸ Port 5111
VULS REPO ▸ ՄࢹԽ͢Δ͜ͱͰ੬ऑੑ͕Ͳͷ͘Β͍͋Δͷ͔அͰ͖Δ
VULS ੬ऑੑΞοϓσʔτϑϩʔਤ
VULS/ZABBIX SERVER 1ϲ݄ͷύϑΥʔϚϯε
Ͳ͜·Ͱ੬ऑੑରԠ͢Δͷ͔ ▸ ਖ਼ͯ͢Ξοϓσʔτ͢Δͷՙ͕ॏ͍… (Kernel࠶ىಈͱ͔)→ଟ͍ͷͰߜΔඞཁ͕͋Δ ▸ ୈࡾऀ͕߈ܸͦ͢͠͏ͳαʔό (LBͿΒԼ͕ͬͯΔͷϚετ) ▸
੬ऑੑ0ͱ͍ͬͯະͷͷ͋Δ ▸ Ͱ੬ऑੑͪΌΜͱΞοϓσʔτ͢Δํ͕҆৺
·ͱΊ ▸ Vulsͷಋೖ؆୯ͰӡӦָͪΜʂ ▸ Vulsͷ͓͔͛Ͱ੬ऑੑରԠΛΕͳ͍ʂ ▸ vuls scan࣌ʹෛՙͳ͍ʂVulsઐ༻αʔό͍Βͳ͍! ▸ ͜Ε͔ΒVulsඞਢʂ
ߦ͖·͠ΐ͏ʂʂʂ
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠!