Ubuntu 22.04安装配置snort

本文详细介绍了如何在Ubuntu 22.04上安装和配置Snort,包括环境配置、依赖安装、Snort的安装与配置、规则编写以及使用技巧。Snort作为一款网络入侵检测系统,可以检测网络流量以判断是否存在异常。文章还提到了误用检测和异常检测两种检测方法,并分享了实际的ping测试、数据包监听和TCP异常检测等实践操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


入侵检测系统(IntrusionDetectionSystem,IDS)是一种主动保护自己免受攻击的一种网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统监测攻击行为,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息。入侵检测被认为是防火墙之后的第二道安全闸门,能够在不影响网络性能的情况下能对网络进行监测,防止或减轻上述的网络威胁。
入侵检测系统有很多种,从部署的位置可以分为以下几种:

  • 基于网络的系统。它放置于网络之上,靠近被检测的系统,它们监测网络流量并判断是否正常。
  • 基于主机的系统。其经常运行在被监测的系统之上,用以监测系统上正在运行的进程是否合法。

最近出现的一种系统,位于操作系统的内核之中,并监测系统的最底层行为。
从检测的技术手段上可以分为以下两种:

  • 误用检测:是将收集到的数据与预先确定的特征知识库里的各种攻击模式进行比较,如果发现有攻击特征,则判断有攻击。特征知识库是将己知的攻击方法和技术的特征提取出来建立的一个知识库。
  • 异常检测:是对收集到的数据进行统计分析。它首先假定所有的攻击行为与正常行为不同,这样发现与正常行为有不同时,则判断存在攻击。它需要建立正常行为的标准,如登录时错误次数为多少时视为正常。

相比而言,误用检测的原理简单,很容易配置,特征知识库也容易扩充。但它存在一个致命的弱点――只能检测到已知的攻击方法和技术。异常检测可以检测出已知的和未知的攻击方法和技术,但是其问题在于正常行为标准只能采用人工智能、机器学习算法等来生成,并且需要大量的数据和时间,同时,由于现在人工智能和机器学习算法仍处于研究阶段。所以现在的入侵检测系统大多采用误用检测的分析方法。

安装

环境配置

安装依赖

apt install build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc libdnet-dev libdumbnet-dev bison flex liblzma-dev openssl libssl-dev pkg-config libhwloc-dev cmake cpputest libsqlite3-dev uuid-dev libcmocka-dev libnetfilter-queue-dev libmnl-dev autotools-dev libluajit-5.1-dev libunwind-dev -y

安装DAQ,这个是什么数据采集库,不知道干啥用的,要从github下载https://github.com/snort3/libdaq,我这用3.0.10版本

tar -zxvf libdaq-3.0.10.tar.gz

安装libdaq

./bootstrap
./configure
make
make install

在这里插入图片描述make
在这里插入图片描述make install
在这里插入图片描述

安装snort

这是snort官网
从github获取snort

wget https://github.com/snort3/snort3/archive/3.0.2-5.tar.gz

我是用的这个版本https://github.com/snort3/snort3/releases/tag/3.1.51.0
解压

tar -zxvf snort3-3.1.51.0.tar.gz

配置、编译和安装
正常应该是./configure && make && make install,不知道是不是我的版本比较高,只有./configure_cmake.sh,那就执行这个吧

./configure_cmake

在这里插入图片描述然后进入build目录下,编译一下

cd build
make

在这里插入图片描述然后运行./src/snort会报错找不到libdaq

./src/snort: error while loading shared libraries: libdaq.so.3: cannot open shared object file: No such file or directory

执行strace ./src/snort追踪一下,发现他寻找的目录和我们上面安装的目录不一致,导致找不到

openat(AT_FDCWD, "/usr/lib/x86_64/libdaq.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64", 0x7ffc11dfb6c0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libdaq.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib", {
   st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
writev(2, [{
   iov_base="./src/snort", iov_len=11}, {
   iov_base=": ", iov_len=2}, {
   iov_base="error while loading shared libra"..., iov_len=36}, {
   iov_base=": ", iov_len=2}, {
   iov_base="libdaq.so.3", iov_len=11}, {
   iov_base=": ", iov_len=2}, {
   iov_base="cannot open shared object file", iov_len=30}, {
   iov_base=": ", iov_len=2}, {
   iov_base="No such file or directory", iov_len=25}, {
   iov_base="\n", iov_len=1}], 10./src/snort: error while loading shared libraries: libdaq.so.3: cannot open
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值