snort安装配置测试
(一)Snort工作原理:
Snort是基于模式匹配的网络入侵检测系统,简单的说可以分成两个模块,一是基于libpcap的嗅探器,二是规则拆分引擎和规则匹配。
Snort基于libpcap的嗅探器当网卡工作在混淆模式下可以截获当前网段下所有数据包。只有处于HUB集线器环境下的机器snort是可以嗅探到所有流经该网段的数据,此时snort可以并行连接于该网段任一机器;但是现今的网络HUB集线器多被交换机取代,而此时需要将snort串行于需要服务的网络,snort才可以接受并处理该网段数据,如果仍想并行于网络,可以通过arp欺骗来达到接收并处理其他机器数据包的方式。在企业内部建设一个稳定的NIDS不可能使用hub以及arp欺骗,更可靠的方案是使用流量镜像的方式将流量从核心交换机将流量“镜像”到IDS服务器上,然后启动snort处理流量。
(二)snort安装
1、提升到root权限:
sudo su
2、更新源
gedit /etc/apt/sources.list
找一个符合版本的国内源覆盖到文件里,保存。
apt-get
update apt-get upgrade
3、安装snort所需要的依赖包 (要记得先sudo su提升到root权限,否则部分包会出现安装失败)
(1)安装所需的头文件库
apt-get install gcc : 编译器,如果报错,apt-get install g++
apt-get install flex : DAQ所需的解析器
apt-get install bison : DAQ所需的解析器
apt-get install zlib1g-dev : Snort所需的压缩库
apt-get install libpcap-dev : Snort所需的网络流量捕获头文件库
apt-get install libdnet-dev : 不是必要的,只是snort为几个网络历程提供了简化的可移植接口
apt-get install luajit : lua的头文件库headers
apt-get install liblua5.1-0-dev
apt-get install liblua5.1-0-dev liblua50-dev liblualib50-dev
apt-get install build-essential : 提供编译软件的构建工具
apt-get install libpcre3-dev : Snort所需的pcre3的头文件
apt-get install libdumbnet-dev : 同libdnet
apt-get install openssl libssl-dev : ssl的加密组件,提供SHA和MD5文件签名
apt-cache search lua
(2)源码安装libpcap
进入到你的libpcap包所在的目录下执行命令(下面几个源码安装步骤与这个大致相同,如果是压缩文件需要先解压)
cd libpcap-1.9.0
./configure && make && make install
(3)源码安装nghttp2
cd nghttp2-1.35.0
./configure && make && make install
(4)源码安装LuaJIT
cd LuaJIT-2.0.5
make && make install
(5)源码安装pcre
cd pcre-8.42
./configure && make && make install
(6)源码安装daq
cd daq-2.0.6
./configure && make && make install
(7)源码安装snort
cd snort-2.9.12
./configure --enable-sourcefire checking for a BSD-compatible install... /usr/bin/install -c
出现猪表面安装成功了
4、配置snort为NIDS
(1)创建一些所必需的文件夹
安装目录:
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/rules/iplists
sudo mkdir /etc/snort/preproc_rules
sudo mkdir /usr/local/lib/snort_dynamicrules
sudo mkdir /etc/snort/so_rules
存储过滤规则和服务器黑白名单:
sudo touch /etc/snort/rules/iplists/default.blacklist
sudo touch /etc/snort/rules/iplists/default.whitelist
sudo touch /etc/snort/rules/local.rules
创建日志目录:
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
改变文件夹属主:
(-R 后要用自己主机的主机用户名称)
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
(2)复制文件到的/etc/snort,这里的路径一定要确保是你的snort的解压路径
sudo cp snort-2.9.12/etc/*.conf* /etc/snort
sudo cp snort-2.9.12/etc/*.map /etc/snort
sudo cp snort-2.9.12/etc/*.dtd /etc/snort
sudo cp snort-2.9.12/src/dynamic-preprocessors/build/usr/local/lib/snort_dynamicpreprocessor/* /usr/local/lib/snort_dynamicpreprocessor/
(3)修改默认配置
(三)测试
sudo snort -T -c /etc/snort/snort.conf -i ens33 #ens33是网卡,可用ifconfig查看
1、检测ARP欺骗攻击
使用gedit /etc/snort/snort.conf命令打开文件。
(1)搜索ARP,将两行preprocessor前#删除,将host后的IP和物理地址改为网关IP和物理地址。
(2)将include $PREPR0_RULE_PATH/preprocessor.rules前的#删掉,保存文件并退出。
(3)snort -v开始检测,同时用另一台虚拟机kali对安装了snort的主机进行ARP欺骗
(4)查看结果
cd /etc/snort
snort -c snort.conf
cd /var/log/snort
cat alert
2、Snort检测nmap 扫描