Snort + IDScenter

| | コメント(6) | トラックバック(0)

Snort入れてみました。

・Snort.org
http://www.snort.org/
本家。
英語。

・Japan Snort Users Group
http://www.snort.gr.jp/
日本 Snort ユーザ会

2004/04/25 現在の正式リリースバージョンは2.1.2。
Release Candidate版は、2.1.3RC1。
Windows2000に「2.1.2」を入れてみました。

インストール

・WindowsでSnortを動かしてみる(Snort+IDScenter)
http://www.snort.gr.jp/docs/idscenter/menu.html

・Snort IDScenter 1.1 日本語マニュアル
http://www.snort.gr.jp/transdoc/IDScenter_J/IDScenter_1_1_manual_jp.htm

を参考にしつつ。

●WinPCAP(Windows用のパケットドライバ)のインストール

・WinPCAP
http://winpcap.polito.it/

2.10 What version of Winpcap do I need?によると、1CPUの時は3.x、マルチCPUの時は「2.3以前」か「3.x+パッチ」が必要との事。

既に入れてあるので、今回はそれを使いました。
Winpcap関係のdllファイルは「%SystemRoot%\sytem32\」にある「packet.dll」「wpcap.dll」かな?「pthreadVC.dll」も?
「packet.dll」「wpcap.dll」のバージョンは「3.0.0.18」でした。

● Snortのインストール

Snortのインストールは、インストーラーを使うより、ZIPからの方がいいという話があったけれど、インストーラー版しか見当たりませんでした。

インストール時にログをどこに保存するか選択しますが、今回は「I do not plan to log to a database, or I am planning to log to one of the databases listed」を選択しました。
データベースにログをとらないか、MySQLかODBCデータベースにログをとります。
(SQL ServerやOracleを使わない)

「C:\Snort」にインストールしました。

● IDScenterのインストール

Snortを使うには「snort.conf」を編集する必要があります。

今回は、Windowsプラットフォーム(WindowsNT/2000/XP推奨)におけるSnortのベーシックな管理GUIである「IDScenter」を使います。

・Engage Security
http://www.engagesecurity.com/

今回は「Snort IDScenter 1.1 RC4」を使いました。

インストール途中で止まりますが、タスクトレイのIDScenterを右クリックして、2回ほどExitさせると、インストールは完了しました。

● ルールファイルを最新のものにする

http://www.snort.org/dl/rules/から最新のルールを入手します。
「conf」「config」「map」「rules」ファイルはインストーラでインストールしたものと同じでした。
↑うそかも。
適時、ルールは更新されていました。
適宜更新しましょう。

「snortrules-snapshot-2_1.tar.gz」をダウンロード/解凍します。
インストーラで配置した各ファイルの置き場所に上書きコピーします。

(例)

  • *.(「generators」「sid」) → どこにおいたら良いでしょう?
  • *.conf → 「C:\Snort\etc\」
  • *.config → 「C:\Snort\etc\」
  • *.list → どこにおいたら良いでしょう?
  • *.map → 「C:\Snort\etc\」
  • *.rules → 「C:\Snort\rules\」

● IDScenterで設定をする

IDScenterを起動して、設定します。

○「General」>「Configuration」
Snort実行ファイルの場所を指定。
(例) C:\Snort\bin\snort.exe

ログフォルダ/ファイルを指定。
(例) C:\Snort\log\alert.ids

○「General」>「Snort Options」
設定ファイルを指定。
(例) C:\Snort\etc\snort.conf

設定ファイルにおいて、複数行分けて記述するために使用する行末の「\」をうまく認識できてないみたい?(そういう仕様になってないのかな?)
エラーになったので、以下の2行を修正しました。
#「http_inspect」と「http_inspect_server」の意味をちゃんと調べないとなー。
# 2.8.10 HTTP Inspect (www.snort.org)参照。

*1つ目

# これを
preprocessor http_inspect: global \
↓
# こう修正
preprocessor http_inspect: global iis_unicode_map unicode.map 932

必要なcodemapがない場合は「[Snortインストールフォルダ]\contrib\」かhttp://www.snort.org/dl/contrib/にある「ms_unicode_generator.c」をコンパイルして、実行して「unicode.map」を作成すればよさ気。

# コンパイラが使える状態で
C:\> cl.exe ms_unicode_generator.c
# あるいは、Cygwinのgccで
C:\> gcc.exe -o ms_unicode_generator.exe ms_unicode_generator.c
# gcc@Cygwin版だと、「unicode.map」の改行コードはLFになるけど、動くのかなぁ?
C:\> ms_unicode_generator.exe  > unicode.map

「[Snortインストールフォルダ]\etc\unicode.map」に「932 (ANSI/OEM - Japanese Shift-JIS)」が含まれていたので、今回はコンパイルの必要はなさ気。

*2つ目

# これを
preprocessor http_inspect_server: server default \
↓
# こう修正
# 「all」の部分は、[ all | apache | iis ]のいずれか
# 複数のports指定するには、「{ 80 8080 }」とする
preprocessor http_inspect_server: server default profile all ports { 80 }
# またはIPアドレスを使って
preprocessor http_inspect_server: server 192.168.99.101 profile all ports { 80 }

