人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Webアプリケーションにおいて、「各種設定ファイル(config.php的なもの)をドキュメントルートの下に置くことはセキュリティ上好ましくない」とよく言われますが、通常であればhttpでconfig.phpに直接アクセスしたところで、ファイルの内容は表示されません。具体的に、どのようなセキュリティリスクがあるのでしょうか。わたしが思いつくのは以下のとおりですが、他にもあれば教えてください。
1. Apache側でついうっかりphp拡張子の設定を消してしまう
2. 開発者が同じ場所にconfig.php.bakなどのファイルを作成してしまいそのままアップされる

●質問者: Knoa
●カテゴリ:ウェブ制作
✍キーワード:Apache config HTTP PHP Web
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● pahoo
●5ポイント

もしJavaScriptが実行できてしまうようなクロスサイト・スクリプティング脆弱性があった場合、Ajaxを利用して、生スクリプトのままダウンロードできてしまうというリスクがあります。⇒(参考)サーバー上のテキストファイルを読み込みページ上に表示する

◎質問者からの返答

Ajax(結局はブラウザ)からconfig.phpにアクセスしても、ダウンロードできるのはApacheがphpとして実行した結果の空白HTMLファイルになるのではないでしょうか?


2 ● y-kawaz
●30ポイント ベストアンサー

config.phpみたいにそれ自体がプログラムになっててブラウザへの出力が空なら問題はないでしょう。


ですが、設定やデータをCSVやXMLやその他ファイルなどそのままブラウザでダウンロード出来てしまう場合はやはりドキュメントルート外に置かないとまずいですよね。

質問者さんが疑問に思ったように設定がphpなら大丈夫と、分かってる人がそうするのは良いのですが、詳しくない人ではその判断が出来ないことがままあります。

なので、詳しくない人に細かいことを言っても理解して貰えないので「設定やデータはドキュメントルートの外に置いた方がよい」という安全面に倒したスローガンとしての意味合いも大きいと思います。


また、通常はないと思いますが万が一を考えると、設定がphpだから大丈夫と思っていたら何らかの要因でWEBサーバのphp設定が無効になってしまった場合に直接アクセスによってダウンロード出来てしまうというリスクは排除出来ないので、そこまで考えるのであればやはりドキュメントルート外に置くべきだと思います。


結構、含蓄のある言葉ですよね。

◎質問者からの返答

自分の知らない、「けっこう起きうるセキュリティリスク」があったらいやだなーと思って質問しましたが、やはり「何らかの要因」がない限り、通常は特に問題なしということですね。

もちろんリスクは減らせるだけ減らすに越したことはないと思いますが、phpが無効になるような事態が起きれば、config.phpが覗かれようと覗かれまいと五十歩百歩である気もします。


3 ● 緑一
●30ポイント

ドキュメントルートというよりは、外部からパスが予測できる場所に置くのは危険かもしれません。

同サーバ上で、ファイルを読み込んでメール送信する、画面表示する、といった別のスクリプトにセキュリティーホールがあった場合、

.../sendmail.php?file=/var/www/.../config.php

.../sendmail.php?file=/var/www/.../conf.php

等と言った風に予測できる範囲で総当りで引数を与えて送信、表示することが出来ます。

◎質問者からの返答

そのセキュリティホールがあること自体かなりアレだと思いますが、確かにひとつの可能性ですね。

Apache関連ではないという点で新しい視点です。


4 ● kn1967a
●5ポイント

直接実行されると、エラーから内容が類推できるため。

◎質問者からの返答

直接実行しても、一般的には特にエラーは出ないと思いますが…。


5 ● yofucasi
●30ポイント

単に常套句の1種です。

どうでもいいことをさも重要なことに言ってるだけです。

確かに好ましくないですが、オープンソースのものではそんなのはたくさんあります。

うちはプロなのでそんなことをしませんという宣伝文句かもしれません。

あまりITに詳しくない人からみて、さもそうであるかのように写るので、説明するには

わかりやすいのでしょう。

◎質問者からの返答

過激派のご意見ですね(笑)。

幅広い意見が集まっておもしろいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