ネットワークの設定

バージョン:WindowsXPSP1 + WinPcap3.0 + snort2.0.2 + IDScenter1.1RC4

IDScenterでのネットワークに関する設定は[Wizards]->[Network variables]で行う。

以下、変数の説明(記述例はsnort.confの中でのもの)

  • HOME_NET(デフォルト値=any)
    • snortが動作している場所(ネットワークまたはホスト)を示す変数。監視対象(守ろうとしている所)を記述する。多くのシグニチャ(検知ルール)はEXTERNAL_NETからHOME_NETへの攻撃を検知するよう記述してある。
    • 記述形式は「IPアドレス/ネットマスク」か「$<インターフェース>_ADDRESS」(Windows環境では「$(<インターフェース名>_ADDRESS)」と記述)または「any」の3種類がある。
    • 複数指定する事も可能である。その場合はカンマ区切りで値を列挙し[ ]で囲む。途中に空白を入れてはならない。*1
記述例:
#ネットワークを指定する
var HOME_NET 192.168.200.0/24
#ホストを指定する
var HOME_NET 192.168.200.1/32
#複数のネットワークを指定する
var HOME_NET [192.168.200.0/24,192.168.201.0/24]
  • EXTERNAL_NET(デフォルト値=any)
    • 信頼できない場所(侵入者が存在しているかもしれない)場所を示す変数。大雑把に言えば、ここからやってくるトラフィックが検知の対象となる。言うなれば敵地。
    • 最初は「any」で始めるのがいいらしい。*2
  • DNS_SERVERS(デフォルト値=$HOME_NET)
    • DNSサーバの場所を示す変数。SERVERSという名前だが、ネットワークを指定してもよい。以下同じ。
  • SMTP_SERVERS(デフォルト値=$HOME_NET)
    • メールサーバの場所を示す変数。
  • HTTP_SERVERS(デフォルト値=$HOME_NET)
    • webサーバの場所を示す変数。
  • SQL_SERVERS(デフォルト値=$HOME_NET)
    • SQL SERVERが動いているサーバの場所を示す変数。
  • TELNET_SERVERS(デフォルト値=$HOME_NET)
    • telnetのポートを開けているサーバの場所を示す変数。
  • HTTP_PORTS(デフォルト値=80)
    • webサーバが使用するポート番号を示す変数。
    • 複数指定する場合は、「ポート番号:ポート番号」のように記述する。現在は連続した値しか指定できない。
記述例:
var HTTP_PORTS 80
#80から8080までを指定する(というか指定されてしまう)
var HTTP_PORTS 80:8080
  • SHELLCODE_PORTS(デフォルト値=!80)
    • シェルコード系の攻撃の監視したいポートを指定する変数。
  • ORACLE_PORTS(デフォルト値=1521)
    • oracleのリスナーポートを示す変数。
  • AIM_SERVERS(デフォルト値は略)
    • AIM(AOL Instant Messenger)のサーバを示す変数。
    • デフォルトのままでよいと思われる。
  • RULE_PATH(デフォルト値=../rules)
    • ルールファイルの置いてあるフォルダのパスを示す変数。
    • 記述形式は、絶対パス相対パスどちらでも可。
    • IDScenterのマニュアルには絶対パスで書くべきとあるが相対パスで記述しても動作に問題は無い模様絶対パスで指定しなかった場合、サービスとして動作させようとするとエラーが出る。他にも問題あり。(ココを参照)

これらの変数は監視対象のトラフィックを絞り込むために使用される。デフォルトの値だとほぼ全てのトラフィックが監視対象になる事となる。

このペースだとシグニチャに触れるのは何年先かなぁ。(笑)

*1:snort.confに書いてあるけど空白入ってても動いた

*2:身内も信用するなかれw