Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
੬ऑੑݕπʔϧVulsͷಋೖΛ ͔ͯ͠ΒܦͬͯΈͯ Adachi Ryo/SRE
Slide 2
Slide 2 text
ΞδΣϯμ ▸ ࣗݾհɺࢲ͕ೖࣾ͢Δલ ▸ SREνʔϜʹͳ͔ͬͯΒ ▸ SREνʔϜͷओͳۀɺར༻͍ͯ͠Δٕज़ ▸ VulsͱɺͿͬͪΌ͚੬ऑੑରԠͬͯ… ▸ VulsߏਤɺΠϯετʔϧํ๏ ▸ con fi g.tomlɺVulsίϚϯυ ▸ Vuls repo Vuls v0.4.0 ▸ ·ͱΊ
Slide 3
Slide 3 text
ࣗݾհ ▸ Adachi Ryo ▸ @adachin0817 ▸ 2017/05~ ▸ ܦݧ ࣾSE͔ΒϗεςΟϯάɺ ΞυςΫͷΠϯϑϥΤϯδχΞ ▸ झຯ HIPHOP
Slide 4
Slide 4 text
ࢲ͕ೖࣾ͢Δલ ▸ Πϯϑϥϝϯόʔ͕͍ΔͷʹνʔϜͱͯ͠׆ಈͯ͠ͳ͔ͬͨ ▸ ͲΜͳϛυϧΣΞͬͯΔͳͲϝϯόʔ͕Ѳ͍ͯ͠ͳ͍ ▸ ΠϯϑϥϦϙδτϦ͕ͳ͍ ▸ infrastructure as codeͬͯͳ͍ ▸ खಈͰΠϯετʔϧ͔aws cliͰཧ͍ͯ͠Δ ▸ ଐਓԽ͍ͯ͠Δ
Slide 5
Slide 5 text
SREνʔϜ ͱͯ͠ಈ͜͏ʂʂ
Slide 6
Slide 6 text
(28ষ) SREͷΛՃ͢Δํ๏: ৽ਓ͔ΒΦϯίʔϧ୲ ɺͦͯͦ͠ͷઌ
Slide 7
Slide 7 text
SREͷఆٛ ▸ αΠτͷ৴པੑΛอূ͢Δ(αΠτ৴པੑΤϯδχΞ) ▸ ӡ༻ۀͱαΠτͷ৴པੑ্ͷ2ͭͷׂΛ୲͏ ▸ ੵۃతʹίʔυΛهड़ ▸ ӡ༻ΛΫϥυࣗಈԽʹஔ͖͑Δ
Slide 8
Slide 8 text
SREʹٻΊΒΕΔͷ ᶃ ▸ Πϯϑϥٕज़ TCP/IPɺHTTPͳͲͷωοτϫʔΫϓϩτίϧʹ͍ͭͯͷ ͔ࣝΒɺύϑΥʔϚϯεվળɺϛυϧΣΞͷػೳࣝ ▸ ΞϓϦέʔγϣϯٕज़ Կ͔͠Βͷϓϩάϥϛϯάݴޠࣝ ʢPHPɺPythonɺRubyͳͲʣ ͪΖΜΠϯϑϥϓϩϏδϣχϯά
Slide 9
Slide 9 text
SREʹٻΊΒΕΔͷ ᶄ ▸ ηΩϡϦςΟࣝ ࠷ݶͷηΩϡϦςΟࣝඞਢ ▸ ίϛϡχέʔγϣϯೳྗ ϝϯόʔ։ൃνʔϜͱͷڞ༗ ڠྗ͠ͳ͕Β։ൃΛߦ͏ͨΊ
Slide 10
Slide 10 text
SREΤϯδχΞϦϯάʹՃ͑ͯಛΛൃش͢Δ ▸ ༏ΕͨϦόʔεΤϯδχΞϦϯάͷεΩϧΛ࣋ͭ →γεςϜͷಈ࡞Λཧղ͢Δ ▸ ౷ܭతʹߟ͑Δೳྗ͕ඞཁ →ੳൺֱΛ͏·͘ߦ͑ΔΑ͏ʹ܇࿅͢Δ ▸ ྟػԠมʹߦಈ →ࠜຊతͳݪҼΛൃݟʂ
Slide 11
Slide 11 text
SREڭҭํ๏
Slide 12
Slide 12 text
SREνʔϜʹͳ͔ͬͯΒ ▸ োରԠϝϯόʔશһͰ ▸ infrastructure as codeඞਢ ▸ wikiͷॻ͖ํͳͲڭ͑Δ ▸ ேձΛ࢝Ίͨ ɾࡢԿΛͬͨͷ͔ ɾࠓԿΛΔͷ͔ ɾԿʹͦΜͳʹϋϚ͍ͬͯΔͷ͔ ɾڞ༗ࣄ߲ ▸ શϓϩδΣΫτରԠͰ͖ΔΑ͏ʹ
Slide 13
Slide 13 text
SREνʔϜͷओͳۀ ▸ αʔόɺϛυϧΣΞͷՄ༻ੑͷҡ࣋ɾ্ ▸ αʔόɺϛυϧΣΞͷύϑΥʔϚϯεͷ্ ▸ ϩάऩू/ՄࢹԽɺੳج൫ͷߏஙɺӡ༻(Redash) ▸ αʔόϓϩϏδϣχϯά(Terraform,Ansible) ▸ ηΩϡϦςΟ/੬ऑੑͷ୲อ(Vuls) ▸ ։ൃڥͳͲͷϝϯς(Vagrant,docker) ▸ 24࣌ؒࢹରԠ(zabbix) ▸ DevOpsνʔϜͱͯ͠ۀվળ
Slide 14
Slide 14 text
VULSͬͯ·͔͢?
Slide 15
Slide 15 text
ҧ͍·͢
Slide 16
Slide 16 text
VULSͱ ▸ ʮVULnerability Scannerʯͷུ ▸ ϑϡʔνϟʔΞʔΩςΫτͷਆށࢯɺྛࢯʹΑΔ։ൃ ▸ Linuxαʔόʹଘࡏ͢Δ੬ऑੑΛεΩϟϯ ▸ OSύοέʔδཧର֎ͷϛυϧΣΞΛεΩϟϯ ▸ ΤʔδΣϯτϨεΞʔΩςΫνϟ(SSH) ▸ ઃఆϑΝΠϧͷςϯϓϨʔτࣗಈੜ ▸ EmailSlackͳͲ௨ՄೳʢຊޠͰͷϨϙʔτՄೳʣ
Slide 17
Slide 17 text
ͿͬͪΌ͚੬ऑੑରԠͬͯ… ▸ ωοτϝʔϧͰใΛಘΔ(ݟಀ͕ͪ͠ɺ͔Βͷ์ஔ) ▸ αʔό͕ϨΨγʔͳͷ͋ΓɺରԠ͠ͳ͍͍ͯ͘ͱ͔… ▸ ଞʹ੬ऑੑ͋ΔͷͰͱશαʔόௐࠪ͠ͳ͍ͱ͍͚ͳ͍ (ࠓߋযΓ) ▸ ੬ऑੑ༰Λ֬ೝ͢Δ͚ͩͰ͘ͳΔ ▸ ຯͳ࡞ۀ
Slide 18
Slide 18 text
JVN ੬ऑੑϨϙʔτ @JVNJP
Slide 19
Slide 19 text
ͪͳΈʹ ▸ ੬ऑੑରࡦใσʔλϕʔεJVN iPediaͷొঢ়گ [2017 ୈ2࢛ظʢ4݄ʙ6݄ʣ70,996݅ʂ
Slide 20
Slide 20 text
ߏਤ ▸ 2017/05~ ▸ CentOS 6.9 ▸ Zabbix3.0.10 ▸ Vuls v0.3.0 ▸ Go v1.8.3
Slide 21
Slide 21 text
Πϯετʔϧ ํ๏ʂʁ
Slide 22
Slide 22 text
Πϯετʔϧํ๏ ▸ ؆୯ͳͷͰׂѪ͍͖ͤͯͨͩ͞·͢ ▸ ࢀߟࢲͷϒϩάͰ ▸ https://blog.adachin.me/archives/5540 ▸ εΩϟϯ͍ͨ͠αʔόͰࣄલʹઃఆ͓ͯ͘͜͠ͱ ɾvulsϢʔβ( ͳΜͰ)NOPASSʹsudoersݖݶΛ͚ͭΔ ɾyum-plugin-changelog͕ೖ͍ͬͯΔ͜ͱ ▸ ↑͜͜ΒΜAnsibleԽ͓͖ͯ͘͠
Slide 23
Slide 23 text
CONFIG.TOML
Slide 24
Slide 24 text
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
Slide 25
Slide 25 text
ఆظతʹ࣮ߦ͍ͨ͠߹ ▸ cronʹࠐΊOK ▸ scan࣌ʹϩά͕resultsԼʹཷ·ΔͷͰআ(5ੈ)
Slide 26
Slide 26 text
VULS REPO ▸ Web UI Load Error
Slide 27
Slide 27 text
VULS ΧελϚʔ αϙʔτʹฉ͍ͯΈͨ (2िؒϋϚͬͨͨΊ)
Slide 28
Slide 28 text
VULS SLACK ▸ ͳʹΒେܕόʔδϣϯ ग़Δ͔Β Ξοϓͯ͠ࢼͯ͘͠Εͱʂ
Slide 29
Slide 29 text
2017/08/25 V0.4.0 RELEASE!
Slide 30
Slide 30 text
VULS UPDATE TO 0.4.0 ▸ 2017/8/28 ▸ $ vuls -v vuls v0.4.0 0ba490c ▸ $ go version go version go1.9 linux/amd64 ▸ Ξοϓσʔτ͠·ͨ͠ʂ
Slide 31
Slide 31 text
VULS V0.4.0 ▸ εΩϟϯਫ਼େ෯্ ▸ ϨϙʔτͷใྔΞοϓ(?͕ݮΔ) ▸ fast(sudoͳ͠ɺ αʔόෛՙͷεΩϟϯϞʔυ) σϑΥϧτ
Slide 32
Slide 32 text
VULS REPO V0.4.0 ▸ 0.4.0͔Βweb αʔόΛ࣋ͨͳͯ͘ OKʹʂ ▸ goͷhttpύοέʔδͰ ಈ͘(μΠδΣετೝূ) ▸ Port 5111
Slide 33
Slide 33 text
VULS REPO ▸ ՄࢹԽ͢Δ͜ͱͰ੬ऑੑ͕Ͳͷ͘Β͍͋Δͷ͔அͰ͖Δ
Slide 34
Slide 34 text
VULS ੬ऑੑΞοϓσʔτϑϩʔਤ
Slide 35
Slide 35 text
VULS/ZABBIX SERVER 1ϲ݄ͷύϑΥʔϚϯε
Slide 36
Slide 36 text
Ͳ͜·Ͱ੬ऑੑରԠ͢Δͷ͔ ▸ ਖ਼ͯ͢Ξοϓσʔτ͢Δͷՙ͕ॏ͍… (Kernel࠶ىಈͱ͔)→ଟ͍ͷͰߜΔඞཁ͕͋Δ ▸ ୈࡾऀ͕߈ܸͦ͢͠͏ͳαʔό (LBͿΒԼ͕ͬͯΔͷϚετ) ▸ ੬ऑੑ0ͱ͍ͬͯະͷͷ͋Δ ▸ Ͱ੬ऑੑͪΌΜͱΞοϓσʔτ͢Δํ͕҆৺
Slide 37
Slide 37 text
·ͱΊ ▸ Vulsͷಋೖ؆୯ͰӡӦָͪΜʂ ▸ Vulsͷ͓͔͛Ͱ੬ऑੑରԠΛΕͳ͍ʂ ▸ vuls scan࣌ʹෛՙͳ͍ʂVulsઐ༻αʔό͍Βͳ͍! ▸ ͜Ε͔ΒVulsඞਢʂ
Slide 38
Slide 38 text
ߦ͖·͠ΐ͏ʂʂʂ
Slide 39
Slide 39 text
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠!