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

Web掲示板などで設定・ログファイルを「*******.cgi」とすることのセキュリティについて教えてください。

最も、設定・ログファイルの見られて困るような情報を生で記録することに問題があると思いますが、それはさておき、
現状CGI配布サイトではそれらのファイルを.cgiとすることで一定のセキュリティが保たれるとしているサイトを多く見かけます。
しかしそれが本当なのかどうか最近疑問を抱くようになりました。

話題はWebユーザ限定とするとして、識別子をcgiとすることで本当にセキュリティは一定量保たれるものなんでしょうか?
こういう脆弱性があるという情報をお持ちの方、是非とも教えて欲しいと思います。
もちろん全く問題がないという情報でも論拠が添えられていれば構いません。

なお、error.logに大量のログが残るので美しくないとかそういう類の意見は必要としません。
よろしくお願いします。

●質問者: ganmosan
●カテゴリ:ウェブ制作
✍キーワード:CGI Web サイト セキュリティ ファイル
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● QuestR2
●0ポイント

PHPの場合は、phpとする場合が多いのですが、それでも一定のセキュリティは保たれてます。

http://bakera.jp/ebi/topic/3309

◎質問者からの返答

その論拠はなんでしょうか?


2 ● pahoo
●0ポイント

ログファイルは、インターネットに公開していないフォルダに保管するのが原則です。


ご質問のようなサイトを見たことがないので、どのような背景から拡張子を cgi にしているのか分かりませんが、セキュリティの観点から考えると無意味です。


拡張子を cgi にしてインターネットに公開しているフォルダ(public_htmlなど)に保管すると、Webサーバ経由で閲覧/ダウンロードすることはできません。

しかし、cgi は実行可能ファイルですから、もし直接ファイル名を指定されてしまうと、システムはそのログファイルを実行しようとしますが、プログラムではないためエラーが発生します。ログファイルの内容は予測できないので、ここで発生するエラーがシステムに対して好ましくない影響を与える恐れがあります。

◎質問者からの返答

フリーCGI配布サイトで一番有名どころ?のkent-webでそう語られてるのを今日見かけて驚いたところです。

http://www.kent-web.com/support/faq/faq3.html

確かにこの方法でWebサーバ経由での閲覧は出来なくなります。

しかしそれ以外の閲覧方法があるのであれば、確かにセキュリティの観点から考えると無意味かと思います。

ただ、Webユーザに限定した場合にはどうなるのか・・・と、ふと考えてしまいます。

(自宅サーバなんかで何かのサービスに脆弱性のある場合はさておきですが。)


3 ● pahoo
●50ポイント ベストアンサー

コメントでご紹介いただいたサイトですが、セキュリティ上の疑問が残ります。


拡張子をcgiにすることで「サーバエラーとなりダウンロードされることはありません」と記されていますが、万が一、ログファイルに実行可能な文字列が書いてあり、それが不正なコードであるとすると、システムへの侵入すら許してしまうかもしません。

それでなくとも、システムエラーを頻発させることがDoS攻撃になりますので、システムにとっては好ましいことではありません。


とはいえ、レンタルサーバの制約もあるでしょうから、ログファイルについては、次の3段階のリスク管理を行ってみてはどうでしょう。

  1. インターネット側に公開していないフォルダに保管する。
  2. .htaccess で Deny 設定する。
  3. これらができないレンタルサーバを利用している場合は、ログファイルを残さないという割り切りが必要。
◎質問者からの返答

ということは、その大本となるWeb掲示板など自体が脆弱性となるということですね。

しっかりとしたレンタルサーバであればこの様な脆弱性があってもユーザディレクトリ内の自由な閲覧程度で済むように設計されているはずではありますが、

ユーザによる対策としては、可能であれば1.、出来なくとも2.の対策は必要かもしれませんね。3.はログはhtmlの解析・作成でしょうか。

(10年ぐらいの前は負荷対策のためによくありましたね。)

これは深い調査対象になるかもしれません。ご意見ありがとうございました。


4 ● ultraist
●40ポイント

ログファイルの拡張子を.cgiとするのは歴史的な悪い習慣だと思います。

UNIX系のOSではユーザやグループごとにファイルのアクセス権を設定することができます。

最近のウェブホスティングサービスでは、CGIはsuEXECという仕組みでファイル所有者の権限で実行されるされるため、『CGI(ファイル所有者の権限)から読み書きでき、httpd(apacheなど)から読めない』という設定にすることができます。

ただ昔のウェブホスティングサービスは、CGIがhttpdの権限で動いていて、ホームディレクトリは全て公開設定になっているところが多かったので、CGIからログファイルを読み書きできるようにするとファイル名が分かればウェブから閲覧できるようになっていました。

この対策として、

などの方法があって、.htaccessは使えないサーバが多かったことや当時初心者でもみんな自分のレンタルサーバに自分でCGIを設置するような習慣があったため、簡単に設置できるようにログファイルの拡張子を.cgiにするという方法を選ぶCGI作者が増えたのだと思います。

ログファイルのセキュリティについては、90年代は掲示板荒らしが横行していて、よくある掲示板では『削除パスワード』を暗号化したものがログファイルに保存されていたのですが、これを総当りで解読するツールなどが出回り、削除パスワードが解かれて勝手に記事を削除されたり、管理人削除パス=管理パスで掲示板を乗っ取られることがよくありました。

このような経緯からログファイルの拡張子を.cgiにするとセキュリティーを確保できるという話になったのではないかと思います。

結局のところ、見せたくない情報はウェブから見えないようにしろと言いたいだけだと思います。

◎質問者からの返答

でも現状は昔とは大きく違って、ログファイルを閲覧出来なくする方法がいくつもあるわけですから、

「拡張子.CGIにしてエラーに落とす」という現状にはそぐわない方法は採るべきではないし、広めるべきでもないですよね。

しかし攻撃コードでも開発されていればそれはすぐに無くなると思うんですが、そのような話をまだ聞いたこと無いと言うことは、

ログファイルを.cgiにして見えなくするというのはインスタント的な方法として通用してるってことなんでしょうねぇ、、、説明する側も楽ですし。

(にしても、いつの時代も、間違ったセキュリティ対策を流布する人は絶えないものですね。)

関連質問


●質問をもっと探す●



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