
入侵检测系统Snort的安装、配置与测试
查看网关地址和mac地址: arp -a。
安装snort
新建一个文件夹来保存需要的tar包的文件夹
mkdir ~/snort_src
cd ~/snort_src
ls
安装必备的组件
sudo apt-get install -y build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev liblzma-dev openssl libssl-dev
组件含义
build-essential:提供用于编译软件的构建工具(GCC等)。
bison,flex:DAQ所需的解析器(DAQ将在下面安装)。
libpcap-dev:Snort所需的网络流量捕获库。
libpcre3-dev:支持Snort所需正则表达式的函数库。
libdumbnet-dev:libdnet库为几个低层网络例程提供了一个简化的可移植接口。许多安装Snort的指南都是从源代码安装此库的,尽管这不是必需的。
zlib1g-dev:Snort所需的压缩库。
liblzma-dev:提供对swf文件的解压缩(adobe flash)
openssl和libssl-dev:提供SHA和MD5文件签名
所需的最后一个Nghttp2的开发库
sudo apt-get install -y libnghttp2-dev
snort官网下载数据采集器(DAQ)来抽象对数据包捕获库的调用
wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
ls
tar -xvzf daq-2.0.7.tar.gz
cd daq-2.0.7
./configure
make
sudo make install
源码安装snort
cd ~/snort_src
wget https://www.snort.org/downloads/snort/snort-2.9.20.tar.gz
tar -xvzf snort-2.9.20.tar.gz
cd snort-2.9.20
./configure --enable-sourcefire --disable-open-appid
make
sudo make install
更新共享库
sudo ldconfig
Snort安装会将Snort二进制文件放在/ usr / local / bin / snort,因此,创建到/ usr / sbin / snort的符号链接
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
检测安装是否成功输入 snort -V看到以下内容
配置为NIDS
基本配置:出于安全原因, Snort应该以非特权用户身份运行,创建一个snort用户和组
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
创建snort需要的文件和文件夹(创建Snort目录:)
mkdir /etc/snort
mkdir /etc/snort/rules
mkdir /etc/snort/rules/iplists
mkdir /etc/snort/preproc_rules
mkdir /usr/local/lib/snort_dynamicrules
mkdir /etc/snort/so_rules
创建一些存储规则和ip列表的文件
sudo touch /etc/snort/rules/iplists/black_list.rules
sudo touch /etc/snort/rules/iplists/white_list.rules
sudo touch /etc/snort/rules/local.rules
sudo touch /etc/snort/sid-msg.map
创建日志文件
#sudo mkdir /var/log/snort
#sudo mkdir /var/log/snort/archived_logs
调整权限
#sudo chmod -R 5775 /etc/snort
#sudo chmod -R 5775 /var/log/snort
#sudo chmod -R 5775 /var/log/snort/archived_logs
#sudo chmod -R 5775 /etc/snort/so_rules
#sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
改变文件夹的所有权
#sudo chown -R snort:snort /etc/snort
#sudo chown -R snort:snort /var/log/snort
#sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
将解压后snort中的文件复制到我们新建的文件夹中
#cd ~/snort_src/snort-2.9.20/etc/
#sudo cp *.conf* /etc/snort
#sudo cp *.map /etc/snort
#sudo cp *.dtd /etc/snort
#cd ~/snort_src/snort-2.9.20/src/dynamic-preprocessors/build/usr/local/lib/snort_dynamicpreprocessor/
#sudo cp * /usr/local/lib/snort_dynamicpreprocessor/
安装tree
更新软件包列表:sudo apt update
安装 tree : sudo apt install tree
基本结构如下
编辑snort配置文件
注释掉Snort导入默认规则文件集的行
sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
修改snort.conf文件(这里使用gedit编辑器)
gedit安装:sudo apt install gedit
#sudo gedit /etc/snort/snort.conf
修改如下
ifconfig查看自己的ip
#配置网络信息
ipvar HOME_NET 192.168.0.0/16
我们需要告诉Snort我们之前创建的所有文件夹的位置。这些设置也是snort.conf文件的一部分
var RULE_PATH /etc/snort/rules # 104行左右
var SO_RULE_PATH /etc/snort/so_rules # 105行左右
var PREPROC_RULE_PATH /etc/snort/preproc_rules # 106行左右
var WHITE_LIST_PATH /etc/snort/rules/iplists # 113行左右
var BLACK_LIST_PATH /etc/snort/rules/iplists # 114行左右
启用规则文件
include $RULE_PATH/local.rules #取消注释,在545行左右
测试snort
sudo snort -T -c /etc/snort/snort.conf -i ens33 #ens33是网卡,可用ifconfig查看
配置成功截图
编辑规则文件,编写两条基本的规则
sudo gedit /etc/snort/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;)
开始测试
sudo snort -T -c /etc/snort/snort.conf -i ens33
结果截图
开始检验,用一台别的主机ping snort的主机
sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i ens33
到这里,基本的测试规则就完成了
在规则中,没有关于ARP欺骗检测规则定义,但是可以通过snort的内置模块进行检测。
具体配置如下
在snort.conf文件中配置
到这里,基本的测试规则就完成了
在规则中,没有关于ARP欺骗检测规则定义,但是可以通过snort的内置模块进行检测。
具体配置如下
在snort.conf文件中配置
sudo gedit /etc/snort/snort.conf
查看网关地址和mac地址: arp -a
将网关地址IP地址和MAC地址双向绑定
更多推荐
所有评论(0)