mod_process_security icon indicating copy to clipboard operation
mod_process_security copied to clipboard

mod_vhost_aliasでもvirtualhost単位で動的にuidgidを固定できるようなディレクティブ

Open matsumotory opened this issue 12 years ago • 9 comments

mod_vhost_aliasのようなmassivevirtualでもvirtualhost単位で動的にuidgidを固定できるようなディレクティブを追加したい。SuexecUserGroupを動的にやるような。いい方法なだろうか。

<VirtualHost *:80>
...
  VirtualDocumentRoot /usr/local/apache/vhosts/%0
  PSUserGroup On
...
</VirtualHost>

とかしたら、ホストで固定したいuidgidをそれぞれのホストが持つ何らかのファイルから動的に取得して、そのホストの処理は全てそのuidgidでコンテンツを処理する、といったような。具体的な案はまだない。

今の実装では、リクエストのあったファイルから動的にuidgidを取得するので、そうしたくない場合の機能を追加したい。

matsumotory avatar Aug 29 '13 13:08 matsumotory

こんな感じのディレクティブが良いかな。

<VirtualHost *:80>
...
  VirtualDocumentRoot /usr/local/apache/vhosts/%0
  PSFixedUserGroupFile /usr/local/apache/vhosts/%0/.permission_file
...
</VirtualHost>

matsumotory avatar Aug 30 '13 10:08 matsumotory

それいい感じ

WhiteAnthrax avatar Aug 30 '13 10:08 WhiteAnthrax

普通のVirtualHost設定の時は、

<VirtualHost *:80>
...
  PSFixedUserGroup 501 501
...
</VirtualHost>

とか。

matsumotory avatar Aug 30 '13 10:08 matsumotory

mod_vhost_alias際、デフォルト(.permission_fileがないとき)は、ドキュメントルートのディレクトリのuid/gidで固定してしまう、っていうのはどうでしょうか。 ちゃんと取れるのかはわからないですが。。

cs-sonar avatar Sep 02 '13 08:09 cs-sonar

@cs-sonar

ドキュメントルート・ディレクトリのuid、gidがコンテンツのuid.gidと大抵の場合同じであることが想定できれば、それでもよさそうですね。どうなのだろう。

この時に取得するuid gidは非常に重要な情報なので、きちんとチェックできるような仕様にしたいですね。例えば、.permission_fileとドキュメントルートのuid、gidが一致していて、なおかつ処理するコンテンツのuid,gidが一致していれば実行する、といったような。

matsumotory avatar Sep 03 '13 04:09 matsumotory

ドキュメントルートのディレクトリuid,gidで動作するのはデフォルトじゃないほうが安全な気がします。 あと、PSFixedUserGroupFile は ドキュメントルート外にも置けるのがいいなあ

WhiteAnthrax avatar Sep 03 '13 06:09 WhiteAnthrax

ドキュメントルート外における方が良いですね。デフォルトはファイルの権限にしておいて、PSFixedUserGroupFileが設定されていたら、そのファイルのuidgidを使う、ファイルがなければデフォルトの動きをする、という感じが良さそうです。

matsumotory avatar Sep 04 '13 09:09 matsumotory

PSFixedUserGroupFile にて指定できるのはファイルだけではなくディレクトリも可能なようするのはどうでしょうか?

運用中のホスティングサービスに導入するという目線で考えた場合、できるだけ現状のシステムに変更なく導入したいと考えてしまうのですが、ディレクトリの指定も可能であればそういったコストが軽減できるパターンもあるのではないかと思います。

cs-sonar avatar Sep 04 '13 20:09 cs-sonar

そうですね。ファイルやディレクトリのowner・groupが変更されて何か被害がでる、というのは避けるような仕様にする必要はありますね。

matsumotory avatar Sep 05 '13 06:09 matsumotory