「Save」ボタンをクリックして、設定ファイルの変更を保存。

○「Wizards」>「Network variables」
「RULE_PATH」ダブルクリック>パスを指定>下の「Apply」ボタンをクリック
(例) C:\Snort\rules

○「Wizards」>「Rules/Signatures」

ファイル名のみのものを削除
(「classification.config」「reference.config」「threshold.conf」)

削除したファイル名と同じモノをフルパスで入力して「Add」ボタン。
(例)「C:\Snort\etc\classification.config」etc.

「classification.config」選択>「Select」ボタン
「Classification file」に「classification.config」と表示されます

とりあえず、全てのrulesにチェックをつけてみます。
いらないものは後で減らしていこうという方針で。

○「Alerts」>「Alert detenction」

「Add alert log file」ボタンをクリックして、変更の監視対象ログファイルを追加。
(例) 「C:\Snort\log\alert.ids」

設定が終わったら、上部の「Apply」ボタンをクリックして設定を反映します。

「Test settings」ボタンを押してエラーが出ないか確認します。
エラーが出たら修正します。

エラーが出なくなったら、サービスとして動かすために、
「General」>「Configuration」>「Snort Service mode」
をチェックします。

設定を有効にするために、
「Apply」ボタン
をクリックします。

細かい設定やルールの定義方法/編集の勉強は後日しよう・・・。

とりあえずどんなログがでるか?

「C:\Snort\log\alert.ids」には、どんな種類のアクセスかの説明URLが書かれてるので、それも参照する事。

● 別マシンから共有リソースにアクセスしてみる

# C:\Snort\log\192.168.99.100\TCP_3043-139.ids
[**] NETBIOS SMB IPC$ share access (unicode) [**]
04/26-00:06:46.744892 192.168.99.100:3043 -> 192.168.99.101:139
TCP TTL:128 TOS:0x0 ID:2222 IpLen:20 DgmLen:120 DF
***AP*** Seq: 0x28196700  Ack: 0x39887DBD  Win: 0xF8DA  TcpLen: 20
 
