Share
Embed
Hardening におけるトラブルシューティング / Troubleshooting in Hardening
Hardening 2020 Deep Digital Dependence の登壇資料です。
https://wasforum.jp/2020/08/hardening-2020-deep-digital-dependence/
Narimichi Takamura
September 05, 2020
Transcript
33 slides
-
Hardening ʹ͓͚Δ τϥϒϧγϡʔςΟϯά גࣜձࣾϋʔτϏʔπ औక ߴଜ ಓ 2020/09/04-05 Hardening 2020
Deep Digital Dependence | @nari_ex -
about me • ॴଐ • גࣜձࣾϋʔτϏʔπ औక • ͖ͳήʔϜ •
ετϦʔτϑΝΠλʔV • Hardening • 2020 BO ͰάϥϯϓϦड • ΑΓৄࡉͳใͪ͜Β • h1ps:/ /www.nari-ex.com/about/ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 2 -
גࣜձࣾϋʔτϏʔπ • 2005ۀ • ࣄۀ༰ • MSP ࣄۀ • Πϯϑϥӡ༻ͷΞτιʔαʔ
• ࢹɺઃܭɺߏஙɺΫϥυಋೖࢧ ԉɺίϯαϧςΟϯά • ։ൃࣄۀ • ࣾһ: 71໊ʢ8ׂҎ্͕ΤϯδχΞʣ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 3 -
͜ͷηογϣϯʹ͍ͭͯ • Hardening ࣗମͷઆ໌ׂѪ͠·͢ • Hardening ͷোରԠΛߦ͏্ͰॏཁͳϙΠϯτΛ͓͠·͢ • τϥϒϧγϡʔςΟϯάະܦݧͷํ͚ͷࢿྉͰ͢ •
۩ମతͳରԠৄࡉʢઃఆίϚϯυͳͲʣͷ͠·ͤΜ • SRE IMS ͷݟ౿·͑ͯൃද͠·͢ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 4 -
Agenda • SRE ͱ IMS ͔Βͷֶͼ • τϥϒϧγϡʔςΟϯά • ΠϯγσϯτϚωδϝϯτ
• Hardening BO 2020 Ͱ࣮ࡍʹͬͨ͜ͱ • Hardening ʹ͓͚ΔোରԠͷϙΠϯτ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 5 -
SREຊʹ͓͚ΔোରԠʹؔ࿈͢Δষ • 12ষ: ޮతͳτϥϒϧγϡʔςΟϯά • 13ষ: ۓٸରԠ • 14ষ: Πϯγσϯτཧ
2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 8 -
ࣄ͕͏·͍͘͘߹ͱ͍͏ͷ ɺࣄ͕͓͔͘͠ͳΔ߹ͷதͷ ಛघͳྫʹա͗ͳ͍ɻ — John Allspaw 2020/09/04-05 Hardening 2020 Deep
Digital Dependence | @nari_ex 9 -
τϥϒϧγϡʔςΟϯάͷϓ ϩηε • ͷϨϙʔτ • ظ͞ΕΔಈ࡞ͱ࣮ࡍͷಈ࡞Λࣔ͢ • ex. ࣗಈԽ͞ΕͨࢹγεςϜʹΑΔΞϥʔτ௨ •
ex. ಉ྅͔ΒʮγεςϜ͕͘ͳ͍ͬͯΔʯͱฉ͍ͨ • τϦΞʔδ • ͷॏཁΛஅ্ͨ͠ͰͳʹΛ͖͔͢அ͢Δ • ؍ɺஅ • ରͷγεςϜͷใΛݩʹݪҼΛಛఆ͢Δ • ςετ/ରॲɺ෮چ • ಛఆͨ͠ݪҼͷରࡦΛߦ͍ɺ෮چͤ͞Δ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 10 -
τϥϒϧγϡʔςΟϯάͷϓϩηεΛཧղ͢Δ͚ͩͰෆे Hardening BO 2020 Ͱ͜ΜͳڥͰͨ͠ • ॳݟ ͷγεςϜ܈ • 6ʙ8໊ఔͷνʔϜ
Ͱ࡞ۀΛߦ͏ • ސ٬ͱͷίϛϡχέʔγϣϯ ͕ੜ͡Δ • ཧతʹ ͨ͠ΦϖϨʔγϣϯࣨ • ۮવى͖ΔোͰͳ͘ɺഁյΛతͱͨ͠߈ܸͷରԠ • ...etc 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 11 -
Hardening ͷτϥϒϧγϡʔςΟϯά • ຖ৮ͬͯΔγεςϜͷখ͞ͳোΛࣗҰਓͰαΫοͱରԠ ͢ΔΑ͏ͳͷͰͳ͍ • → ͷલͷγεςϜ͚ͩͰͳ͘ɺোରԠʹཱ͔ͪ͏ਓͷ ׂମ੍౿·͑ͯߟ͑Δ 2020/09/04-05
Hardening 2020 Deep Digital Dependence | @nari_ex 12 -
“Fire is not an emergency to the fire department. It’s
what we do.” ՐࡂফॺʹͱͬͯۓٸࣄଶͰ ͳ͍ɻͦΕզʑͷΔ͜ͱͩɻ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 14 -
Incident Management for Opera2ons • ফॏཁΠϯϑϥʹؔΘ͖ͬͯͨਓ͕ͨͪ IMS Λ IT ӡ༻ʹ
ద༻ͤͨ͞ͷΛհ͍ͯ͠Δ • IMS ͱɺͱͱ40Ҏ্ʹΓɺશถͷফॺ͕͋ΒΏΔ छྨͷۓٸࣄଶʹରԠ͢ΔͨΊʹར༻͖ͯͨ͠ϑϨʔϜϫʔΫ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 15 -
ࢀߟ: ΠϯγσϯτϥΠϑαΠΫϧ ΠϯγσϯτରԠͷମ੍౿·͑ͯରԠΛߦ͏ 1. Λݕ͢Δ 2. ͕Πϯγσϯτͳͷ͔Πϕϯτͳͷ͔அ͢Δ 3. దͳΠϯγσϯτରԠνʔϜΛฤ͢Δ 4.
ରԠνʔϜͷฏۉΈཱͯ࣌ؒʢMTTAʣΛΈཱͯΔ 5. ΠϯγσϯτίϚϯμʔΛཱ֬͠ɺϦιʔεΛཧ͠ɺΠϯγσϯτͷతΛઃఆ͢Δ 6. IMSΛར༻ͯ͠ɺରԠΛߦ͏ 7. దͳརؔऀʹ௨͢Δ 8. ΠϯγσϯτΛղܾͯ͠ɺϦιʔεΛղ์͢Δ 9. AARʢA1er Ac6on ReviewʣΛ࣮ࢪ͢Δ 10. ࣭վળʢQIʣͱ࣭อূʢQAʣΛ࣮ࢪ͢Δ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 16 -
ΠϯγσϯτରԠνʔϜ • Incident Commander (IC) • ΠϯγσϯτରԠͷϦʔμʔ • ҙࢥܾఆɺϑΝγϦςʔλʔ •
Communica2on Officer (Comms) • ICΛิࠤ͠ɺؔऀʹ࿈བྷΛߦ͏ਓ • Situa2onal Status (Scribe) • Πϯγσϯτʹؔ࿈ͨ͠ใΛه͢Δਓʢॻهʣ • Group Leader • ઐՈάϧʔϓͷϦʔμʔɻ࣮ࡍʹରԠΛऔΓΔਓ • Subject Ma>er Expert (SME) • ઐՈ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 17 -
͜͜·Ͱͷ·ͱΊ • τϥϒϧγϡʔςΟϯά • ͷϨϙʔτ͕ى • ԾઆɾݕূΛ܁Γฦ͢͜ͱͰγεςϜΛ෮چʹಋ͘ • ΠϯγσϯτϚωδϝϯτ •
ΠϯγσϯτίϚϯμʔ͕ରԠͷத৺ • ׂணखલʹܾΊΔ • ࣮ରԠ͢ΔׂʢSMEʣҎ֎ׂͱ͋Δ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 18 -
͜Ε·ͰͷݟΛࣄલ४උʹద༻ • γεςϜҎ֎ͷ୲ؚΊׂͯ୲Λߦ͏ • ΠϯγσϯτίϚϯμʔΛ໌֬ʹ͢Δ • ҟৗݕͷΈΛߟ͑Δ • ࢹγεςϜʹΑΔݕ •
ਓʹΑΔݕ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 20 -
લ ·Ͱ ʹͬͨ͜ͱ • ׂͷΞαΠϯ • શһͰإ߹ΘͤʢҿΈձʣ • τϥϒϧγϡʔςΟϯά୲Ͱͷଧͪ߹Θͤ •
γεςϜ୲ߏѲ • ҰਓͻͱΓ͕ॳಈ࣌ʹΔ͜ͱΛܾఆ • αʔϏεURLҰཡͷ४උ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 21 -
ׂ୲ͷ༰ • ΠϯγσϯτίϚϯμʔΛࣄલʹܾఆ && ݕͱରԠͷׂΛ۠ผ • ۩ମతʹҎԼͷ5ͭͷׂΛׂΓͯ • ΠϯγσϯτίϚϯμʔʢλεΫ༏ઌɺܦࡁ݅ͷҙࢥܾఆͳͲʣ •
τϥϒϧγϡʔςΟϯά1ʢݕɺΓ͚ʣ • τϥϒϧγϡʔςΟϯά2ʢରࡦ࣮ࢪʣ • ෦ͷϨϙʔλʔ݉ব֎ • ൢചཧʢαʔϏεʹΑΔച্ͷཧͳͲʣ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 23 -
։࢝ޙʹͬͨ͜ͱ • ࢹπʔϧʢZabbixʣ ʹΑΔࢹઃఆ • ར༻͍ͯ͠ͳ͍ϛυϧΣΞͷఀࢭɾআ • Rainloop, phpmyadmin, phppgmyadmin
ͳͲ • ֤ॴͷύεϫʔυมߋ • ֤σʔλͷόοΫΞοϓ • ෆཁͳωοτϫʔΫΞΫηεͷःஅ • ex. WAN ͔Β DMZ ͷ DB ϙʔτͷΞΫηεःஅ • IPS ͷಋೖʢCisco ༷ఏڙʣ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 24 -
ͷτϥϒϧγϡʔςΟϯά • Өڹൣғͷେ͖͍োΛ༏ઌతʹରॲ • ඞཁʹԠͯ͡োରԠؒͰϖΞΦϖ • ணखͱ෮چͷ࿈བྷ͜·Ίʹ 2020/09/04-05 Hardening 2020
Deep Digital Dependence | @nari_ex 25 -
ࢀߟ: ։࢝࣌ͷෆඋɾෆ۩߹ʹΑΔো • ࠾༻αΠτ: DB ଓઌͷ࠶ઃఆ • νϟοτ: Docker ίϯςφΛਖ਼͘͠ىಈ
• Shop3: ࣄલͷυΩϡϝϯτͷURL͕͍ؒͬͯΔ • Shop3: POST ϦΫΤετ࣌ͷϦΫΤεταζ্ݶ͕10KͰ͋ͬͨͨΊ͕Ҿ্͖͛ • m-pay: υϝΠϯ໊Λਖ਼͍͠ͷʹSQLʹ͖ͯ͑ • m-pay: ϓϥάΠϯϑΝΠϧͷΞΫηεݖݶमਖ਼ • Nginx: Nginx + PHP-FPM +fastcgi_split_path ͷΈ߹ΘͤʹΑΔऑੑͷमਖ਼ • EC-CUBE: ΠϯετʔϧεΫϦϓτͷୀආ • EC-CUBE: େྲྀߦͨ͠طͷ੬ऑੑͷରࡦ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 26 -
ࢀߟ: ։࢝ޙͷ߈ܸʹΑΔো • Shop: iptables ͷ INPUT νΣΠϯʹ443, 80 ϙʔτͷଓΛ
DROP ͢ΔϧʔϧՃ͞Ε͍ͯ Δ • શମ: αʔόͰ໊લղܾ͕Ͱ͖ͳ͍ • srv4,6: ΫϨδοτΧʔυใΛҾͬ͜ൈ͘JS ϑΝΠϧ͕ஔ͔Ε͍ͯΔ • શମ: ϛυϧΣΞ͕Β͵ؒʹམ͍ͪͯΔ • Shop: PHP-FPM ͕ਖ਼ৗʹಈ࡞͠ͳ͍ • srv4,6: 25൪ϙʔτΛར༻ͯ͠֎෦େྔσʔλ͕ૹ৴͞Ε͍ͯΔʢΫϨΧใྲྀग़ʁʣ • srv7: όφʔͷը૾͕ϋοΩϯάޙͷը૾ʹͳ͍ͬͯΔ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 27 -
Hardening ʹ͓͚ΔোରԠͷϙΠϯτ • ։࢝લͱ։࢝ޙͷ४උ͕େ • ಛʹҎԼͷ2͕ॏཁ • ׂ୲ • ҟৗݕ
2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 30 -
ׂ୲ • ΠϯγσϯτίϚϯμʔͷઃஔ • ݕͱରԠͷ • ࣗνʔϜͰɺγεςϜʹʑ৮Ε͍ͯΔ͚ͲোରԠͷ ܦݧ͋·Γͳ͍ํ͕ͨͪݕͰͨ͠ 2020/09/04-05 Hardening
2020 Deep Digital Dependence | @nari_ex 31 -
ҟৗݕ • ඞͣࢹγεςϜͱਓͷͷ྆ํͰߦ͏ • ಥ؏ͰೖΕͨࢹઃఆ࿙Ε͕ଟ͍ͷͰɺਓ͕αʔϏεε ίΞΛఆظతʹ֬ೝ͢Δͷॏཁ • ҟৗͷ࿈བྷͰ͖Δ͚ͩه͕ΔܗࣜͰߦ͏ • ޱ಄ͩͱใ͕شൃͯ͠Εͯ͠·͏ͨΊ
2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 32 -
·ͱΊ • SRE IMS ΛݩʹτϥϒϧγϡʔςΟϯάΠϯγσϯτϚω δϝϯτͷݟΛհ͠·ͨ͠ • Hardening Ͱ࣮ࡍʹߦͬͨ͜ͱΛհ͠ɺϙΠϯτΛ·ͱΊ·
ͨ͠ 2020/09/04-05 Hardening 2020 Deep Digital Dependence | @nari_ex 33