セキュリティに詳しい方に質問です。

ファイルへの直接アクセスをできないようにする下記の方法は安全ですか?
公開ディレクトリの外に置くことができないテキストファイルがあります。
PHPプログラムからはアクセス可でWEBからはアクセス不可とする為に
テキストファイルが置かれているディレクトリに「.htaccess」を下記のように記述しました。

order deny,allow
deny from all
allow from localhost

この方法は全てのWEBアクセス(検索ロボットなど含む)から安全であると考えて問題ないでしょうか?

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2010/06/24 08:37:12
  • 終了:2010/06/24 12:17:02

ベストアンサー

id:gday No.3

gday回答回数383ベストアンサー獲得回数712010/06/24 11:09:28

ポイント55pt

コメント欄が開いていないのでこちらで。(2回目になります)


>例えばさくらインターネットさんのようなメジャーなサーバ会社さんであれば

>「このようなことは想定してブロックしてくれている」と考えるのは甘いでしょうか?


甘いと思います。

webサーバーはインターネットに情報を公開するために提供されているので基本的にはデータは全部公開される、公開したくないデータはサーバー利用者の責任で対策するというのが普通の考え方です。

またもし、webサーバーでプロキシも運用しているならば、localhostへのアクセスをブロックすることは同じサーバー内部の全てのwebサイトへのアクセスを否定することになるので通常は考えられないことです。

もっとも、普通のレンタルサーバーでwebサイトとプロキシを同じサーバーで運用しているようなところはまず無いと思います。

id:clab_yasu

早速のご回答ありがとうございます。

「コメント欄」を開かせていただきました。

>webサーバーはインターネットに情報を公開するために提供されているので基本的にはデータは全部公開される、

>公開したくないデータはサーバー利用者の責任で対策するというのが普通の考え方です。

ごもっともですね。

>またもし、webサーバーでプロキシも運用しているならば、localhostへのアクセスをブロックすることは

>同じサーバー内部の全てのwebサイトへのアクセスを否定することになるので通常は考えられないことです。

http://ja.wikipedia.org/wiki/プロキシ

ここも見てみました。

>もっとも、普通のレンタルサーバーでwebサイトとプロキシを同じサーバーで運用しているようなところは

>まず無いと思います。

可能性はゼロではないけど、限りなくゼロと解釈して良いということでしょうか?

>サーバー利用者の責任で対策するというのが普通の考え方です。

例えばgday様ならどのような対策を施しますか?

サーバの難しい設定は分かりませんので「.htaccess」レベルで・・・。

コメントまたは新規回答(3回目)にてご回答いただければ幸いです。

2010/06/24 11:24:32

その他の回答(2件)

id:hanako393 No.1

hanako393回答回数1142ベストアンサー獲得回数872010/06/24 10:36:25

ポイント27pt

>この方法は全てのWEBアクセス(検索ロボットなど含む)から安全であ

安全です。

PHPプログラムでHTTPでファイルを読まないで

直接読むのなら、localhostも許可する必要はありません。

できるのなら、WEBアクセスできるディレクトリ以外に

ファイルを置くことをお勧めします。PHPからは読めますから。

id:clab_yasu

早速のご回答ありがとうございました。

レンタルサーバの関係上、webアクセスできるディレクトリでないと

FTP接続できないものですので今回質問させていただきました。

外部サーバーからの「file_get_contents()」 もしっかりガードしているようですね。

「localhost」の1行も削除させていただきました。

ありがとうございました。

2010/06/24 10:51:54
id:gday No.2

gday回答回数383ベストアンサー獲得回数712010/06/24 10:38:41

ポイント55pt

そのサイトが入っているレンタルサーバーの他のユーザーがサーバーにログインしてwgetとかlynxとかでwebアクセスしたらアウトですね。

あるいはそのサーバーでプロキシが運用されていた場合もプロキシ経由のアクセスはlocalhostからのwebアクセスになるのでアウトです。

id:clab_yasu

ご回答ありがとうございます。

「サーバーにログインしてwgetとかlynxとかでwebアクセスしたらアウト」

このような恐ろしい回答を期待しておりました。

例えばさくらインターネットさんのようなメジャーなサーバ会社さんであれば

「このようなことは想定してブロックしてくれている」と考えるのは甘いでしょうか?

hanako393様のご指摘により「localhost」もアクセス不可とさせていただきました。

2010/06/24 10:56:20
id:gday No.3

gday回答回数383ベストアンサー獲得回数712010/06/24 11:09:28ここでベストアンサー

ポイント55pt

