web-dev-qa-db-ja.com

doku wikiにはどのアクセス権を選択する必要がありますか?

私は現在、「DokuWiki」( Link )と呼ばれるCMSで初めての経験をしています。このCMSはPHPのみを必要とし、情報をファイルに書き込みます(/ dokuwiki/data/pagesのようです)。

現時点で、私はdokuwiki-folder +サブフォルダー全体とファイルに777の権利を与えました。私はファイル/フォルダーの所有者です。

フォルダにどのアクセス権を与える必要がありますか?所有者を変更する必要がありますか(例:www-data)?

フォルダ/ファイルに対する多くの権利に基づく攻撃を知っていますか? PHP脆弱性を使用してファイルシステムにアクセスし、権利を使用して危害を加える攻撃を想像することしかできませんでした。

編集:私はちょうど install:permissions を見つけました。私の仮定は正しいですか。DokuWikiを実行するには、次の一連の権限が最低限必要だということですか

$ Sudo chown www-data -R /var/www/wiki
$ Sudo chmod 400 /var/www/wiki -R
$ Sudo chmod 600 /var/www/wiki/data -R
$ Sudo chmod 600 /var/www/lib -R
$ Sudo chmod 600 /var/www/conf -R
$ Sudo chmod 700 /var/www/wiki/data /var/www/wiki/data/tmp /var/www/wiki/lib var/www/wiki/lib/plugins /var/www/wiki/conf
3
Martin Thoma

一般に、Webサイトのアクセス許可のベストプラクティスは、Webユーザーに、あなたのケースではwww-dataに、データファイルへの読み取りアクセスを許可しますが、書き込みアクセスは許可しないことです。つまり、次のようなものです。

chown root:www-data -R /var/www/html
find /var/www/html -type d -exec chmod 750 {} \;
find /var/www/html -type f -exec chmod 640 {} \;

目標は、Webサーバーアプリケーションがファイルを読み取ることを許可し、どこにも書き込むことができないようにすることです。これにより、Webサービス自体が危険にさらされた場合、悪意のあるユーザーが任意のファイルをドロップする機能が制限されます。 (当然の結果としてchrootを読んでください。ただし、この回答の範囲外です)。

Wikiは、その性質上、適切に機能するためにこの慣習に違反する必要があります。ただし、重要なのは、Wikiソフトウェアのどの部分がより高い特権を必要とするかを正確に理解することです。実際に決定するには、次の選択肢があります。

  1. Webインターフェースは、ページの作成/編集にのみ使用してください。
  2. Webインターフェースを使用して、ページの作成/編集、および構成の管理を行います。

オプション1
これにより、ユーザーがページを編集/作成できるようにすべてのファイルレベルの権限が設定されますが、構成を手動で管理する必要があります。あなた(またはwikiを管理している人)がPHP構文に慣れていて、設定ファイルで作業することを気にしない場合は、これがおそらく最善の策です。したがって、権限セットは次のようになります。

chown root:www-data -R /var/www/wiki  
chmod 750 /var/www/wiki -R
chmod 770 /var/www/wiki/data -R
chmod 750 /var/www/lib -R
chmod 750 /var/www/conf -R
find /var/www -type f -exec chmod -x {} \;

したがって、ここで行ったのは、すべてのwikiファイルに対してのみ読み取り/書き込みのルートとwww-データの読み取りが与えられることです。次に、www-dataにユーザーデータセクションに書き込むための追加の権限を与えます。

オプション2
ウェブインターフェースを介して設定も管理する場合は、上記と同じ設定を使用しますが、以下の行5を交換します。

chmod 770 /var/www/conf -R

免責事項: DokuWikiのセットアップをこのように実行したことはありませんが、機能しない理由はありません。最初に試してみてください。

6
Scott Pack

私はDokuwikiをまったく知りません、そして最も良い洞察は許可をあまりに低く設定して、そしてそれらをアップグレードしなければならないことです。しかし、なぜライブラリとconfディレクトリとファイルの読み取りと書き込みが必要なのかわかりませんか?ライブラリと構成ファイルも読み取り専用にすることをお勧めします。ツールはそれ自体の設定を変更してはなりません...

2
bethlakshmi