首先明确操作系统平台是Ubuntu 14.04 LTS
现在我们要在Ubuntu 14.04上部署snort NIDS(入侵检测系统)。
需要这些东西:
SNORT / Barnyard2 / Mysql / Apache2 / BASE
在进行所有工作之前,请执行以下命令,确保安装必要的软件(工具链)
sudo apt-get install -y build-essential libpcap0.8-devlibpcre3-dev libdumbnet-dev bison flex zlib1g-dev
SNORT
在Ubuntu 14.04安装snort可以有两种方式
一种:
sudo apt-get install snort
另外一种是从源代码安装。
既然有简单地方法,那就选择从软件源安装,即选择第一种。
如果这种方式出错的话,你可能需要依次执行:
说明安装成功了!祝贺!
在第51行 :
(题外话:第51行没必要修改,因为被/etc/snort/ snort.debian.conf覆盖了)
保存退出。
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.rules
local.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.