[PHP-users 5023] Re: [SECURITY]:PHP4 session spoofing exploit

harikawa php-users@php.gr.jp
Sun, 27 Jan 2002 13:18:52 +0900


針川@茅ヶ崎です。
いつも参考にさせていただいています。

レンタルスペースで PHP のセキュリティ確保については私も頭を悩ませてい
ます。

> > > DB の場合、パスワードを使って保護するにも、その
> > > パスワードの入ったファイルが、Web User (nobody 等)
> > > から読めなければならないので、PHP の include を
> > > たどって、 パスワード設定の PHP ソースを読めるはず
> > > ですね。なにか、うまい防御手段はあるのでしょうか。
> > 
> > 私であれば、
> > 
> > httpd.conf
> > 顧客毎にVitualHostを作り、httpdのUIDを
> > 別にします。必要であれば、GIDも別にします。
> ....略....

suEXEC だと VirtualHost ごとに httpd の UID/GID は別々に設定できますよ
ね?それで cgi などがその UID/GID で実行する物として、

ユーザー:hoge	UID=hoge, GID=hoge
VirtualHost:	UID=hogeguest,GID=hoge

ユーザー:foo	UID=foo, GID=foo
VirtualHost:	UID=fooguest, GID=foo

(以下、同様)

みたいにして、
・見せたくないファイルは *00
	個々のユーザーにしかアクセスできない
	例えば hoge は foo のファイルにアクセスできない(逆も同様)
	hogeguest,fooguest も foo のファイルにアクセスできない

・公開ファイルは **4
	全てのWeb サーバー、他のユーザーとも見える

・VirtualHost の Web サーバーだけ読めるファイル *40
	hoge のファイルは hoge と hogeguest は読める
	foo, fooguest は hoge のファイルは読めない

・VirtualHost 実行の cgi は *50
	hoge の cgi は hoge,hogeguest が実行できる
	hoge の cgi は foo も fooguest もアクセスできない
	foo,fooguest は hoge の cgi にアクセスできない

というのはどうでしょうか?
VirtualHost の UID/GID に関わらず cgi がユーザーの UID/GID で走るなら
この話は成立しないのですが。(この辺、曖昧で済みません^^;;)
これが有効ならプロバイダに提案してみようと思ってます。
現在の所、PHP は専用サーバーで逃げています。

PostgreSQL も Web から使うときのアクセス制御法でもうひとつ欲しいですね。
パスワード認証が済んだら何かマジックナンバーのようなものを返してくれて、
以後、その番号で接続可能にするとか。(もちろん期限付き)
現在の所、セッション遷移では php に id, password 書いておくしか手がな
いようですが、ちょっと弱いなーと思ってます。

良いお知恵があれば拝借したいです。


(((((((((   Soft-inn  針川英智  )))))))))
))))      http://www.softinn.to/     (((( 
(((         harikawa@softinn.to       )))
))))    Tel:0467-59-1003 Fax:1002    ((((
((((_______ 茅ヶ崎市共恵1-15-1 ______))))