• ベストアンサー

パーミッションの防衛策は?

CGIを勉強してみようと思い、WinXPにAnHTTPD、アクティブパールの組み合わせでインストしました。 作業も順調に行き、フリーCGI等を入れてみて動作確認をしようと思って気が付いたのですが、 Winには元来パーミッションの概念が無いそうですが、 そうなると、CGI各ファイルの機密性(?)はどの様にしたら守られるのでしょうか? 案の定、試しに入れたCGIプログラムですが、 cgiはモトより、.dat、.log等など、 ありとあらゆるファイルが見えてしまいます。。。 最近、本格的にBB時代になった事もあり、 色々な方面で自宅サーバー構築云々という連載記事を見掛けますが、 実際のところ、流行に乗ってWinを使っての自サバにCGIは無謀なのでしょうか? ご教授よろしくお願いします。

  • CGI
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

AnHTTPdにはJittaさんが仰った設定項目はありません。 CGI本体はアクセスされても問題ないとしておいといて、datやlogなど直にアクセスされて取られてはまずいものは推測されにくいファイル名にしたり拡張子をcgiにしてしまうことで回避できます。 拡張子をcgiにしておけば、直アクセスされた場合にサーバーはそのファイルをCGIとして動かそうとします。 が、もちろんCGIとして動作できるわけはないので500を返して終わってくれるというわけです。 それと、ディレクトリのインデックスリストを見られないようにAnHTTPdの設定で「表示/インデックス」のタブを選択し、「インデックスリスト(ディレクトリリスト)を表示」のチェックをはずしておきましょう。

yannie
質問者

お礼

分かりやすい回答ありがとうございます。 早速試してみます。 もし、またつまづいたら顔を出しますので、 その際にはまたよろしくお願いします。

その他の回答 (1)

回答No.1

こんにちは。  IISで作っていますが、見えませんよ?  XPのパーミッション(セキュリティ設定)ではなく、お使いのHTTPサーバの設定だと思いますが??  セキュリティ設定の「詳細設定」の中に、「フォルダのスキャン/ファイルの実行」と、「フォルダの一覧/データの読み取り」という2つのアクセス許可があります。ANONYMOUS LOGONユーザに対しては、前者をチェック、後者を非チェックにしてみればどうですか?

yannie
質問者

お礼

Win + IIS で私もそういう機会があった時の参考にさせてもらいます。 ありがとうございます。

