サーバー上に保存された情報の保護方法について教えて下さい。


アンケートCGIなどを利用した場合に回答がサーバー上に保存され、そのデータを外部から見られてしまう危険があります。
特に何も対策しなければ、保存データのURLを直接たたけば表示されてしまいます。
保存データの拡張子を.cgiにすることで回避できると思いますが、これだけで安全なのでしょうか?また、どの程度安全なのでしょうか?
他に対策方法ありましたら、教えて下さい。

回答を頂く身で恐れいりますが、参考リンクのみの回答はご遠慮ねがいます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/09/27 11:39:05
  • 終了:--

回答(7件)

id:gdm No.1

gdm回答回数58ベストアンサー獲得回数02004/09/27 12:01:42

ポイント16pt

データファイルはURLで参照できない場所に置くべきです。

つまりpublic_htmlより上位のディレクトリに置くんです。

パーミッションも落としておきましょう。

基本的にowner以外にwritable権限を与える必要はないはずです。

id:mken03

とても参考になります!CGIの知識に乏しくパーミッションの設定は任せっきりで、755や604にしていました。

しかし、共用タイプのせいか上位にアクセスできず。

パーミッションの設定で外部からの不正アクセスは防げるのでしょうか。情報ありましたら宜しくお願いします。

2004/09/27 12:16:28
id:kouji1975 No.2

コウジ回答回数35ベストアンサー獲得回数12004/09/27 12:10:30

ポイント16pt

http://www.kent-web.com/pwd/

:: KENT WEB > データ収集加工 ::

いくら拡張子をcgiにしても回避できません。

ブラウザで「見えない」だけですから、直接DLすることで抜かれてしまいます。

見られたくないデータは「アクセス制限」が一番です。

URLは、初心者用アクセス制限のシステムです。

id:mken03

難易度別の情報、参考になります。

BASIC認証で保護したディレクトリ内にデータを保存するというのが安全ということになるのでしょうか。

2004/09/27 12:22:34
id:kibitaki No.3

kibitaki回答回数53ベストアンサー獲得回数42004/09/27 12:11:47

ポイント16pt

以下はUNIX系サーバ+Perl CGIを使用されているという前提でですが・・・

データファイルの拡張子を*.cgiとすればアドレス直打ちでも

データが見えなくなる、というのは正しい回避方法ではありません。

データファイルに対してのアクセス権限(パーミッション)を設定し、

外からはアドレス直打ちでも見えないようサーバーに指示するのが

良いでしょう。

ただ、ご使用のサーバー環境や使用しているCGIによって具体的な

処理方法が違うので、まずは(ご自分で処理ができそうになければ)

サーバー管理者に問い合わせるのがよいと思います。

id:mken03

やはり基本的にはパーミッションで制限するというのが王道のようですね。

拡張子を.cgiにしてパーミッションで制限したのにも関わらず、情報が漏れる場合ってどんな状況になるのでしょうか?ルートを取られるということになるのかな?

2004/09/27 12:30:11
id:grover No.4

grover回答回数22ベストアンサー獲得回数02004/09/27 12:36:55

ポイント16pt

http://www.atmarkit.co.jp/fsecurity/rensai/web01/web01.html

Webサイトのセキュリティ侵害事件から見た脆弱点

その程度では残念ながら安全とは言えません。

なぜ.cgiなのでしょう? まったく予測のつかない拡張子でも良いのでは?

以下はデータ保護の基礎です。是非検討してみてください。

1. 他人に見せる必要がなければ、サーバにデータを残さない。データはmailで自分に送る、サーバに書き込む必要があるなら最新のデータ以外は消しておく。

2. データにアクセス制限を付ける

- パーミッション

- .htacessによるパスワード

- ブラウザでアクセスできる場所にデータを書き込まない

3. データ/パスワードを暗号化する

id:mken03

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

.cgiにする理由はデータを丸見え状態でなくエラー表示にするという点での回避策です。

アンケートを例にしてしまったのが悪かったですが、メルマガ購読の登録/削除の場合は「1」は難しく「2」「3」の対策が必要なようですね。

2004/09/27 13:03:33
id:miyamuyuki No.5

miyamuyuki回答回数40ベストアンサー獲得回数02004/09/27 12:38:35

ポイント15pt

URL はダミーです。

今の状況で、Webサーバーを公開すること自体危険なような気もします。。。

(サーバーがセキュアなレンタルサーバーなどでセキュリティーも問題ない状態でしたら、上記発言お詫び申し上げます。)

FTP や Telnet も非常に危険であることはご存知でしょうか?これらの通信内容はインターネットに平分で流れるので知識のある人間がパケットを拾えば作業内容が全て漏れてしまいます。

(telnet で root ユーザーに su した場合、root のパスワードを読み取られる可能性もあります。)

質問に対する回答として、可能であれば内部(ローカルアドレス)に別マシンを稼動させ、そちらのデータに書き込むようにした方が良いと思います。

また、アンケートが個人情報(住所、電話番号など)を含む場合は最低限 https での登録経路を用意するべきだと思います。

id:mken03

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

保存場所、送信経路、参考になりました。

2004/09/27 13:10:38
id:kuromaku0103 No.6

kuromaku0103回答回数28ベストアンサー獲得回数02004/09/27 12:45:14

ポイント15pt

http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.h...

@IT:Webアプリケーションに潜むセキュリティホール(2) - Page1

いくらファイルのパーミッションを変更したり、非公開のディレクトリにデータファイルを配置しようが、CGI等のアプリケーション自身にセキュリティホールや脆弱性があった場合は無意味です。アプリのセキュリティの確保とデータファイル自身のセキュリティの両方を確保する必要があると思います。

id:mken03

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

プログラムの信頼性...判断に困るところですね。

意図した結果が出てしまうと、作った人ですらその中の問題を見落としてしまう部分でしょうし。

2004/09/27 13:15:42
id:paphio No.7

paphio回答回数299ベストアンサー獲得回数02004/09/27 13:01:05

ポイント16pt

1、一番安全なのは、WEBからアクセスできないところへ、ファイルを置く。

2、パーミッションの設定。

(この、1.2についてはサーバ会社で運用を制限しているところが多いですので、ご希望に沿うような設定が不可能な場合が多いです。)

3、拡張子の変更。

(データファイル単体を守るためには、一番重要だと思います。)

しかし、FTP(ID、passが漏れる)、TELNET等で中を覘かれてしまえば何をしても対抗できません。

通常の範囲であれば、ご質問のように拡張子の変更でOKだと思います。

ためしに、どこかへダミーデータを設置して、はてなで尋ねられたらいかがでしょう。

ここはかなりのスキルをお持ちの方がいらっしゃいますので、

にデータが置いてあります。なんて書いてあるか読めますか。」

見たいな質問をしてみたらいかがでしょう。

id:mken03

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

まさにそれを試したいのです。私のスキルが低いため時間は掛かりそうですが、そのための情報あつめでもあります。

そのときの報酬は、そのときの残りポイント全放出にしたいと思います。

2004/09/27 13:22:41
  • id:mken03
    ありがとうございました。

    皆さん情報ありがとうございました。
    どれも私にとって有益な情報でしたのでポイントは均等配分致しました。今後もいろいろお世話になると思いますが宜しくお願いします。

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

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

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

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