検索
連載

Snortで使用可能なプリプロセッサを理解するSnortでつくる不正侵入検知システム(5)(2/2 ページ)

Share
Tweet
LINE
Hatena
前のページへ |       

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に書かれている情報や設定例を読むだけでも、有益な情報を得られるはずである。

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

Index

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

Page1

プリプロセッサとは何か

flow

frag2

stream4


Page2

http_inspect


Profile

早川勇太

日本Snortユーザ会


[an error occurred while processing this directive]

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  3. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  4. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  5. 「生成AIのサイバー攻撃への悪用」は増加する? 徳丸浩氏が予測する2025年のセキュリティ
  6. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  7. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  8. 商用国家安全保障アルゴリズム(CNSA)の期限となる2030年までに暗号化/キー管理サービス市場が60億ドルに達するとABI Researchが予測 急成長の要因とは?
  9. 高度なAIでAIをテスト OpenAIが実践するAIモデルのレッドチーム演習とは
  10. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
ページトップに戻る