関連するQ&A

  • WinXP + ANHTTPD + アクティブパール のパーミッションの事で続きです。

    表題の通り、 昨夜WinXP + ANHTTPD + アクティブパール のパーミッションの事で質問をさせてもらいました。 .dat、.log等、見られたくないファイルの防護策として、 拡張子を.cgi等で偽装させればOKとの良回等を頂き、 早速実践してみました。 ここで新たに質問なのですが、 拡張子を偽装させると言う事は、CGI本体のソースに関しても、 偽装したファイル名+拡張子にて記述しなおさなければいけないと言う事ですよね? この場合、拡張子を偽装するにあたって、 やみくもに全て.datや.logを.cgiにしちゃっても良いのでしょうか? ちなみに私がやりたい事は、 自サバCGIにて掲示板、サーチエンジン、画像板、それと自サイトのアクセス解析です。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • BIGLOBEのパーミッションについて

    よろしくおねがいします。 自プロバイダのBIGLOBEでURLをとり、ホームページを作ろうとしています。 しかし使えるパーミッションが少なくて困っています。 CGIなら705か755、それ以外のファイルでは604か644だけです。 パーミッション777は755にしても起動できるらしいのですが、それでも単純なカウンターすら使えません。 たいていのCGIのログファイルのパーミッションが、666か600ですから・・・ ところがBIGLOBEのCGI設置の説明を見ると、カウンターや掲示板を設置できることになっています。 ログファイルのパーミッションはいくつにすればいいのでしょうか? それか、別の方法があるのですか? 乱雑な文ですみません。 どうかお助けください・・・

  • CGIのパーミッションについて

    昨日はじめて自鯖を立てようと思い apache2にて鯖を立てました。 こちらの環境は OS:windowsXP server:apache2 + ActivePerl CPU:Pen4 3.0Ghz メモリ:1024MB CGIの勉強をしたく、アップローダーを設置することに しました。http://sugachan.dip.jp/download/uploader.php こちらのサイトのSn Uploaderというものです。 Cgiの1列目#!のperlパスを自分の環境の #!C:/Perl/bin/perl に変更し ホームディレクトリ下のcgi-binフォルダ下に設置しました。 http://localhost/cgi-bin/upload.cgiにアクセスし 動作を確かめようとしたのですが500エラーがでてしま います。ためしに他のCGIを用意し試しましたところ きちんと動作しました。Apacheのほうの設定はすんでいます。いまのところパーミッションを疑っているのですが、Windowsの場合パーミッションの設定がいらないと聞いたことがあるのですがどうなんでしょうか? もし設定が必要な場合、自鯖にFFFTP等のソフトで繋いでパーミッションの変更を行うことはできるのでしょうか。自鯖にFTPサーバがないと無理なんでしょうかね? 初心者な質問で申し訳ないです。もしFFFTP以外の方法でパーミッションの変更方法があるのでしたら是非おしえてください。日本語がわかりにくいところがあると思いますが疑問な点がありましたら言ってください。よろしくお願いいたします。

    • 締切済み
    • CGI
  • ロリポップサーバでのWeb拍手cgi設置について

    自分はロリポップサーバを利用しているのですが Web拍手のcgiを自サイトで動かす際のパーミッションが正しくないようで...正しく動作しません; ロリポップが推奨するパーミッションもWeb拍手配布サイト様が推奨するパーミッションも試してみたのですが上手くいかず...(@_@;) ファイルはちゃんとアスキーで転送しましたし perlパスもサーバに合わせたのですが... あとはパーミッションの問題だと判断しました。 使用ファイルは(数字は配布者様推奨パーミッション値) ・clap.cgi :拍手送信cgi 755 ・kaiseki.cgi :解析表示cgi 755 ・clapinit.cgi :設定、主要サブルーチン 644 ・jcode.pl :ライブラリ 644 ・log.dat :ログファイル 666 ・mes.dat :メッセージ保存ファイル 666 ・lock.dat :ファイルロック用ファイル 777 拡張子で見分けがつかない初心者なもので... ローカルでは動作したのであとこれだけ…!!! ロリポップで拍手cgi作動出来た方、ぜひ教えてください...(_ _;) 拙い質問で申し訳無いのですが...回答いただけると嬉しいです(*^_^*) それでは。長文質問失礼致します。。  

    • ベストアンサー
    • CGI
  • パーミッションについて

    CGIを読み込もうとするとエラーが出ます。何が原因でしょうか?エラー内容を見る限りテンプレートファイルのパーミッションに問題があると思うのですが, 具体的にどうしたらエラーが解決されるでしょうか? CGIのperlへのパスをcygwinのperlへのパスにしています. ご存知な方, ご教授よろしくお願い致します. エラー内容 HTML::Template : template file C:/xampp/htdocs/work/template/test.txt does not exist or is unreadable. at /usr/lib/perl5/site_perl/5.8/cygwin/HTML/Template.pm line 1615

    • 締切済み
    • CGI
  • Linux初心者です。パーミッションについて。

    Linux初心者です。パーミッションについて。 パーミッションが606だと、一般ユーザが 読み込み、書き込みできるらしいのですが、 ということは、ホームディレクトリ以下においてある、 606のDATファイルはだれでも書き換えできるのでしょうか? 某有名CGIスクリプト配布サイトでは、そういうスクリプトが多いようなので気になりました。 また、できるとしたらどうやって変更を反映しますか? よろしくお願い申し上げます。

  • パーミッションの変更ができない

    FTPツールは、DreamweaverのFTPツールと、FFFTPの両方で試しました。 cgiデータとdatデータのパーミッションを変更したいのですが、サーバー上で変更して、一時は変わりますが、数十秒たつとまた元に戻ってしまいます。 かつて、他のHP制作時に、同じCGIファイルで正常に起動しており、レンタルサーバーも同じため、cgiの環境は問題ありません。 何度やってもcgiがうまく動かず、困っています。レンタルサーバーはロリポップで、ロリポップで聞いてみたところ、推奨のパーミッションはあるが、変更できない、ということはないとの回答をもらいました。 なぜ、変更しても元に戻ってしまうのかわけがわかりません。 どなたか、おわかりになる方、助けてください!

    • 締切済み
    • CGI
  • パーミッション600でもブラウザからアクセス出来る

    いつもお世話になります。 1.FTPでtest.lzhというファイルをアップし、パーミッションを600にしたもの 2.perlで組んだファイルアップロードCGIを使ってtest.lzhを1と同様の場所にアップしたもの(perlでchmodで600に) ブラウザ上から1の場合はアクセス拒否されるのですが、2の場合は普通にアクセス出来てしまいます。 所有者が異なると、同じパーミッションでも違う動きをするのでしょうか? 2のケースでもアクセス拒否させる方法はあるのでしょうか? 基本的な考え方を間違えていたら済みません。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • パーミッションについて

    perlで作成されたcgiプログラムを修正しているのですが、 不明な点があるので教えてください。 apacheの実行アカウント:nobody test.csvファイルのユーザ、グループ:user1.user1 test.csvファイルのパーミッション:644 下記のようなプログラムで、テキストボックスに入力した文字を "test.csv"ファイルに保存しようと思うのですが、そのままでは 権限がないので保存できません。 open(OUT,">test.csv") test.csvのパーミッションを、646などにすれば保存できるのですが ちょっとセキュリティ的に問題があるような気がします。 安全にファイルを保存するには上記のような方法がベストなのでしょうか? 他に推奨される方法があれば教えてください。

    • ベストアンサー
    • Perl
  • CGIのパーミッションについて??

    「10日で覚えるPerlCGI」という本を購入して 「ActivePerl」とWindows用の「Apache」をインストールしました。 使用しているOSはVistaです。ブラウザーはIEの(多分8か9)と GoogleCromeを使用しています。 Apacheのインデックス画面と他のHTML画面は 表示されるのですが、CGIを使用した画面が表示されません。 CGIの画面を表示させようとすると下記のメッセージが表示されます。 You don't have permission to access /tendays/1-1.cgi on this server 権限が関係しているのかと思い、 ドキュメントルートとCGIの置いてあるフォルダと、 Perlの置いてある場所の権限を全てフルコンにしました。 しかしながら、このメッセージは変化ありません。 下記がCGIの中身です。 -------------------------------- #! a:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; -------------------------------- どのようにしたら、このCGIファイルをブラウザで表示できるようになるでしょうか。 どうぞ、よろしくお願いしいます。

専門家に質問してみよう