コメント欄が開いていないのでこちらで。(2回目になります)


>例えばさくらインターネットさんのようなメジャーなサーバ会社さんであれば

>「このようなことは想定してブロックしてくれている」と考えるのは甘いでしょうか?


甘いと思います。

webサーバーはインターネットに情報を公開するために提供されているので基本的にはデータは全部公開される、公開したくないデータはサーバー利用者の責任で対策するというのが普通の考え方です。

またもし、webサーバーでプロキシも運用しているならば、localhostへのアクセスをブロックすることは同じサーバー内部の全てのwebサイトへのアクセスを否定することになるので通常は考えられないことです。

もっとも、普通のレンタルサーバーでwebサイトとプロキシを同じサーバーで運用しているようなところはまず無いと思います。

id:clab_yasu

早速のご回答ありがとうございます。

「コメント欄」を開かせていただきました。

>webサーバーはインターネットに情報を公開するために提供されているので基本的にはデータは全部公開される、

>公開したくないデータはサーバー利用者の責任で対策するというのが普通の考え方です。

ごもっともですね。

>またもし、webサーバーでプロキシも運用しているならば、localhostへのアクセスをブロックすることは

>同じサーバー内部の全てのwebサイトへのアクセスを否定することになるので通常は考えられないことです。

http://ja.wikipedia.org/wiki/プロキシ

ここも見てみました。

>もっとも、普通のレンタルサーバーでwebサイトとプロキシを同じサーバーで運用しているようなところは

>まず無いと思います。

可能性はゼロではないけど、限りなくゼロと解釈して良いということでしょうか?

>サーバー利用者の責任で対策するというのが普通の考え方です。

例えばgday様ならどのような対策を施しますか?

サーバの難しい設定は分かりませんので「.htaccess」レベルで・・・。

コメントまたは新規回答(3回目)にてご回答いただければ幸いです。

2010/06/24 11:24:32
  • id:gday
    >>もっとも、普通のレンタルサーバーでwebサイトとプロキシを同じサーバーで運用しているようなところは
    >>まず無いと思います。
    >可能性はゼロではないけど、限りなくゼロと解釈して良いということでしょうか?

    プロキシに関してはその存在は公開されていなければわからないので、セキュリティ的視点からは「それが無いと確認できていないものはあるという前提」が正しいと思います。試しにサーバーのプロバイダに確認してみて「ありません」という宣言を得られたなら大丈夫でしょうが、「お答えできません」という回答ならあっても不思議は無いと解釈すべきでしょう。
    それ以前にサーバーにシェルログインを許しているサーバーの場合は他のユーザーは何をするか分からないので無いかもしれないプロキシの心配をするよりはそちらのlocalhost経由アクセスを気にした方が現実的だとは思います。

    また、今時のレンタルサーバーでは多分無いでしょうがシェルログインして他のユーザーのディレクトリが読める状態のレンタルサーバーは昔見たことがあります。そうでなくてもサーバーの管理者にはサーバーのデータは全部見えている(法的および倫理的な理由で見てないだけ)ので、公開したくないファイルをサーバーに置くことについてそれがサーバーの管理者に見られた場合の影響度は検討しておいた方がいいと思います。

    >>サーバー利用者の責任で対策するというのが普通の考え方です。
    >例えばgday様ならどのような対策を施しますか?
    >サーバの難しい設定は分かりませんので「.htaccess」レベルで・・・。

    すでに回答で出ていますが、単にlocalhostのアクセス許可はしないで単に「deny all」とするのが良いと思います。
  • id:clab_yasu
    gday 様

    お世話になります。
    詳しく教えていただきありがとうございました。

    >また、今時のレンタルサーバーでは多分無いでしょうがシェルログインして他のユーザーのディレクトリが読める状態の
    >レンタルサーバーは昔見たことがあります。
    >そうでなくてもサーバーの管理者にはサーバーのデータは全部見えている(法的および倫理的な理由で見てないだけ)ので、
    >公開したくないファイルをサーバーに置くことについてそれがサーバーの管理者に見られた場合の影響度は検討しておいた方が
    >いいと思います。
    >すでに回答で出ていますが、単にlocalhostのアクセス許可はしないで単に「deny all」とするのが良いと思います。

    分かりました。
    今回、WEBのプログラムに詳しい方でもファイルを見ることができない状況を作りたかったので、
    「deny all」で行こうと思います。
    サーバーの管理者に見られてしまうことは例え強固なデータベースに入れていても同じことですものね。
    本当に色々と教えていただきありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません