[PHP-users 4358] Re: スクリプトが丸見え ?

Nakamura Kazuto php-users@php.gr.jp
Wed, 19 Dec 2001 13:23:26 +0900


中村です。

>重松です。
>nobody が .htaccess を読める、という状態と、index.html などの他のファイルが
>読める、というのに何らかの差異はあるのでしょうか?
>(隠しファイルは扱いが異なる?)

もし .htaccess を root 権限で読んでいるのなら DirectoryIndex を
出鱈目な文字列にする等の手段も考えられるのですが…という事です。

>ですが、nobody に、というか、group www に、書き込み権限を与えなければ、
>大丈夫だと思うのですが。。。
>
>/home/foo                           foo.www 710
>/home/foo/public_html               foo.www 710
>/home/foo/public_html/index.html    foo.foo 644
>
>というような権限ではダメなのでしょうか。

収束させると nobody が target file を読み出せる状態があると
考えるべきでしょう。http経由だとそれが実行された結果が出ます
が、別スクリプトがダイレクトにそのファイル本体を読み出す事を
制限は出来ないはずです。

>そうすれば、bar というユーザがいるとして、bar は /home/foo に対して、
>実行権限がないため、中に入れないと思いますが、nobody は group www に属すので、
>実行権限を持っており、/home/foo/public_html を開くことができますよね?
>その中実は、通常 644 だと思いますから、読むことはできる状態だと思います。

bar 自身が読みに行くのではなく、bar が nobody を使って読み
出すのです。

>そして、これら危険は、ZEND encoder でもで、コードそのものを隠蔽しないと、
>たとえ DB に書いても、DB の ID, password がばれてしまえば、元も子もないので、
>結局とっても危険という結論に達しますね。

Refer も詐称出来てしまうので結論的には「厳しい」となるのでは
ないでしょうか…。

先日発覚した wu-ftpd のセキュリティホールにしても、バーチャル
で無ければ問題無いものですし、妥協しなくてはいけない点がどこか
に存在するのだと思います。

--
中村  和人  kazuto@sainet.or.jp