■wheezyにsnortの導入、「local.rules」の追加。
過去にLenny/Squeezeにも入れましたが
バラバラになってて、探したり書き直したりするのが面倒なので。。。
TORは「Emerging Threats(ET)」ルールから取得しなくても
デフォルトのルールに入ったようですね。
■今回はDB無しでサクッと入れてしまいます。
$ sudo apt-get install -y snort
$ sudo dpkg-reconfigure snort
■Apache Killerはデフォルトにある。
$ grep -i "mod_jrun" /etc/snort/rules/*.rules | sed s/"; "/"&\n"/g | sed s/"(msg"/"\n&"/
/etc/snort/rules/community-web-misc.rules:alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS
(msg: "COMMUNITY WEB-MISC mod_jrun overflow attempt";
flow:to_server,established;
content:"|3A|";
pcre:"/^.*\x3a[^\n]{1000}/sm";
reference:bugtraq,11245;
reference:cve,2004-0646;
classtype:web-application-attack;
sid:100000122;
rev:1;)
■TORもあります。
$ grep -i "TOR" /etc/snort/rules/community-misc.rules | sed s/"; "/"&\n"/g
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 8008 (msg:"COMMUNITY MISC Novell eDirectory iMonitor access";
flow:to_server,established;
uricontent:"/nds/";
nocase;
reference:bugtraq,14548;
reference:cve,2005-2551;
reference:nessus,19248;
reference:url,www.osvdb.org/displayvuln.php?osvdb_id=18703;
classtype:web-application-attack;
sid:100000199;
rev:1;)
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"COMMUNITY MISC DLR-TOR Directory server response";
flow:established,to_client;
content:"|54 4f 52|";
offset:109;
depth:3;
content:"|06 03 55 04 03|";
distance:4;
within:5;
content:"|20 3C 69 64 65 6E 74 69 74 79 3E|";
distance:2;
within:30;
reference:url,tor.eff.org;
classtype:policy-violation;
sid:100000874;
rev:2;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"COMMUNITY MISC DLR-TOR Client Traffic";
flow:established,to_server;content:"|54 4f 52|";
content:"|06 03 55 04 03 14|";
distance:4;
within:6;
content:"|63 6c 69 65 6e 74 20 3C 69 64 65 6E 74 69 74 79 3E|";
distance:1;
within:17;
classtype:policy-violation;
reference:url,tor.eff.org;
sid:100000875;
rev:1;)
■DNSバージョンチェックもあります。
$ grep -i version /etc/snort/rules/dns.rules | sed s/"; "/"&\n"/g
alert tcp $EXTERNAL_NET any -> $HOME_NET 53 (msg:"DNS named version attempt";
flow:to_server,established;
content:"|07|version";
offset:12;
nocase;
content:"|04|bind|00|";
offset:12;
nocase;
reference:arachnids,278;
reference:nessus,10028;
classtype:attempted-recon;
sid:257;
rev:9;)
alert udp $EXTERNAL_NET any -> $HOME_NET 53 (msg:"DNS named version attempt";
content:"|07|version";
offset:12;
nocase;
content:"|04|bind|00|";
offset:12;
nocase;
reference:arachnids,278;
reference:nessus,10028;
classtype:attempted-recon;
sid:1616;
rev:7;)
■Javaのゼロデイ(CVE-2012-4681)とTポイントツールバーのルールがありません。
これは追加します。
$ grep -i "applet.jar\|2014155\|14.128.18.212" /etc/snort/rules/*.rules | \
sed s/"; "/"&\n"/g | wc -l
0
$ echo 'alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (
msg:"ET CURRENT_EVENTS JavaScript Obfuscation Using Dadong JSXX Script";
flow:established,to_client;
file_data;
content:"Encrypt By Dadong";
distance:0;
classtype:bad-unknown;
sid:2014155;
rev:2;
)' | xargs echo -n | sudo tee /etc/snort/rules/local.rules >/dev/null
$ echo '#T-Point Toolbar 2012/08/11
alert tcp $HOME_NET any -> 14.128.18.212 any (msg:"T-Point ToolBar Client Access"; sid:10000001; rev:1;)
alert tcp 14.128.18.212 any -> $HOME_NET any (msg:"T-Point ToolBar Request Access"; sid:10000002; rev:1;)' | \
sudo tee -a /etc/snort/rules/local.rules >/dev/null
■ローカルルールの「applet.jar」を追加。
※CVE-2012-4681以外の80ポートへの「applet.jar」を禁止するのは、
環境によっては厳しいかも知れない。
$ echo 'alert tcp any 80 -> any any (
msg:"applet.jar";
uricontent:"applet.jar";
nocase;
sid:202014155;
rev:2;
)' | xargs echo -n | sudo tee -a /etc/snort/rules/local.rules >/dev/null
■テスト用のICMPルールを追加。
※テスト後にコメントアウト。
$ echo 'alert icmp any any -> any any (msg:"ICMP Test"; sid:200003851; rev:1;)' | \
sudo tee -a /etc/snort/rules/local.rules >/dev/null
■おまけ。
snortのログによるディスクフル、/tmpのオーバーフロー
http://d.hatena.ne.jp/labunix/20111219
Snortに「Emerging Threats(ET)」ルールを導入する。
http://d.hatena.ne.jp/labunix/20121224
Lenny 侵入検知システムsnortでApachekillerを検出
http://d.hatena.ne.jp/labunix/20110917
CVE-2012-4681をSnortで検出、アラート、SquidGuardとiptablesでブロック
http://labunix.hateblo.jp/entry/2012/08/29/215603
Squeezeにsnort-pgsqlの導入
http://d.hatena.ne.jp/labunix/20120815
Snortのalertログで遊ぶ(テスト用ICMPローカルルール)
http://d.hatena.ne.jp/labunix/20120821
Tポイントツールバーのブロック色々
http://labunix.hateblo.jp/entry/2012/08/11/175214
Snortの警告の対応方法のテンプレート
http://d.hatena.ne.jp/labunix/20120512
snort-mysqlの導入、DNSバージョンチェック、シグニチャの確認
http://d.hatena.ne.jp/labunix/20120809
Snortの動作中に統計を見る(正常性チェック)
http://d.hatena.ne.jp/labunix/20120811
bash+snort-pgsqlで健康状態、統計情報の確認。
http://d.hatena.ne.jp/labunix/20121122
SqueezeのSnortをスニッファとして使う。
http://d.hatena.ne.jp/labunix/20120807
snort-mysql/snort-pgsqlのレポートメール
http://d.hatena.ne.jp/labunix/20120817