oinkmasterでのEmerging Threatsルール追加メモ
Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/users/0/fool.jp-pentest/web/n/wordpress/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 1384
Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/users/0/fool.jp-pentest/web/n/wordpress/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 700
Warning: foreach() argument must be of type array|object, null given in /home/users/0/fool.jp-pentest/web/n/wordpress/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 707
Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/users/0/fool.jp-pentest/web/n/wordpress/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 700
Warning: foreach() argument must be of type array|object, null given in /home/users/0/fool.jp-pentest/web/n/wordpress/wp-content/plugins/lightbox-plus/classes/shd.class.php on line 707
[Snort]のルールは、公式サイト以外のサイトでも配布されています。
そのサイトの一つに[Emerging Threats](以下、[ET])というサイトがあります。
このメモは[ET]のルールも[oinkmaster]を使って自動アップデートするためのメモです。
まずは、公式サイトのルールのアップデートのための[oinkmaster]の設定以外に
元々ある設定ファイルをコピーして[ET]用の設定ファイルを作成します。cp oinkmaster.conf oinkmaster-et.conf
そのファイルの中身のアップデートのためのURLが記述されている箇所をコメントアウトし
以下の内容を追記します。url = http://www.emergingthreats.net/rules/emerging.rules.tar.gz
次にダウンロードされたルールを[snort]起動時にロードするために[snort]の設定ファイル(ボクのメモでは/etc/snort/snort.conf)に[ET]からダウンロードされるルールを追加します。
このエントリー作成時点、ボクの環境では以下の通り追加しました。include $RULE_PATH/emerging-attack_response.rules
# include $RULE_PATH/emerging-botcc-BLOCK.rules
include $RULE_PATH/emerging-botcc.rules
# include $RULE_PATH/emerging-compromised-BLOCK.rules
include $RULE_PATH/emerging-compromised.rules
include $RULE_PATH/emerging-dos.rules
# include $RULE_PATH/emerging-drop-BLOCK.rules
include $RULE_PATH/emerging-drop.rules
# iinclude $RULE_PATH/emerging-dshield-BLOCK.rules
include $RULE_PATH/emerging-dshield.rules
include $RULE_PATH/emerging-exploit.rules
include $RULE_PATH/emerging-game.rules
include $RULE_PATH/emerging-inappropriate.rules
include $RULE_PATH/emerging-malware.rules
include $RULE_PATH/emerging-p2p.rules
# include $RULE_PATH/emerging-policy.rules
# include $RULE_PATH/emerging-rbn-BLOCK.rules
include $RULE_PATH/emerging-rbn.rules
include $RULE_PATH/emerging-scan.rules
# include $RULE_PATH/emerging-tor-BLOCK.rules
include $RULE_PATH/emerging-tor.rules
# include $RULE_PATH/emerging-virus.rules
include $RULE_PATH/emerging-voip.rules
include $RULE_PATH/emerging-web.rules
include $RULE_PATH/emerging-web_sql_injection.rules
include $RULE_PATH/emerging.rules
公式ルールと[ET]のルールを個別にアップデートすることは面倒なのと
mapファイルを結合する必要があるので以下のようなシェルスクリプトを利用します。
#!/bin/sh
OINKDIR="/usr/local/oinkmaster"
RULEDIR="/etc/snort/rules"
# Official Rule
$OINKDIR/oinkmaster.pl -o $RULEDIR -C $OINKDIR/oinkmaster.conf -Q
# ET rules
$OINKDIR/oinkmaster.pl -o $RULEDIR -C $OINKDIR/oinkmaster-et.conf -Q
cd $RULEDIR
cp sid-msg.map sid-msg.map.orig
cat $RULEDIR/emerging-sid-msg.map sid-msg.map.orig | sort -u > sid-msg.map
chown -R snort:snort /etc/snort/
上記、スクリプトを適当な名前で保存して実行すればOKです。
# 実行後は[snort]を再起動し起動エラーがないかどうかを確認してください。