goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

WAFをリバースプロキシでやった場合、リバースプロキシが倒れたら?

2009-02-27 00:55:13 | Weblog

今日、C/C++のセキュアコーディングの話を聞いてきて
(今度、レポートします。その内容)

そこで、ファイルアクセスにおけるぜい弱性の話を聞いてきた。

つまり、ファイル名をユーザーにいれてもらうと、ふつうは
foo.xml
のように、素直に、ファイル名をいれると想定しちゃうけど、ここに

../../../../../etc/passwd

とかかいて、思いもよらないところにアクセスして、ファイルを書きだしてしまう
危険があるというはなし。

これを防ぐには、ファイルのパスを正規化(canonicalization)する、
具体的にはrealpath()をつかうそうな・・・

って、それ、CやC++ですよねえ・・・

JAVAは?File#getCanonicalPath()なのかしら??




うん、でも、ひょっとして、それって、WAFでやってくんない?

とおもったら、

第3回 WAFはどのように脆弱性を防御するのか
http://www.atmarkit.co.jp/fsecurity/rensai/waf03/waf03.html

に、そんなのありました(以下斜体は上記サイトより引用)


 強制ブラウジングを防ぐためには、オブジェクトタイプのチェックによる意図しないファイルタイプへのアクセスからの防御と、正規表現を使用したネガティブセキュリティモデルによるディレクトリトラバーサルからの防御を行う。ディレクトリトラバーサルとは、パスをさかのぼることによって、本来、管理者がユーザーに見せるつもりのないファイルやディレクトリを閲覧したり実行したりする攻撃である。「../」という文字列などをリクエストパスの中に入れる手法がよく使われる。


おお、じゃあ、WAFにすれば、ばっちり・・・なの??




でも、ふとおもったんだけど、WAFって、リバースプロキシ*使うよねえ。。

使わない方法もあるらしい

じゃあ、このリバースプロキシが倒れたら、どーなるの??




そんなくだらないこと考えてないで、getCanonicalPath()使えって(^^;)
(まだ、こいつ使ったことない、今度試してみるね)


リバースプロキシ:外から、中のあるサーバーに対する通信を行う際、かならず、このサーバーは通ってね!っていうプロキシ、ふつうのプロキシは、中の人→外に行く時に使うのに、こいつは、外→中にいくときにおもに活躍するので、ふつうの逆=リバース

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 管理機能におけるWindowsとLi... | トップ | 「竹島の日」に関連?島根県... »
最新の画像もっと見る

Weblog」カテゴリの最新記事