# C:\Snort\log\alert.ids
[**] [1:538:7] NETBIOS SMB IPC$ share access (unicode) [**]
[Classification: Attempted Information Leak] [Priority: 2] 
04/26-00:06:46.744892 192.168.99.100:3043 -> 192.168.99.101:139
TCP TTL:128 TOS:0x0 ID:2222 IpLen:20 DgmLen:120 DF
***AP*** Seq: 0x28196700  Ack: 0x39887DBD  Win: 0xF8DA  TcpLen: 20
[Xref => http://www.whitehats.com/info/IDS334]

の様なログがありました。

WindowsXP環境で、「フォルダオプション」>「表示タブ」>「ネッツワークのフォルダとプリンタを自動的に検索する」のチェックの状態により出るタイミングが違いました。

  • あり→「マイネットワーク」を開いた時
  • なし→「Microsoft Windows Network」を開いた時

もっとも、任意のタイミングでもアクセスしてるみたいですが?

(参考)ITmedia エンタープライズ の記事
・第1回 Microsoftネットワークの監視で見えてくる、Windowsの裏側 (1/2)
http://www.itmedia.co.jp/enterprise/0404/08/epn01.html
・第2回 Microsoftネットワークの監視で見えてくる、Windowsの裏側 (1/3)
http://www.itmedia.co.jp/enterprise/0404/15/epn04.html

● 別マシンからSuperSacan4.0でScanしてみる

# C:\Snort\log\192.168.99.100\UDP_3130-53.ids
[**] DNS named version attempt [**]
04/26-00:42:31.153161 192.168.99.100:3130 -> 192.168.99.101:53
UDP TTL:128 TOS:0x0 ID:4259 IpLen:20 DgmLen:58
Len: 30
 
# C:\Snort\log\alert.ids
[**] [1:1616:4] DNS named version attempt [**]
[Classification: Attempted Information Leak] [Priority: 2] 
04/26-00:42:31.153161 192.168.99.100:3130 -> 192.168.99.101:53
UDP TTL:128 TOS:0x0 ID:4259 IpLen:20 DgmLen:58
Len: 30
[Xref => http://www.whitehats.com/info/IDS278][Xref => http://cgi.nessus.org/plugins/dump.php3?id=10028]

ちょっとカスタマイズ

自分のネットワーク内を信じているなら、以下の様にするのも良いらしい。
誤検知も減るので。

var HOME_NET 192.168.99.0/24
var EXTERNAL_NET !$HOME_NET

自分的トラブルシューティング

● エラーが出たら見る場所

  • 「イベントログ」>「アプリケーションログ」>「ソースがSnortServiceのレコード」
  • 「General」>「Overview」
  • 「Test Settings」ボタンを押して、コンソールに出力される情報
    (コンソールを閉じるには「x」をクリックではなくて、Enterキーを押す。)
  • 「General」>「Overview」>「Snort commandline」に書かれてるコマンドをコンソールから実行て、表示される画面。(エラーが出ないで動きつづける時は、Ctrl+C)

● 以下のエラーが出る。

ERROR:  [SNORT_SERVICE] Unable to remove Snort from the Services database. 
Service already marked for delete.
指定されたサービスは削除の対象としてマークされています。

とか言われる。

→ そのまんま。PCの再起動して、再度、Serviceとして登録する。

● 以下のエラーが出る。

ERROR:  [SNORT_SERVICE] Unable to locate Snort in the Services database.
Service does not exist.
指定されたサービスはインストールされたサービスとして存在しません。

とか言われる。

→ もっと良い方法あるかもしれないけど、以下の様な感じでなんとかなるっぽい。

  1. 「General」>「Snort service mode」のチェックを外す
  2. 「Apply」ボタン
  3. 「Reload」ボタン
  4. 「Apply」ボタン
  5. 「General」>「Snort service mode」のチェックを付ける
  6. 「Apply」ボタン
  7. 「Reload」ボタン
  8. 「Apply」ボタン

→上記エラーがでても、その後の処理でサービスを登録してる場合があるようなので、「管理ツール」>「サービス」>「開始」してもいいかも。

自分的メモ

「IDScenter」はアンインストールを実行してもレジストリは削除しない模様。
そのため、次回インストールした時も、以前の設定が残ります。
デフォルト状態でやり直したい時は、
「HKEY_LOCAL_MACHINE\SOFTWARE\EngageSecurity\IDScenter」
をさっくり消すとよさ気。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Snort + IDScenter

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/279

コメント(6)

R'lyeh@Snort初心者 :

ども。最近、当方も Snort + IDScenter を入れて遊び始めたのですが、
> 「\」をうまく認識できてないみたい
ではまりました。
ご存知かもしれませんが、上記で修正されているルールの部分は IDScenter [Wizards]-[preprocessor]-[Misc]タブ-[Unsopported preprocessors]でも設定できます。
ご指摘のように「\」を使用して改行しても[Apply]等をすると、改行以降を見事に消してくれます。
それよりも厄介なのが「\」を取り払って1行で延々とルールを記述しても、[Unsopported preprocessors]で折り返されて表示された(複数行で表示された)部分もばっさり消してくれるようです。
#当方の行いが悪いだけかもしれませんが・・・

ike :

はじめまして。
「?」な方面に住んでいらっしゃる R'lyeh さんでしょうか?
(いえ、「だったら、お知り合い」とか言うわけじゃないんですが・・・ふと思ったので)

情報ありがとうございます。
[Unsopported preprocessors]から設定できる件、知りませんでした。
更に厄介な[Unsopported preprocessors]の件も知りませんでした。
うーん、そんなこともあったのかぁ、ややこしい、って感じです。

色々癖がありそうですね。
IDScenterは 2003/08/04 のRelease Candidate以来新しくなってませんが、開発は終わっちゃったんでしょうか?
GUIの設定はとっつき易いので期待しちゃうんですが。

まだまだ、入れただけ状態なので、分からないことだらけですー。

R'lyeh :

ども、はじめまして。「?」な方面のR'lyehです。
挨拶を忘れてました(汗
#この時点ですでに「はじめまして」ではないのですが(大汗

とりあえず使って慣れる分には問題なさそうなので、当方はIDScenterをしこしこ使ってます。
使いこなせるようになるには当分かかりそうです。

ike :

R'lyehさん。
Snort関係の何かをやったらコメントしようと思ってたんですが、ほとんど触ってないので書き込めませんでした。。
とりあえず、Oinkmasterを入れてルールの自動更新をしようかな?(まだしてなかった)
先日ダウンロードして、そのままになっています(汗)

ACID とか SnortSnarf も一緒に使う際の設定も追及してくださるとうれしーかも(w

WinSnort.com あたりに、これらツールの設定資料がある気配です。
http://www.winsnort.com/

ike :

YamaKenさん。
WinSnort.comは知りませんでした。
「Downloads」を見たらツール類って沢山ありますね。
SnortのMLを見てると「XXXっていうツールが新しくなりました」というのをよく見るので「いつかチャレンジしたいなぁ」と思ってるのですが、なかなか時間も技術も足りなくて。
Snort関係のエントリが溜まったらカテゴリを独立しようと思っているですが、なかなか手が回りません。
実現しないかも?
Snort初心者なので、ACID とか SnortSnarf がどんなものかも分かりませんが、試す時は参考にしてみたいと思います(英語とまた格闘です ^^;)。

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2004年4月26日 14:34に書いたブログ記事です。

ひとつ前のブログ記事は「メールの全文引用」です。

次のブログ記事は「MLにスパム」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

On Snort + IDScenter
  • ike: YamaKenさん。 WinSnort.
  • YamaKen: ACID とか SnortSnarf も
  • ike: R'lyehさん。 Snort関係の何か
  • R'lyeh: ども、はじめまして。「?」な方面のR'l
  • ike: はじめまして。 「?」な方面に住んでいら
  • R'lyeh@Snort初心者: ども。最近、当方も Snort + ID
Powered by Movable Type 4.261