[PHP-users 737] Re: セッション情報の漏洩を防ぐ方法

php-users@php.gr.jp php-users@php.gr.jp
Mon, 16 Jul 2001 22:29:05 +0900


新開です。

新開
> > ソースを見たところ、HTPP_COOKIEで渡された値を元にしてセッション
> > ファイルをオープンしているようです。
近藤さん
> COOKIE を使うこと自体がある程度機密レベルを低下させ
> ています。それを承知なら、COOKIE は手軽で便利ですが。
Cookieを使用せずにセッションIDをサーバに送信するにはGETかPOSTしか
ないですよね。CookieはGETやPOSTよりセキュリティ上、危険ということ
でしょうか?(意味を取り違えていましたら、すいません)
私が認識しているGETと比較したCookieの利点は
1:セッションIDのReferer漏れがない
2:うっかりミスでセッションIDを書き換えられる心配がない
3:セッションIDがブラウザの履歴に残らない
です。特に3は重要だと思っています。ブラウザの履歴はサーバからは、
操作のしようがないので。
# php?PHPSESSID=xxx と残るのがすごくイヤです。
# 話しがずれますが、http:user@password// というのも我慢なりません。

欠点は特に思いつかないのですが・・・。
なお、[PHP-users 696] Re: セッションID を生成する仕組みについて
は読んでおります。

新開
> > ownerをroot、groupをnobody等にするのがいいかな、と思っています。
近藤さん
> 意味がよくわからないのですが、それとは別に、
> Apache の httpd.conf で、User nobody にしているとし
> たらあまり好ましいことではありません。webuser とか、
> 別のユーザー名ユーザーグループにすべきでしょう。
> 例えば、owner が webuser で、chmod 600 が一番厳しい
> permission ですね。owner が root の ファイルはやたら
> に作らない方がいいですよ。
すいません、説明不足でした。
セッションファイルを保存するディレクトリを
ownerをroot、groupをnobody、permissionを730にするということです。
これだとシェルやApacheDSO版で動作するPHPでchmodできないのでは、
と考えています。
また、よろしければご教授願いたいのですが、ApacheのUserをnobodyの
ままの場合、どのような不都合がありますでしょうか。思いつくのは
1:nobodyの持つ権限に問題がある
2:ApacheのUserIDを調べる手間が不要な分だけ、クラックされやすい
3:専用のユーザを作成して、独自に管理すべき
ぐらいです。
rootのファイルはやたら作らない方がいいのは、おっしゃる通りですね。
気を付けます(基本中の基本ですね)。

以上です。