OinkmasterでSnortのrulesetを自動更新をする

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

・Oinkmaster
http://oinkmaster.sourceforge.net/

最新のルールファイルを自動的にアップデートしてくれるPerlスクリプト。
Windows 2000に 1.0-beta1 を入れてみました。

Windows上でOinkmasterを使う方法は

  • ActivePerlを使う方法
  • Cygwin shellを使って、Cygwinを使う方法
  • Cygwin shellを使わないで、Cygwinを使う方法

があるようです。

今回は、「ActivePerlを使う方法」にしました。

既に「C:\Snort」にインストールしてあるものとします。
解凍したファイルを「C:\Snort\oink」に解凍しました。
「C:\Snort\rules_backup」(ルールのバックアップ保存用)を作成しました。

まず、コマンドラインから実行してみる

とりあえず、ヘルプの表示します。

# ヘルプの表示
C:\> C:\perl\bin\perl C:\Snort\oink\oinkmaster.pl -h

実行は以下の様にします。

# 「C:\Snort\oink\oinkmaster.conf」に従って、
# 最新のルールを「C:\Snort\rules」に保存します。
C:\> C:\perl\bin\perl C:\Snort\oink\oinkmaster.pl -C C:\Snort\oink\oinkmaster.conf -o C:\Snort\rules

更新時に今まで使っていたルールファイルをバックアップすることが出来ます。
実行前にバックアップ先のディレクトリは作成しておくこと。
指定ディレクトリに「rules-backup-YYYYMMDD-HHmmss.tar.gz」の形式で保存されます。

C:\> C:\perl\bin\perl C:\Snort\oink\oinkmaster.pl -C C:\Snort\oink\oinkmaster.conf -o C:\Snort\rules -b C:\Snort\rules_backup

「oinkmaster.conf」で設定が出来ます。
例えば、不要なルールのsidを「disablesid」に記述しておけば、アップデートしなくなります。
各環境に合わせてルールセットの編集した場合などに使用します。

自分で作成したルールは、「local.rules」に書くとよいようです。

以下の様なバッチファイルを「タスク」や「atコマンド」などで定期的に実行すれば良いと思います。

@ECHO OFF
REM oinkmaster.bat
REM oinkmaster.plを実行
ECHO oinkmaster.pl executed. (%DATE% %TIME%) >> C:\oinkmaster.log
C:\perl\bin\wperl C:\Snort\oink\oinkmaster.pl -C C:\Snort\oink\oinkmaster.conf -o C:\Snort\rules -b C:\Snort\rules_backup -Q

IDScenterに登録してみる

結果からいうと、私はうまく設定できませんでした(汗)。

後で気づいたのですが、「online update wizard」に付いて以下の記述がありました。

この機能を利用したい場合にはEagleX パッケージをダウンロードする必要があります.
Snort IDScenter 1.1 日本語マニュアル

・Eagle X
http://www.engagesecurity.com/products/eaglex/
これかな?

「Snort」と「IDScenter」は「Eagle X」のコア部分だそうです。
「Eagle X」単体でIDSのようです。
「online update wizard」を実行するに、「Eagle X」を入れないといけないのかな?
それとも、「Eagle X パッケージ」をという別のパッケージがあるのかな?
私はまだわかってません・・・。

とりあえず、「Eagle X」抜きでやった方法だけ書いておきます。
(動きませんでした)

