Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How to build/ops websites safety (2020-12-10)
Daiji Hirata
December 10, 2020
Business
0
79
How to build/ops websites safety (2020-12-10)
ウェブサイト運用にともなうリスクと安定運用のコツ
2020.12.10 シックス・アパート オンラインミニセミナー スライド
Daiji Hirata
December 10, 2020
Tweet
Share
More Decks by Daiji Hirata
See All by Daiji Hirata
MTDDC Meetup Tokyo 2022 Keynote
hirata
0
13
MTDDC meetup Tokyo 2021 Keynote
hirata
0
1.1k
How to build a Robust Website for Peak Traffics (2021-02-12)
hirata
0
26
MTDDC Meetup Tokyo 2020 Keynote
hirata
0
110
MTDDC Meetup Tokyo 2019 Closing Session
hirata
0
1.2k
AWS-ISV-SaaS-Seminar-2019-10-28-Tokyo
hirata
0
51
SAtisfaction 2019 Movable Type and Security
hirata
0
1.3k
MovableType.net in contents.nagoya 2019
hirata
0
26
Internet veterans 2019-05-25
hirata
0
2.1k
Other Decks in Business
See All in Business
株式会社gecogeco 会社紹介資料
gecogeco
1
500
SPOT 六本木 利用ガイド
holder_spot
0
160
20230118 kazaneya TeckTalk3 Data Standards and Open Data Initiatives by the Digital Agency of Japan
haseryo
5
4.1k
「分析組織でデータエンジニア組織を立ち上げた話」(バンダイナムコネクサス藤井 祐麻さん)
jdmc
0
170
ファシリテーションの基本がわかる資料
nyattx
PRO
2
270
ネクストビートコーポレートガイド/corporate-guide
nextbeat
1
21k
JAWS-UG 朝会 #41 登壇資料
o2mami
1
750
成長する企業・膨張する企業の違いがわかる資料
nyattx
PRO
1
190
WASABI Company Guide
takumiman5
0
170
booost technologies株式会社 会社紹介
booost
1
100
we-are-hiring
yk1224
0
910
動かない部下を確実に動かす方法がわかる資料
nyattx
PRO
1
1.4k
Featured
See All Featured
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
128
8.8k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
Optimizing for Happiness
mojombo
365
64k
Adopting Sorbet at Scale
ufuk
65
7.8k
Atom: Resistance is Futile
akmur
256
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
Unsuck your backbone
ammeep
659
56k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
Robots, Beer and Maslow
schacon
154
7.3k
Building Adaptive Systems
keathley
27
1.3k
Support Driven Design
roundedbygravity
88
8.9k
Web Components: a chance to create the future
zenorocha
304
40k
Transcript
γοΫεɾΞύʔτ ฏా େ࣏ ΣϒαΠτӡ༻ʹͱͳ͏ϦεΫͱ҆ఆӡ༻ͷίπ ΣϒαΠτΛ҆৺ͯ͠׆༻͢ΔͨΊʹ͓͖͍ͬͯͨ͜ͱ
ͻΒ͍ͨͩ͡ 4JY"QBSU %JSFDUPS $50 !IJSBUB
ࠓͷ • ΣϒαΠτӡ༻্ͷϦεΫͱݪҼ • جຊతͳରࡦ • ରࡦͷҰྫɺެ։αʔόͷ • ͦͷଞɺؾΛ͚ͭΔ͜ͱ
ΣϒαΠτͷϦεΫ͍Ζ͍Ζ • αΠτͷվ᜵ɺͬऔΓ • αΠτͷμϯ • ใ࿙Ӯ • ౿ΈʹΘΕ͍ͯͨ •
ߋ৽͕Ͱ͖ͳ͘ͳͬͨ
αΠτͷվ᜵ɺͬऔΓ • ใͷૢ࡞ • ϚϧΣΞ͕͞Ε͍ͯͨ • ѱҙͷ͋ΔϓϩάϥϜΛΫϥΠΞϯτʹ࣮ߦͤ͞Δ • ϑΟογϯάٗʹΘΕ͍ͯͨ •
ݸਓใΫϨδοτΧʔυใΛ౪·ΕΔ
None
ෛͷ࿈ • ϚϧΣΞ / ϑΟογϯάʹΘΕΔ • ϒϩοΫϦετʹొ͞ΕΔ • Safe Browsing
ػೳͰαΠτ͕දࣔ͞Εͳ͘ͳΔ…
αΠτͷμϯ • αΠτ͕ਅͬനʹͳͬͨ • 404 Not Found φκͷΤϥʔը໘
ใ࿙Ӯ • αʔόʹอଘ͍ͯͨ͠ݸਓใ͕… • ·ͩެ։͍ͯ͠ͳ͍ͣͷ PDF ϑΝΠϧ͕…
౿Έʹ͞Ε͍ͯͨ? ඪతܕ߈ܸʹΘΕͨྫ • Βͳ͍ϑΝΠϧ͕͔ࣾΒΞοϓϩʔυ͞Ε͍ͯͨ • Βͳ͍αʔό͔ΒͷΞΫηεͰμϯϩʔυ͞Ε͍ͯͨ • Βͳ͍ϑΝΠϧ͕ࣾ֎͔ΒΞοϓϩʔυ͞Ε͍ͯͨ • ࣾͷPC͔ΒφκͷΞΫηε͕…
ߋ৽͕Ͱ͖ͳ͍ • CMS ͷཧը໘ʹϩάΠϯͰ͖ͳ͍ • αʔόͷΞΧϯτ͕Θ͔Βͳ͍
͞·͟·ͳݪҼ • ֎෦͔ΒͷͳΜΒ͔ͷΞΫγϣϯ (߈ܸ) • ނো • ୯७ͳϛε • ෦൜ߦ
• ͳʹ͍ͯ͠ͳ͍ͷʹ……
جຊతͳରࡦͷߟ͔͑ͨ • ݪҼΛ༧͠ɺͦΕͧΕͷରࡦΛߟ͑Δ • ϦεΫΛࣄલʹݮΒ͢ • ͠ൃੜͨ͠ͱ͖ͷϦΧόϦʔํ๏Λࣄલʹ༻ҙ͓ͯ͘͠ • ӡ༻ʹؾΛ͏ •
αʔόɺΞϓϦέʔγϣϯΛ҆શʹอͭ • ेͳϦιʔεΛख͢Δ • ීஈ͔ΒϦεΫʹඋ͑Δ
ҰൠతͳΣϒαΠτͰͷߟ͔͑ͨ • ҰൠͷใఏڙͷͨΊͷΣϒαʔό • ίʔϙϨʔταΠτͳͲ • ߋ৽ਵ࣌ɺσβΠϯมߋͳͲසൟͰͳ͍ • ड͚Δͷ͍߹ΘͤϑΥʔϜఔ
ҰൠతͳΣϒαΠτͰͷߟ͔͑ͨ • ެ։༻αʔόͱΞϓϦέʔγϣϯ༻αʔόΛ͢Δ • CMS αʔόҰൠ͔ΒΞΫηεͰ͖ͳ͍Α͏ʹɺ੍ݶ͢Δ • ΞΫηε੍ݶɺωοτϫʔΫͷ • ެ։༻αʔόʹɺඞཁͳΞϓϦέʔγϣϯͷΈઃஔ͢Δ
• ੩తίϯςϯπͷΈͩͱɺ͔ͳΓ҆શ
010111……… ެ։ྖҬ CMS 1ͷαʔόʹͯࠞ͢ࡏ html, image, css, js, etc.
ެ։༻αʔό CMS ެ։ྖҬ 010111……… ެ։༻αʔόͱ CMS Λ͢Δ
ެ։༻αʔόͷ • αΠτΛ੩తίϯςϯπͱͯ͠४උ͠ɺެ։༻αʔόʹసૹ͢Δ • MT ͩͱϓϥάΠϯΛར༻͢Δ͜ͱ͕Ұൠత • Uploader, SmartSyncPack, Movable
Type Premium (SiteSync) • MT Ϋϥυʹඪ४Ͱαʔό৴Λ༻ҙ͍ͯ͠Δ • సૹઌͱରԠ͢Δϓϩτίϧʹҙ • FTPS, SFTP, rsync, S3 (AWS) ͳͲ
ެ։༻αʔό CMS ެ։ྖҬ 010111……… ඇެ։ྖҬ ৴ ࠶ߏங (੩తϑΝΠϧߏங)
৴ػೳͷϝϦοτ • ৴ઌΛෳ༻ҙ͢Δ͜ͱͰɺεςʔδϯάͷΑ͏ʹར༻Ͱ͖Δ • ίϯςϯπΛͯ͠ཧ͢Δ͜ͱ͕Ͱ͖Δ • େنαΠτͷҰ෦͚ͩΛ MT ΫϥυͰཧ͢Δ •
෦ຖʹ৴Λ͚Δ
ެ։༻αʔό ඇެ։ྖҬ ৴ ֬ೝ༻αʔό ৴ CMS
ެ։༻αʔό CMS ඇެ։ྖҬ Ұ෦ͷྖҬʹ͚ͩ৴
CMS ͷΞΫηε੍ݶηΩϡϦςΟڧԽ • IP ΞυϨεͷ੍ݶ • ύεϫʔυอޢ • WAF ͷར༻
CMS ͷӅṭ • CMS ΞϓϦέʔγϣϯͷΞΫηεΛ੍ݶ͢Δ • ϗετͷӅṭ • ϓϥΠϕʔτωοτϫʔΫʹઃஔͯ͠ VPN
ܦ༝ͰΞΫηε • ެ։αʔόͷίϯςϯπ৴Ҏ֎ΛڐՄ͠ͳ͍ • ֎෦ͷτϥϑΟοΫͷࢹ͕༰қʹ ౿ΈʹͳΔϦεΫΛܰݮͰ͖Δ
ެ։༻αʔό CMS VPN ͳͲͰΞΫηεΛ੍ݶɾཧ ৴ (Ұํ) ֎෦͔Βͷ௨৴ःஅ 010111………
ެ։αʔόͷߏྫ • Apache • SSI htaccess ͍͍ͨ • Amazon
S3 • + CDN • + CDN + WAF + DDoS ରࡦ
ެ։༻αʔόΛηΩϡΞʹ • ΞϓϦέʔγϣϯͷઃஔΛߦΘͳ͍ɺ੍͘͠ݶ͢Δ • PHP ͷར༻εΫϦϓτͷઃஔܧଓϝϯςφϯεͰ͖Δ͔Ͳ͏͔ • SSI .htaccess
Θͳ͍ͳΒɺS3 ͷར༻ࢹʹೖΔ • ϑΥʔϜɺݕࡧͳͲαʔϏεΛར༻͢Δ͜ͱΛߟ͑Δ • ಠࣗΞϓϦέʔγϣϯαʔόΛͯ͠ CORS ReverseProxy Ͱͷӡ༻ߟ͑Δ
ެ։༻αʔό iframe ͰΈࠐΈ
ެ։༻αʔόΛηΩϡΞʹ • ΞϓϦέʔγϣϯͷઃஔΛߦΘͳ͍ɺ੍͘͠ݶ͢Δ • PHP ͷར༻εΫϦϓτͷઃஔܧଓϝϯςφϯεͰ͖Δ͔Ͳ͏͔ • SSI .htaccess
Θͳ͍ͳΒɺS3 ͷར༻ࢹʹೖΔ • ϑΥʔϜɺݕࡧͳͲαʔϏεΛར༻͢Δ͜ͱΛߟ͑Δ • ಠࣗΞϓϦέʔγϣϯαʔόΛͯ͠ CORS ReverseProxy Ͱͷӡ༻ߟ͑Δ
ΑΓҙ͢Δ͜ͱ • ނোࣄނʹඋ͑ͨߏ • ೋॏԽ…ϗετɺωοτϫʔΫɺσʔληϯλ • γεςϜͷఆظతͳϝϯςφϯε • ϛυϧΣΞΞϓϦέʔγϣϯͷΞοϓσʔτɺઃఆͷ֬ೝ •
ϩάͷ֬ೝ • ఆظతͳόοΫΞοϓ • όοΫΞοϓͷೖखੑɺੈ • ϦετΞखॱͷ֬ೝτϨʔχϯά
ࣗͰΔͷ͕େมͩͱࢥͬͨΒ • ϚωʔδυαʔϏε SaaS ͷ CMS Λར༻͢Δ • Movable Type
Ϋϥυ൛ • αʔό৴ػೳΛඪ४උ • MovableType.net • αʔϏεͱͯ͠ɺ͞·͟·ͳϦεΫʹྀͯ͠ӡӦ͍ͯ͠·͢
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