●不要なルールをコメントアウトする |
すでに各ユーザーの環境にあわせてルールセットの編集を行っている場合、ルールセット内のコメントアウトしたはずのルールが、アップデートによって元にもどってしまっては意味がない。そこでOinkmasterの設定ファイル(oinkmaster.conf)に、不要なルールのsid(※1)を記述しておく。これにより、アップデート時には自動的にコメントアウトが入り、不要なルールは読み込まないように設定される。また、各自で作成したオリジナルのルールセットをバックアップファイルにしないよう、スキップする設定も可能だ。
|
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-CGI HyperSeek hsx.cgi directory traversal attempt"; uricontent:"/hsx.cgi"; content:"../../"; content:"%00"; flags:A+; reference:bugtraq,2314; reference:cve,CAN-2001-0253; cl asstype:web-application-attack; sid:803;rev:6;) |
○ルールファイルの編集
それでは実際に読み込ませないルールを記述し、Oinkmasterを実行してみよう。例として、上記の「WEB-CGI HyperSeek hsx.cgi
directory traversal attempt"-sid 803」を読み込まないように設定する。
sidの1-6まではデフォルトで使用されていないため、すでに設定ファイルoinkmaster.confに「disable」設定が記述されている。下記のようにカンマ区切りか、一行づつのどちらかに、読み込ませたくないsidを記述しておけばよい。
・一行ずつで記述する場合
# vi /usr/local/oinkmaster/oinkmaster.conf ############################################### # SIDs to comment out after each update.# # Syntax:disablesid SID # # or:disablesid SID1, SID2, SID3, ... # ############################################### # SID 1-6 are disabled by default, just as an example. # You can specify one SID per line: disablesid 1 disablesid 2 disablesid 3 |
disablesid 1 disablesid 2 disablesid 3 disablesid 803 ←追加、編集して保存する |
・カンマ区切りで記述した場合
# And also as comma-separated lists: disablesid 4,5,6 |
disablesid 4,5,6,803 ←追加、編集して保存 |
○編集の実行
読み込ませたくないルールを設定したら、Oinkmasterを再実行して、ルールセットを更新しよう。
# su oinkmaster $ ./oinkmaster.pl -o /etc/snort -r |
「-r」オプションを付けることで、ダウンロードしたルールセットは、アップデートされず自動的に削除される。編集を行う際に利用すればよいだろう。
Downloading rules archive from http://www.snort.org/dl/signatures/snortrules.tar.gz... 08:37:36 URL:http://www.snort.org/dl/signatures/snortrules.tar.gz [79501/79501] -> "/tmp/oinkmaster.16760/snortrules.tar.gz" [1] Archive successfully downloaded, unpacking... done. Disabling rules according to ./oinkmaster.conf... 1 rules disabled. Comparing new files to the old ones... done. [***] Results from Oinkmaster started Sat Jun 29 05:40:22 2002 [***] [*] Rules added/removed/modified: [*] [---] Disabled: [---] -> File "web-cgi.rules":
[*] Added files: [*] |
以上のように、ログから「Disabled:…」で不要なルールがコメントアウトされているのが確認できる。実際にルールファイルからコメントアウトされているか(#が追加されているか)チェックしてみよう。
# cd /etc/snort # grep sid:803 *.rules web-cgi.rules: |
不要なルールのsidを確認してoinkmaster.confへ記述しておけば、更新のたびに再編集を行う手間が省ける。コメントアウトする前にチェックのみ行いたい場合は「-c」オプションをつけて実行すればよい。
○バックアップしたくないルールセットのスキップ
同様にしてoinkmaster.confで、アップデート時にスキップするファイルも指定する。たとえば、手動で作成したルールファイルが「test.rules」だった場合は、下記のようにoinkmaster.confの「skipfile」部分に加えることになる。
# vi /usr/local/oinkmaster/oinkmaster.conf ######################################################################## # Files to totally skip (i.e. never update them or check for changes). # # Syntax: skipfile filename# # or: skipfile filename1, filename2, filename3, ...# ######################################################################## # Ignore (skip) "local.rules" from the rules archive by default, since we might # have put some local rules into our own "local.rules", and we don't want # it to get overwritten by the empty one from the archive after every update. skipfile local.rules test.rules ←skipfileの箇所に、スキップするルールセットを加えて保存する |
フォントサイズを 大きくする / 小さくする(※Internet Explorer4.0以上)
これでアップデート時には「local.rules」、「test.rules」はバックアップされることなく、そのまま利用することができる。そのほかのオプションについては、「-h」オプションで表示されるヘルプファイルを見てほしい。
実際にアップデートしたあとには、必ずsnortが正常に動作しているかどうか、ログなどを見ながら確認しておこう。正常な動作が確認できれば、あとはCronで定期的にアップデートさせればよいだろう。ただし、snort.confはスキップされて変更されないためsnort.confで行うルールセットの読み込み設定は手動で行っておく必要がある。
次回はルールの中身や作成方法について解説していく予定だ。
[TTS、ITmedia]
3/3 |