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
Drupal ParanoiaでDrupalをより安全に
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
snize
October 12, 2018
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal ParanoiaでDrupalをより安全に
Drupal Meetup 羽田 #14 でのスライド
https://drupal-meetup-haneda.connpass.com/event/99066/
snize
October 12, 2018
More Decks by snize
See All by snize
Talking with drupal - psyshでの対話型デバッグ
snize
0
66
Other Decks in Technology
See All in Technology
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
400
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
160
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
450
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
4
3.2k
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
130
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
1
740
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
550
SLOを阻む不安
sraku2159
0
200
スマートロックを支えるFlutter × ネイティブ連携の実践 / Flutter and Native Integration in Practice: Powering Smart Locks
bitkey
PRO
0
140
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
890
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
420
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Google's AI Overviews - The New Search
badams
0
1.6k
Done Done
chrislema
187
17k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Writing Fast Ruby
sferik
630
63k
The Invisible Side of Design
smashingmag
301
52k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
760
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
Transcript
あなたのDrupalのディレクトリ構成は安全ですか?
Drupal Paranoiaで Drupalをより安全に 金子 智嗣
[email protected]
の運営メンバ @snize Drupal Meetup
Tokyo
過去の脆弱性 2016年に というモジュールで 脆弱性 が発見された。 Coder SA-CONTRIB-2016-039
webからアクセス可能な場所にあるだけで脆弱性 となった。 The module does not need to be enabled
for this to be exploited. Its presence on the le system and being reachable from the web are su cient.
Demo 一般的DrupalプロジェクトのDocrootを確認 zip版 版(composer) drupal-project
他のWebフレームワークと比較 Symfony Quick Tour: The Architecture Directory Structure - Laravel
- The PHP Framework For Web Artisans CakePHP のフォルダー構成 - 3.6
Drupalと他のComposerなフレームワークとの違い
Drupal Paranoia 不要なファイルを削除し 必要なファイルへのみシンボリックリンクを生成する
なぜこのプラグインを使うか 楽しつつ、脆弱性を生まないようにするため。
Demo 準備します... 1. もとのDocrootを退避 2. composer.json の extra にコードを追加 3.
プラグインをインストール
もとのDocrootを退避 mv web app
composer.jsonを編集 "installer-paths": { "app/core": ["type:drupal-core"], "app/libraries/{$name}": ["type:drupal-library"], "app/modules/contrib/{$name}": ["type:drupal-module"], "app/profiles/contrib/{$name}":
["type:drupal-profile"], "app/themes/contrib/{$name}": ["type:drupal-theme"], "drush/contrib/{$name}": ["type:drupal-drush"] }, "drupal-app-dir": "app", "drupal-web-dir": "web",
プラグインをインストール composer require drupal-composer/drupal- paranoia:~1
変化を見てみる 1. /app 2. /web
まとめ Drupal Paranoiaによって web(docroot) 以下が 必要最小限のファイルに置き換えられ 不用意なアクセスからDrupalを守ることができる。
おまけ Drupal Paranoiaは のプロジェクトのひとつ Core doesn't embrace Composer best practices
OOTB Figure out how to separate php code from assets in modules and in core so that code can be vendored, and assets under the docroot. Drupal Composer Proposal: Composer Support in Core initiative [#2958021] | Drupal.org
以上です、ありがとうございました ( ω ) コンタクト @tomotsugu_kaneko -
[email protected]
次回 2018/11/01
@snize drupal-japan.slack.com Drupal Meetup Tokyo - connpass