IDScenterで設定すると「oinkmaster.conf」の内容を上書きするようなので、必要な人はバックアップをとっておいた方が良いでしょう。
コメントも消えてしまいます。

  1. 「Wizards」>「Online update」を開きます
  2. 「Activate online ruleset updates」にチェックをつけます
  3. 「Main configuration」タブ、「Update options」タブ、「Options」タブについて、設定します。
    例えば、、、
    IDScenterでoinkmasterを設定する 「Main configuration」タブ
    IDScenterでoinkmasterを設定する 「Update options」タブ
    IDScenterでoinkmasterを設定する 「Options」タブ
    「Oinkmaster configuration」を指定すると、設定ファイルの内容をダイアログに自動で反映させてくれるようです。
  4. 「Apply」ボタンを押します。
  5. 「Temporary folder for downloading and extracting rules」が「/cygdrive/c/snort/」に変わってしまいました。
  6. IDScenterを終了します。
  7. 直接「oinkmaster.conf」を修正します。
    # Oinkmaster by Andreas stling 
    # File generated using IDScenter by Ueli Kistler 
    #
    # Oinkmaster settings
    #
    url = http://www.snort.org/dl/rules/snortrules-snapshot-2_1.tar.gz
    path = C:\Snort\oink\
    #tmpdir = /cygdrive/c/snort/ # ←コメントアウトする
    tmpdir = C:\Snort\oink\      # ←追加する
    update_files = \.rules$|\.config$|\.conf$|\.txt$|\.map$
    skipfile deleted.rules
    skipfile local.rules
    skipfile snort.conf
    
  8. IDScenterを起動します。
  9. 「Wizards」>「Online update」を開きます
  10. 「test online update」ボタンを押して、テストします。
  11. うまくアップデートできたか確認します。
    古いルールファイルがあるなら、ルールのバックアップが作成されたか確認します。
    ルールファイルを削除しておいて、新しいルールファイルが作成されたか確認しても良いと思います。
  12. ルールが更新され、ルールのバックアップファイルが作成されました。
  13. 「Start Snort」ボタンでSnortを開始します。
  14. 「Update check interval」で指定した時間が経過してもルールは更新されませんでした

「Apply」ボタンを押すとまた「Temporary folder for downloading and extracting rules」が「/cygdrive/c/snort/」に戻ってしまいます。。

やっぱ、書かれてるように「Eagle X」を入れないといけないのかな。
「test online update」では動いてるので、Perlスクリプトをたたく部分ができれば良いと思うんですが、たたく部分が「Eagle X」?(違うと思う)

それか、「Cygwin Perl interpreter」ってなってるから、Cygwin経由じゃないといけないとか?

リンク

・oinkmaster を使う 〜 楽々簡単ルールファイルメンテナンス 〜 (日本 Snort ユーザ会)
http://www.snort.gr.jp/docs/use_oinkmaster/index.html

トラックバック(0)

このブログ記事を参照しているブログ一覧: OinkmasterでSnortのrulesetを自動更新をする

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

コメント(6)

grin :

はじめまして。
grinと申します。
EagleXは
http://www.engagesecurity.com/products/eaglex/
にあるもので、Snoer+Apache+MySQL+PHPのパッケージです。
中にあるものは若干古いものが入っていますが
始めのとっかかりはすごく便利です。
# 僕もCygwinなしではOinkmaster失敗した人です。

ike :

grinさん。はじめまして。
EagleXの件ありがとうございました。
Snoerの他にApacheとMySQLとPHPを管理するとなると、既に入ってないとちょっと面倒ですね。
時間があったら、入れてみようかな。
そのうちOinkmaster+Cygwin+IDScenterを試してみたいと思ってます。

grin :

>既に入ってないとちょっと面倒ですね。

これはApacheなどの設定ファイルがデフォルトのままだったりすると
面倒という意味でしょうか?

ike :

grinさん。
単独で動くのではないので、色々調べる部分も多いかなぁと。
既存のシステムとの絡みのあるかなぁと深く考えずに言いました。
パッケージなので、さくっと入るんでしょうかね?

grin :

よくあるインストーラのように操作するだけで
さくっと入るなぁという印象でした。
ただ、ApacheやPHPのバージョンなどが古いので
グローバルを持たせるのであればバージョンアップ作業が必要だと思います。
私はWin版をノートパソコンにいれて出先で遊んだりしています。
自宅ではRH9の上で動かしています。
Linux版のほうがインストールなど面倒な点が多いのですがリモートからのメンテなど細かいところで扱い易いので。
一度EagleXを入れて構成を真似て1から動かしてみるというのも手かもしれないですね。

ike :

grinさん。
なるほどぉ。
インストールは簡単のようですね。
構成を真似て動かしてみるのは色々勉強になりそうですね。
時間があったら、やってみたいと思います。

コメントする


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

このブログ記事について

このページは、ikeが2004年5月11日 18:50に書いたブログ記事です。

ひとつ前のブログ記事は「MLにスパム」です。

次のブログ記事は「WinUpdatesList」です。

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

最近のコメント

On OinkmasterでSnortのrulesetを自動更新をする
  • ike: grinさん。 なるほどぉ。 インストー
  • grin: よくあるインストーラのように操作するだけ
  • ike: grinさん。 単独で動くのではないので
  • grin: >既に入ってないとちょっと面倒ですね。
  • ike: grinさん。はじめまして。 Eagle
  • grin: はじめまして。 grinと申します。 E
Powered by Movable Type 4.261