Snort的安装以及使用实验 | 您所在的位置:网站首页 › telnet入侵 › Snort的安装以及使用实验 |
### Snort实验
一.实验环境 操作系统:ubuntu18.04、Kali 实验工具:snort、vmware workstation 1号机IP:192.168.204.131 2号机IP:192.168.204.132 二.实验内容 在进行Snort配置前需要搭建实验环境,实验所需的环境配置如下图所示: Part A 在1号机上运行Snort对网络接口eth0进行监听,要求如下: 1)仅捕获2号机发出的icmp回显请求数据包。 2)采用详细模式在终端显示数据包链路层、应用层信息。 3)对捕获信息进行日志记录,日志目录/var/log/snort。 Part B 在1号机上运行Snort对网络接口eth0进行监听,要求如下: 1)仅捕获2号机发出的telnet请求数据包。 2)将捕获数据包以二进制方式存储到日志文件中/var/log/snort/snort.log。 Part C 在1号机的snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义。 在1号机上编辑snort.conf配置文件,使其包含new.rules规则集文件。 以入侵检测方式启动snort,进行监听,2号机访问1号机Web服务。 三.实验步骤 安装snort: https://www.snort.org/downloads/archive/snort/daq-2.0.6.tar.gz https://www.snort.org/downloads/archive/snort/snort-2.9.9.0.tar.gz 安装所需的头文件库 如果是Kali端: 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 #源码安装libpcap tar -zxvf libpcap-1.9.0.tar.gz cd libpcap-1.9.0 ./configure && make && make install #源码安装nghttp2 tar -zxvf nghttp2-1.35.1.tar.gz cd nghttp2-1.35.1 ./configure && make && make install #源码安装LuaJIT tar -zxvf LuaJIT-2.0.5.tar.gz make && make install (ps:无./configure) #源码安装pcre tar -zxvf pcre-8.42.tar.gz cd pcre-8.42.tar.gz ./configure && make && make install #源码安装daq tar -zxvf daq-2.0.6.tar.gz cd daq-2.0.6 ./configure && make && make install #源码安装snort tar -xvzf snort-2.9.7.0.tar.gz cd snort-2.9.7.0 ./configure --enable-sourcefire make make install #更新共享库 ldconfig ln -s /usr/local/bin/snort /usr/sbin/snort snort -V如果是Ubuntu,则很简单: sudo apt-get update sudo apt-get upgrade sudo apt-get install snort #检查是否安装成功 snort -VPart A: 监听端口ens37: sudo snort -i ens37 -dev icmp and src 192.168.204.132 -l /var/log/snort 2号机ping 1号机:
1号机: 使用wireshark打开保存的日志记录: Part B: 1号机开启telnet: 安装openbsd-inetd: sudo apt-get install openbsd-inetd 安装telnetd: sudo apt-get install telnetd 重启openbsd-inetd: sudo /etc/init.d/openbsd-inetd restart 查看telnet运行状态: sudo netstat -a | grep telnet 1号机开启监听并记录日志: sudo snort -i ens37 -b tcp and src 192.168.204.132 and dst port 23 2号机发起请求: sudo telnet 192.168.204.131 1号机: wireshark打开日志: sudo wireshark /var/log/snort/snort.log.1605864340
Part C: 在1号机的snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义: sudo gedit /etc/snort/rules/local.rules 输入:alert tcp any any -> 192.168.204.131 80 (msg:"WARNING! There is http connect!" ;sid:26287) 编辑snort.conf配置文件,使其包含loacl.rules规则集文件: gedit /etc/snort/rules/local.rules 添加:include $RULE_PATH/local.rules 安装apache: sudo apt install apache2 -y 开启apache: sudo service apache2 start 以入侵检测的方式启动snort进行监听: snort -c /etc/snort/snort.conf -A console -i ens37 2号主机在浏览器访问1号主机的服务器: 1号主机发生警告:
四.实验总结 通过本次实验,我学会了snort的部署和相关命令的使用,认识到snort的强大。在使用的过程中不断的遇到问题,解决问题,从这个过程中我也学习到了许多的知识,了解到snort的三种方式嗅探器模式,包记录器模式,和网络入侵检测系统模式。嗅探器模式仅仅是从捕获网络数据包显示在终端上,包记录器模式则是把捕获的数据包存储到磁盘,入侵检测模式则是最复杂的能对数据包进行分析、按规则进行检测、做出响应。但是snort也存在缺点,Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。 |
CopyRight 2018-2019 实验室设备网 版权所有 |