[PHP-users 5217] Re: [SECURITY]:PHP4 session spoofing exploit
Toshikazu Yoshikawa
php-users@php.gr.jp
Tue, 5 Feb 2002 21:54:25 +0900
吉川@アンカットです。
昔(といっても2週間ほど前ですが)のスレッドに対するリプライで恐縮ですが、
一連の話を興味深く拝見させていただきました。
私見なのですが、レンタルサーバで個々のドメインを
name baseのバーチャルドメインで運用する場合、
以下の設定ではどうでしょうか?
・各ユーザのホームディレクトリ
/home/****
UIDは個々のユーザに対して別のもの
GIDは共通のものにする(例えば webusers)
また、各ホームディレクトリのパーミッションは
drwx-----x (701)
・Apacheの設定
Apacheが稼動するUIDおよびGIDを専用に作成
例えばUID www GID www
また、suExecを有効にしてインストール
./configure \
--enable-module=so \
--enable-suexec \
--suexec-caller=www \
--suexec-docroot=/home \
:
httpd.conf内にて、メインサーバとバーチャルサーバを設定
メインサーバ
User www
Group www
バーチャルサーバ
<VirtualHost *>
DocumentRoot /home/****/htdocs
ServerName www.****.domain
User ****
Group webusers
ScriptAlias /cgi-bin/ "/home/****/cgi-bin/"
:
</VirtualHost>
CGIスクリプトのUID、GIDは各ユーザのものと同じにし、
パーミッションは-rwx------ (700)
・PHPの設定
PHPはモジュール版としてインストールし、
php.ini内でsafe_modeをONにする。
もしくは、他人のディレクトリのファイルを参照できないように、
httpd.confの各VirtualHostディレクティブ内で、open_basedirを設定する。
<VirtualHost *>
DocumentRoot /home/****/htdocs
ServerName www.****.domain
User ****
Group webusers
ScriptAlias /cgi-bin/ "/home/****/cgi-bin/"
<Directory /home/****/htdocs>
php_admin_value open_basedir /home/****
</Directory>
:
</VirtualHost>
以上で安全性は確保できると思うんですが・・・(自信なし)
どこか勘違いしてるかなぁ。
---
unCut Toshikazu Yoshikawa
mailto:toshi@uncut00.com