经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 网络安全 » 查看文章
Snort的安装以及使用实验
来源:cnblogs  作者:yellow_flag  时间:2020/12/8 9:03:50  对本文有异议

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端:

  1. apt-get install gcc : 编译器,如果报错,apt-get install g++
  2. apt-get install flex : DAQ所需的解析器
  3. apt-get install bison : DAQ所需的解析器
  4. apt-get install zlib1g-dev : Snort所需的压缩库
  5. apt-get install libpcap-dev : Snort所需的网络流量捕获头文件库
  6. apt-get install libdnet-dev : 不是必要的,只是snort为几个网络历程提供了简化的可移植接口
  7. apt-get install luajit : lua的头文件库headers
  8. apt-get install liblua5.1-0-dev
  9. apt-get install liblua5.1-0-dev liblua50-dev liblualib50-dev
  10. apt-get install build-essential : 提供编译软件的构建工具
  11. apt-get install libpcre3-dev : Snort所需的pcre3的头文件
  12. apt-get install libdumbnet-dev : libdnet
  13. apt-get install openssl libssl-dev : ssl的加密组件,提供SHAMD5文件签名
  14. apt-cache search lua
  15. #源码安装libpcap
  16. tar -zxvf libpcap-1.9.0.tar.gz
  17. cd libpcap-1.9.0
  18. ./configure && make && make install
  19. #源码安装nghttp2
  20. tar -zxvf nghttp2-1.35.1.tar.gz
  21. cd nghttp2-1.35.1
  22. ./configure && make && make install
  23. #源码安装LuaJIT
  24. tar -zxvf LuaJIT-2.0.5.tar.gz
  25. make && make install (ps:无./configure)
  26. #源码安装pcre
  27. tar -zxvf pcre-8.42.tar.gz
  28. cd pcre-8.42.tar.gz
  29. ./configure && make && make install
  30. #源码安装daq
  31. tar -zxvf daq-2.0.6.tar.gz
  32. cd daq-2.0.6
  33. ./configure && make && make install
  34. #源码安装snort
  35. tar -xvzf snort-2.9.7.0.tar.gz
  36. cd snort-2.9.7.0
  37. ./configure --enable-sourcefire
  38. make
  39. make install
  40. #更新共享库
  41. ldconfig
  42. ln -s /usr/local/bin/snort /usr/sbin/snort
  43. snort -V

如果是Ubuntu,则很简单:

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. sudo apt-get install snort
  4. #检查是否安装成功
  5. snort -V

Part 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对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。

原文链接:http://www.cnblogs.com/yellowflag/p/14036882.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号