【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷



第5回 Snortで使用可能なプリプロセッサを理解する


早川勇太
日本Snortユーザ会
2005/1/8



 http_inspect:HTTPトラフィックおよび
 プロトコル上の例外の正規化・検出

 このプリプロセッサではHTTPトラフィックおよびプロトコル上の例外の正規化と検出を行う。Stream4と同様に、このプリプロセッサも大変強力であるため、多数の設定項目が存在する。柔軟な設定が可能な分、多少難しい面もあるが、1つ1つ見ていきたい。なお、大別してグローバルとサーバの2つの設定を行う必要がある。

 まずは、グローバル設定から見ていこう。

iis_unicode_map

IIS用Unicodeマップと使用コードマップ番号を指定(必須)
Tarballに同梱されているunicode.mapとその中のコードマップ番号を指定すればよい
detect_anomalous_servers HTTPデフォルトポート以外でのHTTPトラフィックを監視し警告を発するよう指定
proxy_alert 使用を許可していないプロキシを使用しているクライアントを検出し警告を発するよう指定

 続いてサーバ設定を見ていこう。

profile

IISまたはApache特有の設定を行うことができるように指定
IIS、Apache、allのいずれかを指定する

なお、この指定はサーバ設定のオプションの先頭にくる必要がある
また、下記のオプション以外と組み合わせることはできない
必須項目ではないため、省略可能である

ports/iis_unicode_map/allow_proxy_use/flow_depth/no_alerts/inspect_uri_only/ oversize_dir_length
ports HTTPサーバが使用しているポートを指定(複数指定化)
iis_unicode_map グローバル設定と同様
flow_depth サーバの応答に対して検査対象となるデータ長を数値で指定
ascii エンコードされたAscii文字列のデコードを行うか否かを指定
yesを指定するとデコード時のアラートを発生し、noを指定するとデコード時のアラートは発生しない
utf_8 URI中のUTF-8のうち、一般的なものについてデコードするか否かを指定
yesを指定するとデコード時のアラートを発生し、noを指定するとデコード時のアラートは発生しない
u_encode IISの%uエンコードをデコードするか否かを指定
yesを指定するとデコード時のアラートを発生し、noを指定するとデコード時のアラートは発生しない
bare_byte IISで用いられているHTTP標準と異なったエンコードを処理するか否かを指定
yesを指定すると処理時のアラートを発生し、noを指定すると処理時のアラートは発生しない
base36 IISで用いられている%de%adのようなエンコードをデコードするか否かを指定
yesを指定するとデコード時のアラートを発生し、noを指定するとデコード時のアラートは発生しない

u_encodeとの同時使用はできない(こちらが無効となる)
また、asciiが有効となる
iis_unicode unicodeコードポイントマップを有効にするか否かを指定
yesを指定すると処理時のアラートを発生し、noを指定すると処理時のアラートは発生しない
double_decode IISの2重デコードと同様のデコードを行うか否かを指定
yesを指定すると処理時のアラートを発生し、noを指定すると処理時のアラートは発生しない
non_rfc_char URI中に非RFC文字が存在した場合、アラートを発生させるか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない
multi_slash 複数のスラッシュを正規化するか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない
iis_backslash バックスラッシュをスラッシュに変換するか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない
directory 「../」または「./」を正規化するか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない

HTMLドキュメント中に「../」が存在した場合などもアラートを発生させるので注意する必要がある

apache_whitespace

 
スペース区切りの代わりにTABが用いられている場合、解釈するか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない
iis_delimiter IIS特有の区切り文字の解釈を行うか否かを指定
yesを指定するとアラートを発生し、noを指定するとアラートは発生しない
chunk_length チャンクエンコーディングされたデータサイズの閾(いき)値をより大きい整数値で指定
no_pipeline_req HTTPのパイプラインでコーディングを無効にするよう指定
non_strict URIの解釈を厳密に行わないよう指定
allow_proxy_use プロキシ使用時にアラートを発しないよう指定
グローバル指定のproxy_alertの指定は影響しない
また、proxy_alertの指定がない場合は機能しない
no_alerts このプリプロセッサによってすべてのアラートを発生しないよう指定
oversize_dir_length URI中のディレクトリを示す文字列の最大値を、0より大きい整数値で指定
(ここの値を超えた時点でアラート発生) 
inspect_uri_only HTTPリクエストのURI部分のみを検査対象とする
(uricontent ルールオプションを用いていないルールセットではこのオプションは意味を持たない)

■次回予告

 今回、Snortで使用可能なプリプロセッサの種類とそれらで使用可能なオプションについて解説を行った。すべてについて解説ができず、また解説を行ったものについても、詳細なものではなかったため、理解しきれない部分があるかと思う。

 英語ではあるがTarball中のdoc/配下にREADME.〜というドキュメントが存在するものもあるため、それらを併せて読むと理解が深まると思う。また、snort.confに書かれている情報や設定例を読むだけでも、有益な情報を得られるはずである。

 次回は独自のルールセットの作成方法について紹介していきたい。

2/2
第6回」へ

Index
Snortで使用可能なプリプロセッサを理解する
  Page1
プリプロセッサとは何か
flow
frag2
stream4
Page2
http_inspect


関連記事
Snort
5分で絶対に分かる侵入検知システム(IDS)
特集:不正侵入対策最前線
特集:続 不正侵入対策最前線
ネットワーク型IDS「Snort」の導入 (Linux Square)
ネットワーク型IDS「Snort」のシグネチャ作成法 (Linux Square)

Security&Trust記事一覧

ホワイトペーパーTechTargetジャパン

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  「仮想化工房」のマイスターが選んだのは
VMware、Hyper-V、そしてVirtageだった!

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?