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
webサイトのセキィリティまとめ
Search
nyoshiky
July 29, 2017
Technology
69
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
webサイトのセキィリティまとめ
webサイトのセキュリティ対策にはどのようなものがあるか、まとめてみました。
nyoshiky
July 29, 2017
Other Decks in Technology
See All in Technology
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Refining Active Record
shugo
0
150
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
Classmethod Company Deck
satoshi7
1
680
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Kiro Crewをはじめよう
kizawa2020
1
160
USB PDを使ってスマホを労わりたい
raspython3
0
180
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
4 Signs Your Business is Dying
shpigford
187
23k
Rails Girls Zürich Keynote
gr2m
96
14k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Writing Fast Ruby
sferik
630
63k
Navigating Team Friction
lara
192
16k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
WEBαΠτͷηΩϡϦςΟରࡦ ͡ΊͷҰา
͜ͷεϥΠυͷత - webαΠτͷηΩϡϦςΟରࡦʹ͍ͭͯ֓ཁΛѲ͢Δɻ
ใηΩϡϦςΟ10େڴҖ ग़లɿใॲཧਪਐػߏʮใηΩϡϦςΟ10େڴҖ 2016ʯ https://www.ipa.go.jp/security/vuln/10threats2016.html ηΩϡϦςΟΠϯγσϯτͷࣄྫ ඪతܕ߈ܸ ɾJTB(2016) ɾຊۚػߏ(2015) ෦ෆਖ਼ʹΑΔใ࿙͍͑ ɾϕωοηίʔϙϨʔγϣϯ(2014)
ɾΤσΟΦϯ(2015) ΣϒαʔϏε͔Βͷݸਓใͷऔ ɾApache Struts2ͷ੬ऑੑΛ͍ͭͨ߈ܸ(2017) ɹɹ- ࠃަলɺ૯লɺGMO-PGͳͲ
WEBΞϓϦέʔγϣϯͷηΩϡϦςΟରԠਤ ਤܗ࡞ɿdraw.io
IDS / IPSʹ͍ͭͯ IDS / IPS ͱ IDSʹIntrusion Detection Systemʢ৵ೖݕγεςϜʣɻݕग़ޙʹޚાஔΛͱΒͳ͍ɻ
IPSʹIntrusion Prevention Systemʢ৵ೖޚγεςϜʣɻݕग़ޙʹޚાஔΛͱΔɻ IDS / IPS ͕ग़དྷΔ͜ͱ IDS৵ೖΛݕ͠ɺཧऀʹ௨͢Δ͜ͱ͕ओతɻ௨Λड͚ͨཧऀ͕ରࡦΛߨ͡Δඞཁ͕͋ΔͷͰɺ͕͔͔࣌ؒΔɻ IPSIDSʹޚͷػೳΛ༩ɻ৵ೖͷݕͱಉ࣌ʹ௨৴Λःஅ͢ΔͳͲɻ ֎෦͔ΒͷDDos߈ܸͷޚɺ෦͔Β֎෦ͷෆਖ਼ͳ௨৴ͷϒϩοΫͳͲ͕Մೳɻ IDS / IPS ͷछྨ ઃஔॴʹΑͬͯԼهͷछྨ͕͋Δ ʲϗετܕʳ OS͝ͱͷରࡦͱͳΔͨΊɺରίϯϐϡʔλʹݸผʹιϑτΣΞΛΠϯετʔϧ͢Δඞཁ͕͋Δɻ ʲωοτϫʔΫܕʳ ωοτϫʔΫ্ʹஔɻύέοτͷ༰Λผ͢ΔͨΊɺ৵ೖ߈ܸͷରԠ͕ૉૣ͘Ͱ͖Δɻ ͞Βʹઃஔॴ͕ʮϑΝΠΞΥʔϧͷ֎ଆʯʮDMZ্ʯʮ෦ωοτϫʔΫʯͷ̏ύλʔϯ͕͋Δɻ ɹɹ- ϑΝΠΞΥʔϧͷ֎ଆɿϩάऔಘʹΑΔ߈ܸͷѲɺੳ͕ओతɻ ɹɹ- DMZ্ɿϑΝΠΞΥʔϧͰϒϩοΫͰ͖ͳ͔ͬͨ߈ܸͷݕग़ɺޚ͕తɻ ɹɹ- ෦ωοτϫʔΫɿ෦͔Βͷෆਖ਼ͳ௨৴Λࢹ͢Δ͜ͱ͕తɻ
WAFʹ͍ͭͯ WAFʢWeb Application Firewallʣͱ webΞϓϦέʔγϣϯͷ੬ऑੑΛར༻ͨ͠߈ܸ͔ΒwebαΠτΛอޢ͢ΔηΩϡϦςΟରࡦͷͨΊͷޚπʔϧɻ ΞϓϦέʔγϣϯϨϕϧͷηΩϡϦςΟରࡦɻ WAFͷछྨ Ϋϥυܕ / ιϑτΣΞܕʢϗετܕʣ
/ ήʔτΣΠܕʢωοτϫʔΫܕʣ FirewallɺIDS / IPSͱͷҧ͍ FWɿωοτϫʔΫϨϕϧͷରࡦɻύέοτͷৼΓ͚ͷΈͰ௨৴ͷதݟͳ͍ͨΊɺ80/443൪ϙʔτͷਖ਼ৗͳ௨৴Λͬͨ߈ܸʹରԠͰ͖ͳ͍ɻ IDS/IPSɿϓϥοτϑΥʔϜϨϕϧͷରࡦʢOSϛυϧΣΞͷ੬ऑੑରԠͳͲʣɻSQLΠϯδΣΫγϣϯͳͲߴԽͨ͠߈ܸͷݕऑ͍ɻ WAFͰޚՄೳͳ߈ܸʢ˞1ʣ SQLΠϯδΣΫγϣϯɺόοϑΝΦʔόʔϑϩʔɺηογϣϯϋΠδϟοΫɺڧ੍ϒϥζɺOSίϚϯυΠϯδΣΫγϣϯ ύεϫʔυϦετ߈ܸɺXXSɺCSRFɺύϥϝλվ͟ΜɺύετϥόʔαϧɺΤϥʔίʔυ ※1ɿNECʮ InfoCage SiteShell ʯͷ߹
શHTTPSԽʹ͍ͭͯ શHTTPSԽʢৗ࣌HTTPSԽʣͱ WebαΠτͷͯ͢ͷϖʔδΛHTTPSԽʢSSL / TLS҉߸Խʣ͢Δ͜ͱɻ શHTTPSԽͷϝϦοτɾσϝϦοτ ʲϝϦοτʳ ɾηΩϡϦςΟ໘ͷڧԽ ɾݕࡧॱҐͰͷ༏۰ʢgoogleʣ ɾ௨৴ͷ্ʢHTTP/2ར༻࣌ʹHTTPS͕ඞਢʣ
ɾΞΫηεϩάղੳͷਫ਼্ʢϦϑΝϥडͷվળʣ ɾαΠτͷ৴པੑΛΞϐʔϧ ʲσϝϦοτʳ ɾطଘαΠτͷҠߦ࡞ۀͷίετ͕͔͔Δ ɾAdSenseऩӹݮগͷՄೳੑ͕͋Δ ɾSSLূ໌ॻͷൃߦඅ༻ͱӡ༻ίετ͕͔͔Δ ɾSNSͳͲͷιʔγϟϧϘλϯͷΧϯτϦηοτ
ϦόʔεϓϩΩγʹΑΔηΩϡϦςΟରࡦ ϦόʔεϓϩΩγߏʹ͢Δ͜ͱͰɺηΩϡϦςΟڧԽ͕ظग़དྷΔ 90ඵͷಈըͰֶͿITΩʔϫʔυɿϦόʔεϓϩΩγʢReverse Proxyʣ - ˏIT http://www.atmarkit.co.jp/ait/articles/1608/25/news034.html ͦͷଞϦόʔεϓϩΩγͷϝϦοτ - IPΞυϨεͷϑΟϧλϦϯάʢڐՄɺःஅʣ
- URLͷܗ - ෛՙࢄɺϝϞϦ༻ͷ্ʢ੩త / ಈతϦιʔεͷৼΓ͚ʣ - ෳαʔϏεͷαʔό౷߹ - SSLͷूதཧ
αʔόࢹʢOSSπʔϧʣ Munin Ϧιʔε༻ঢ়گͷϞχλϦϯάɻूதཧαʔόͱΫϥΠΞϯτΤʔδΣϯτܕ Nagios ωοτϫʔΫαʔϏεͷࢹɺϗετͷϦιʔεࢹ Zabbix ωοτϫʔΫࢹɺσʔλϕʔεࢹɺԾϚγϯࢹɺγφϦΦΛར༻ͨ͠ΣϒࢹɺZabbixϓϩΩγʹΑΔࢄࢹɺোݕͱΞ ϥʔτ௨ɺZabbixAPIͷఏڙ Pandora FMS
αʔόɾωοτϫʔΫػثͷࢮ׆ࢹɺSNMPࢹͳͲɻWindows ServerΛαϙʔτɻΦʔϓϯιʔε൛ͱEnterprise൛͕͋Δ sensu / uchiwa αʔόɺԾίϯςφɺσʔλϕʔεɺωοτϫʔΫػثɺϦϞʔτϦιʔεࢹͳͲɻuchiwaμογϡϘʔυͷػೳΛఏڙ͢Δผϓϩ μΫτ͕ͩɺ௨ৗsensuͱηοτͰ༻͞ΕΔɻNagiosͷεέʔϧΞτ໘ͰͷղܾͷͨΊʹ࡞ΒΕͨɻ Xymon αʔόɺωοτϫʔΫͷࢹɻSNMPରԠ͕ͩΤʔδΣϯτϨεࢹՄೳɻRRDToolͰࢹσʔλͷཧɺάϥϑදࣔɻ
ʲ͓·͚ʳCSIRTͱ γʔαʔτʢCSIRTɿ Computer Security Incident Response Teamʣ ίϯϐϡʔληΩϡϦςΟʹ͔͔ΔΠϯγσϯτʹରॲ͢ΔͨΊͷ৫ͷ૯শɻ Πϯγσϯτؔ࿈ใɺ੬ऑੑใɺ߈ܸ༧ஹใΛऩूɺੳ͠ɺରԠํखॱͷࡦఆͳͲͷ׆ಈΛ͓͜ͳ͏ɻ ຊγʔαʔτڠٞձͱʛCSIRT
- ຊγʔαʔτڠٞձʢhttp://www.nca.gr.jp/outline/index.htmlʣ ถࠃCERT Coordination CenterʹΑΔ6ྨ ৫CSIRTɿ৫Ͱൃੜͨ͠ΠϯγσϯτʹରԠ ࠃࡍ࿈ܞCSIRTɿຊͰJPCERT/CCͳͲ ίʔσΟωʔγϣϯηϯλʔɿڠྗؔʹ͋ΔଞͷCSIRTͱͷ࿈ܞɾௐ ੳηϯλʔɿΠϯγσϯτͷੳɺϚϧΣΞղੳɺࠟੳɺҙשىͳͲ ϕϯμνʔϜɿࣗࣾͷ੬ऑੑʹରԠ ΠϯγσϯτɾϨεϙϯεϓϩόΠμɿηΩϡϦςΟϕϯμɺSOCʢηΩϡϦςΟΦϖϨʔγϣϯηϯλʔʣࣄۀऀͳͲ େखಋೖࣄྫ େݐઃɺANAγεςϜζɺδϟύϯωοτۜߦɺδΣʔγʔϏʔɺ໌࣏҆ాੜ໋ɺ౦ژిྗϗʔϧσΟϯάεɺJFEϗʔϧσΟϯάε Έͣ΄ϑΟφϯγϟϧάϧʔϓɺSOMPOϗʔϧσΟϯάεɺΦϦϯύεɺϠϚϋൃಈػɺαΠϘζɺઍ༿େֶ etc… αΠόʔ߈ܸͷଟ༷ԽɺଟൃԽ͕ܦӦϦεΫͱͳΔࡢࠓʹ͓͍ͯɺ֤ࣾͱCSIRTͷߏஙΛٸϐονͰਐΊ͍ͯΔ͕ɺηΩϡϦςΟਓࡐٕज़ͷෆɺࣾ֎ ͱͷ࿈ܞɺܦӦݱͷηΩϡϦςΟҙࣝվֵɺνʔϜͷܧଓൃలͳͲ͕՝ͱͳ͍ͬͯΔɻ
ʲ͓·͚ʳϝϧΧϦݸਓใ࿙͍͑ʹݟΔΩϟογϡͷ᠘ 20176݄22ʹൃੜͨ͠ϑϦϚΞϓϦʮϝϧΧϦʯweb൛αΠτͰͷใ࿙͍͑ࣄ݅ɺCDNαʔόͷΓସ͑ʹࡍͯ͠ɺHTTPϨεϙϯ εͷʮCache-ControlϔομʔʯͷઃఆʹΑΓຊདྷΩϟογϡ͞Ε͍͚ͯͳ͍ίϯςϯπ͕Ωϟογϡ͞Εͯ͠·ͬͨ͜ͱ͕ݪҼɻ ◆Γସ͑લͷΩϟογϡઃఆ - CDNଆͰΩϟογϡઃఆʢԼهͷΩϟογϡ͕ແޮʹͳΒͳ͍߹͕͋ΔϨεϙϯεϔομͷઃఆద༻͞Ε͍ͯͳ͔ͬͨʣ ◆Γସ͑ޙͷΩϟογϡઃఆ - ସઌͷCDNϓϩόΠμ͕Cache-ControlϔομͰΩϟογϡΛແޮʹͰ͖ͨͨΊɺCDNଆͰͳ͘nginxʹΑΔઃఆʢԼهʣͷΈͱͨ͠ɻ -
͔ͦ͠͠ͷCDNϓϩόΠμͰΩϟογϡ͕ߦΘΕͳ͍ͷɺCache-Controllϔομ͕ʮprivateʯͷ߹͚ͩͩͬͨɻ - ସॳɺϝϧΧϦͰCache-Controlʹʮno-cacheʯΛઃఆ͍ͯͨ͠ɻno-cacheʮΩϟογϡ͠ͳ͍ʯͰͳ͘ɺʮʢϓϩΩγαʔό Ωϟογϡαʔόʹରͯ͠ʣΩϟογϡʹه͞Εͨίϯςϯπ͕ݱࡏ༗ޮ͔൱͔ΛɺΦϦδϯͷWebαʔόʹ͍߹Θͤͯ֬ೝ͠ͳ͚Ε ࠶ར༻ͯ͠ͳΒͳ͍ʢͱ͍͏ࢦࣔΛ͢Δʣʯͱ͍͏ҙຯͷHTTPϨεϙϯεɻWebαʔό͕ʮ304 Not Modifiedʢมߋͳ͠ʣʯͷεςʔλε ίʔυΛฦ͢ͱɺΩϟογϡ͕ΘΕͯ͠·͏ɻ - ҰํɺCache-Controlʹmax-age·ͨs-maxageͷ͍ͣΕࢦఆ͍ͯ͠ͳ͔ͬͨͨΊɺExpiresϔομ͕࠾༻͞Ε͍ͯͨɻ - ExpiresϔομʹΞΫηεͷ1ඵલͱ͍͏ҙຯͰʮ -1 ʯΛࢦఆ͠ΩϟογϡΛແޮԽ͍͕ͯͨ͠ɺաڈͷ߹0ඵͱͯ͠ѻΘΕ͍ͯͨɻ - Expiresϔομ͕0ඵͷ߹ɺCDN͔ΒΦϦδϯͷϦΫΤετதʹಉ͡URLͷϦΫΤετ͕ൃੜ͢Δͱɺ2ͭҎ߱ͷಉ͡URLͷϦΫΤε τʹಉ͡Ϩεϙϯε͕ฦΔ༷ʹͳ͍ͬͯͨʢʹଞਓͷใؚ͕·ΕΔίϯςϯπ͕ӾཡͰ͖ͯ͠·ͬͨʣ - ΩϟογϡΛ͠ͳ͍Α͏ʹ͢Δʹʮno-storeʯΛࢦఆ͢ΕΑ͍ʢϝϧΧϦସޙͷCDNͷ߹ʮprivateʯͷΈΩϟογϡແޮԽʁʣ - ·ͨCDNͷΩϟογϡݸਓใΛؚ·ͳ͍ը૾js / css ϑΝΠϧʹݶΔΑ͏ʹ͢ΔɺͳͲͷରࡦ͕ߟ͑ΒΕΔɻ
ࢀߟจݙɺαΠτ ͯ͢Θ͔ΔηΩϡϦςΟେશ2018 (ܦBPϜοΫ) ใηΩϡϦςΟ10େڴҖ 2016ɿIPA ಠཱߦ๏ਓ ใॲཧਪਐػߏ https://www.ipa.go.jp/security/vuln/10threats2016.html WebαΠτશମͷHTTPSԽʮৗ࣌SSLʯ͕ඞཁͳཧ༝ͱϝϦοτΛཧղ͠Α͏ :
ϏδωεͱIT׆༻ʹཱͭใ http://www.asobou.co.jp/blog/web/ssl-2 WAFͱʁʛSiteGuardʛΩϠϊϯITιϦϡʔγϣϯζ https://www.canon-its.co.jp/products/siteguard/waf/ 5Ͱઈରʹ͔Δɿ5Ͱઈରʹ͔ΔIDSʗIPS (1/6) - ˏIT http://www.atmarkit.co.jp/ait/articles/0203/16/news001.html idsͱipsͷҧ͍ʛϑϦʔϏοτΫϥυ | ϑϦʔϏοτΫϥυ https://cloud.freebit.com/contents/security/161/ CDNΓସ͑࡞ۀʹ͓͚ΔɺWeb൛ϝϧΧϦͷݸਓใྲྀग़ͷݪҼʹ͖ͭ·ͯ͠ - Mercari Engineering Blog http://tech.mercari.com/entry/2017/06/22/204500 ηΩϡϦςΟରࡦͱͯ͠ͷ Cache-Conrol ϔομʹ͍ͭͯ - ཧܥֶੜه http://kiririmode.hatenablog.jp/entry/20170625/1498389317