[PHP-users 13126] Re: パスワードファイルの保護

Hideo NAKAMITSU php-users@php.gr.jp
Fri, 7 Feb 2003 11:25:46 +0900


中満です.

> >go16> ●suExec環境でphpはモジュール版
> >go16> -rw-r-----  ユーザ名  www   password.php
> >go16> wwwはapahceのグループ
> >go16> これでも十分安全でしょうか?
> >これだと、wwwグループに属する人が読めてしまいます。
> 
> wwwグループに属する人はwwwだけで一般ユーザは1ユーザ1グループ
> になっております。これだと安全でしょうか?

apacheの実行ID www:www
あるユーザのファイル user1:user1
ということですよね.

モジュール版であれば,その実行権限はwww:wwwです.
user1が作ったスクリプトもuser2が作ったスクリプトも実行権限はwwwです.
つまり,他人の悪意のあるスクリプトからpassword.phpを読むことが出来ます.

# 逆に言うと,rwx------などにすると他人から読まれることはありませんが
# 実行すら出来なくなります.

> 一般ユーザはグループの追加はできないので重要なファイルを見られることは
> 無いと思うのですが・・・

この意味がちょっと分かりませんが,password.phpは
重要なファイルの内には入らないのでしょうか?

前にも書いたかもしれませんが,
・共用サーバでユーザ間のセキュリティを確保するためsuexec + CGI
・専用サーバでユーザ数が限られ,かつ信頼できるならDSO
が一般的のようです.

> apache2になるとphp版のsuExecができるようなことを
> 聞いたことがあるのですが、調べたのですが見つかりませんでした。
> 勘違いでしょうか??

おそらくconfigure時のperchildオプションでしょう.
これだとhttpdの子プロセス自体がバーチャルホストの権限で動作するため,
それに付随するモジュールなどもsuexec的に動作すると言われています.

# それにしてもperchildはなかなか言うこと聞いてくれませんし,
# 時間の都合もあり,実際にはまだ試してません.

/* -----------------------------------
Hideo NAKAMITSU <nomo@bluecoara.net>
http://solaris.bluecoara.net/
----------------------------------- */