假设这样的方式出错的话,你可能须要依次运行:
sudo apt-get update
sudo apt-get upgrade
測试看看。运行:
snort -V假设显示出下面:
,,_ -*> Snort!
o" )~ Version 2.9.7.0 GRE (Build 149)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.5.3
Using PCRE version: 8.31 2012-07-06
Using ZLIB version: 1.2.8
说明成功安装了!祝贺。
接着我们要改动snort的配置文件(注意我们使用的软件源方式,故配置文件路径较为固定)
sudo vim /etc/snort/snort.conf
将115行(大概位置)改动例如以下(假设一样的话则不改动)
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules目的在于指定规则文件存放的路径。
在第51行 :
ipvar HOME_NET 192.168.1.0/24
第536行。改动成例如以下所看到的 :
output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types
(假设文件本身就和我这里改动后的一样则不是必需改动)
如今启动測试SNORT :
sudo service snort restart删除之前日志中得内容(我们改变了日志格式,使用了时间戳格式)
sudo rm /var/log/snort/snort.log
(题外话:第51行不是必需改动,由于被/etc/snort/snort.debian.conf覆盖了)
如今我们要測试下snort的规则。
/etc/snort/rules是我们的用于存放规则文件的路径。以后snort就是依据诸多的规则文件给我们提供预警和提示。
打开规则文件:
sudo vim /etc/snort/rules/local.ruleslocal.rules是用于自己定义规则的规则文件。
然后加入自己的规则到local.rules:
alert icmp any any -> $HOME_NET any (msg:"ICMP Test NOW!!!"; classtype:not-suspicious; sid:1000001; rev:1;)
alert tcp any any -> $HOME_NET 80 (msg:"HTTP Test NOW!!!"; classtype:not-suspicious; sid:1000002; rev:1;)这两条规则大概就是说不论什么发往本机的ICMP和HTTP数据包都会触发警告!
保存退出。
为了便于測试。继续改动snort.conf文件。
大概在573行的位置。作例如以下操作:
将除了local.rules之外的规则文件所有去除(不包括进来)。
(也就是接下来数十行的include)。
终于这样:
# site specific rules
include $RULE_PATH/local.rules
(这是为了便于測试)
sudo snort -T -c /etc/snort/snort.conf
假设看到显示结果例如以下:
...
Snort successfully validated the configuration!
Snort exiting而且还能在诸多输出信息中找到例如以下输出:
+++++++++++++++++++++++++++++++++++++++++++++++++++
Initializing rule chains...
1 Snort rules read
1 detection rules
0 decoder rules
0 preprocessor rules
1 Option Chains linked into 1 Chain Headers
0 Dynamic rules
+++++++++++++++++++++++++++++++++++++++++++++++++++
+-------------------[Rule Port Counts]---------------------------------------
| tcp udp icmp ip
| src 0 0 0 0
| dst 0 0 0 0
| any 0 0 1 0
| nc 0 0 1 0
| s+d 0 0 0 0
+----------------------------------------------------------------------------
再次祝贺!规则成功载入。測试通过!
作了以上改动之后,以下開始真正的測试。
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0随后。你能够使用还有一台电脑或者开另外一个terminal使用ping命令。ping測试主机。
比方:ping localhost
你应该能在測试主机上看到相似的例如以下输出:
10/31-02:27:19.663643 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:19.663675 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:20.658378 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:20.658404 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:21.766521 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:21.766551 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:22.766167 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:22.766197 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
^C*** Caught Int-Signal
(按ctrl+c结束)
然后你去查看/var/log/snort,你也会发现有被命令为snort.log.nnnnnn(nnnn代表数字),这些文件里包括的和屏幕上打印出来的是一样的信息。
祝贺。如今我们已经可以依据自己的规则显示警告信息了。
Barnyard
这是来干嘛的?简单地说,他将读取snort的二进制文件,并将其存储在MySQL数据库中。
运行下面命令会安装一些必要的软件。还会用到LAMP,怎样高速安装?
(请确保之前没有安装过LAMP组件中不论什么一个)请參考:点击打开链接
sudo apt-get install -y libmysqlclient-dev autoconf libtool
在/etc/snort/snort.conf文件的520行附近(大概位置)加入例如以下并保存文件。
output unified2: filename snort.u2, limit 128
接下来安装和配置Barnyard:
下载Barnyard:wget https://github.com/firnsy/barnyard2/archive/v2-1.13.tar.gz -O barnyard2-2-1.13.tar.gz依次运行:
tar zxvf barnyard2-2-1.13.tar.gz
cd barnyard2-2-1.13
autoreconf -fvi -I ./m4
64bit和32bit机器分别运行下面:
./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu --with-mysql-includes=/usr/include/
./configure --with-mysql --with-mysql-libraries=/usr/lib/i386-linux-gnu --with-mysql-includes=/usr/include/
继续:
make
sudo make install
sudo cp /usr/local/etc/barnyard2.conf /etc/snort
sudo mkdir /var/log/barnyard2
sudo chown snort.snort /var/log/barnyard2sudo cp schemas/create_mysql /usr/src
编辑: