服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Fedora - Snort的安装——Fedora

Snort的安装——Fedora

2023-05-09 06:00未知服务器之家 Fedora

Snort Fedora Install 简介 Snort 是世界上知名的开源入侵防御系统 (IPS)。Snort IPS 使用一系列规则来帮助定义恶意网络活动,并使用这些规则来查找与其匹配的数据包并为用户生成警报。 Snort 也可以内联部署以阻止这些数据包。Snort 具有

Snort Fedora Install

简介

Snort 是世界上知名的开源入侵防御系统 (IPS)。Snort IPS 使用一系列规则来帮助定义恶意网络活动,并使用这些规则来查找与其匹配的数据包并为用户生成警报。

Snort 也可以内联部署以阻止这些数据包。Snort 具有三个主要用途:作为数据包嗅探器(如 tcpdump),作为数据包记录器——这对网络流量调试很有用,或者它可以用作成熟的网络入侵防御系统。

Snort的安装我认为还是比较麻烦的,大部分都是要用到编译安装,Snort的前置库也非常的多,因此我打算系统整理一下Snort的安装方法。

安装过程

Dnf源配置

[root@localhost ~]# wget -O /etc/yum.repos.d/fedora.repo http://www.zzvips.com/uploads/allimg/dxf2v0sssfo.repo

[root@localhost ~]# wget -O /etc/yum.repos.d/fedora-updates.repo http://www.zzvips.com/uploads/allimg/edpktqfmgzh.repo

# 下载阿里源

[root@localhost ~]# dnf makecache && dnf update && reboot
# 生成缓存并更新软件包并重启设备

这里使用的系统版本为是Fedora 37,DNF源为阿里源。

前期准备

基于 Red Hat 的操作系统在链接器缓存路径中不包含 /usr/local/lib/usr/local/lib64,这将导致构建错误,这是因为链接器无法找到引用的库。

那么我们通过在 /etc/ld.so.conf.d 下创建包含所需路径的配置文件并更新缓存来纠正此问题。

[root@localhost ~]# vi /etc/ld.so.conf.d/local.conf
# 修改文件添加如下内容

[root@localhost ~]# cat /etc/ld.so.conf.d/local.conf
/usr/local/lib
/usr/local/lib64

填写完配置文件后,我们执行ldconfig来刷新缓存。

接下来我们安装LibDAQ所需的软件来为构建LibDAQ做准备。

[root@localhost ~]# dnf install git vim flex bison gcc gcc-c++ make cmake automake autoconf libtool 

安装Snort依赖软件

下表总结了构建 Snort 和 LibDAQ 所需的和可选的包。

Snort的安装——Fedora

安装必需的依赖项

[root@localhost ~]# dnf install libpcap-devel pcre-devel libdnet-devel hwloc-devel openssl-devel zlib-devel luajit-devel pkgconf libmnl-devel libunwind-devel 

如果需要构建支持NAQ的LibDAQ则需要安装额外的包。

[root@localhost ~]# dnf install libnfnetlink-devel libnetfilter_queue-devel
安装LibDAQ

Snort3需要的LibDAQ(>=3.0.0),通过Git进行Clone并使用其中脚本进行安装。

 [root@localhost ~]# git clone http://www.zzvips.com/uploads/allimg/2q2hzrbnyip
 [root@localhost ~]# cd libdaq/
 [root@localhost libdaq]# ./bootstrap 

如果需要通过选项自定义LibDAQ的构建模块,我们可以通过 --disable--module 进行设置。

例如 ./configure --disable-netmap-module --disable-divert-module

 [root@localhost libdaq]# ./configure

它会输出如下的内容

...
Build AFPacket DAQ module.. : yes
Build BPF DAQ module....... : yes 
Build Divert DAQ module.... : no 
Build Dump DAQ module...... : yes 
Build FST DAQ module....... : yes 
Build NFQ DAQ module....... : yes 
Build PCAP DAQ module...... : yes 
Build netmap DAQ module.... : no 
Build Trace DAQ module..... : yes 

然后安装LibDAQ。

[root@localhost libdaq]# make
[root@localhost libdaq]# make install
[root@localhost libdaq]# ldconfig
[root@localhost libdaq]# cd ../ 

可选的依赖项

LZMA and UUID

lzma 用于解压缩SWF和PDF文件,而 uuid 是一个用于生成/解析通用唯一ID的库,用于标记/识别网络中的对象。

[root@localhost ~]# dnf install xz-devel libuuid-devel 
Hyperscan

尽管 Hyperscan 是可选项,但还是非常建议安装它的。

[root@localhost ~]# dnf install hyperscan hyperscan-devel 
Flatbuffers

Flatbuffers 是一个用于内存受限应用程序的跨平台序列化库。它允许直接访问序列化数据而无需先解包/解析它。

[root@localhost ~]# curl -Lo flatbuffers-v23.3.3.tar.gz http://www.zzvips.com/uploads/allimg/rpaynhncylk.gz
[root@localhost ~]# tar xf flatbuffers-v23.3.3.tar.gz
[root@localhost ~]# mkdir fb-build && cd fb-build 
[root@localhost fb-build]# cmake ../flatbuffers-23.3.3
[root@localhost fb-build]# make -j$(nproc)
[root@localhost fb-build]# make -j$(nproc) install
[root@localhost fb-build]# ldconfig
[root@localhost fb-build]# cd ../ 
Safec

Safec用于对某些遗留C库调用进行运行时边界检查。 Safec包在EPEL存储库中可用。

[root@localhost ~]# dnf install libsafec libsafec-devel
[root@localhost ~]# ln -s /usr/lib64/pkgconfig/safec-3.3.pc /usr/lib64/pkgconfig/libsafec.pc
Tcmallo

tcmalloc 是 Google (PerfTools) 创建的一个库,用于改进线程程序中的内存处理。使用该库可能会提高性能并减少内存使用量。

[root@localhost ~]# dnf install gperftools-devel

Snort3安装

现在所有依赖项都已安装,从GitHub克隆Snort3存储库。

[root@localhost ~]# git clone http://www.zzvips.com/uploads/allimg/l4vp5vlnioy
[root@localhost ~]# cd snort3

在配置Snort之前,声明 PKG_CONFIG_PATH 变量来包含 LibDAQ pkgconfig 路径,以及其他包的 pkgconfig 路径,否则构建过程可能会失败。

[root@localhost snort3]# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
[root@localhost snort3]# export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH 

如果 LibDAQ 或其他包安装到自定义的非系统路径,则需要将该路径导出到 PKG_CONFIG_PATH,例如:

export PKG_CONFIG_PATH=/opt/libdaq/lib/pkgconfig:$PKG_CONFIG_PATH

在启用Tcmalloc支持的同时继续构建Snort3。在构建Snort之前导出的编译器标志用于帮助改进编译时间、生成代码的性能和最终Snort的二进制图像大小。

[root@localhost snort3]# export CFLAGS="-O3"
[root@localhost snort3]# export CXXFLAGS="-O3 -fno-rtti"
[root@localhost snort3]# ./configure_cmake.sh --prefix=/usr/local/snort --enable-tcmalloc 

上面的命令应该产生类似于下面的输出(部分省略)。

-------------------------------------------------------
snort version 3.1.0.0
...
Feature options:
	DAQ Modules:    Static (afpacket;bpf;dump;fst;nfq;pcap;trace)
	Flatbuffers:    ON
	Hyperscan:      ON
	ICONV:          ON
	Libunwind:      ON
	LZMA:           ON
	RPC DB:         Built-in
	SafeC:          ON
	TCMalloc:       ON
	UUID:           ON 

接下来安装Snort。

[root@localhost snort3]# cd build/
[root@localhost build]# make -j$(nproc)
[root@localhost build]# make -j$(nproc) install 
[root@localhost build]# cd ../../

安装完成后,验证Snort 3是否报告了预期的版本和库名称

[root@localhost ~]# /usr/local/snort/bin/snort –V
   ,,_     -*> Snort++ <*-
  o"  )~   Version 3.1.60.0
   ''''    By Martin Roesch & The Snort Team
           http://snort.org/contact#team
           Copyright (C) 2014-2023 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using DAQ version 3.0.11
           Using LuaJIT version 2.1.0-beta3
           Using OpenSSL 3.0.8 7 Feb 2023
           Using libpcap version 1.10.4 (with TPACKET_V3)
           Using PCRE version 8.45 2021-06-15
           Using ZLIB version 1.2.12
           Using Hyperscan version 5.4.1 2023-04-14
           Using LZMA version 5.4.1

在最后

那么Snort的安装过程就到此为止了,后续Snort的使用与配置,会在后续的文章中提到。

如果想要交流网安知识可以发送邮件到Richardminrui@gmail.com。

或者加入我的Discord频道http://www.zzvips.com/uploads/allimg/hatodp0upi1.com

延伸 · 阅读

精彩推荐
  • FedoraHostwinds教程:如何在Fedora上安装Docker

    Hostwinds教程:如何在Fedora上安装Docker

    docker 是一个开源应用容器引擎,以类似于虚拟机但不虚拟化的方式在自包含的环境中创建相关应用程序和服务。您可以在多个平台上下载并安装Docker,比如...

    未知1232023-05-09
  • Fedora阿里云购买镜像服务器

    阿里云购买镜像服务器

    阿里云 作为国内的领先云计算服务提供商,为用户提供了各种可靠、高效的云计算产品,其中就包括镜像服务器。镜像服务器是一个非常优秀的解决方案,...

    未知1342023-06-02
  • Fedora【转载】fedora22和win10之间的文件共享互访

    【转载】fedora22和win10之间的文件共享互访

      钢铁侠与孔子  关注 2016.06.04 14:10*  字数 1327  阅读 2170 评论 0 喜欢 1  一,相关知识了解(本文执行环境为fedora22和win10) 在局域网内windows系统之间共享...

    未知872023-05-09
  • Fedorafedora phpMyAdmin 安装方法及介绍

    fedora phpMyAdmin 安装方法及介绍

    在安装fedora的时候,把基本该选择的组件都选上,其中就有Appache,mysql,和php,但是在我们管了数据库的时候,还是有个图形界面比较方便,所以我们自己...

    fedora教程网5742019-10-15
  • Fedorafedora8 下mysql 安装的安装方法

    fedora8 下mysql 安装的安装方法

    fedora8 下mysql 安装的安装方法...

    fedora教程网6422019-10-14
  • FedoraFedora 35 将搭载 LLVM 13 和 Go 1.17

    Fedora 35 将搭载 LLVM 13 和 Go 1.17

    Fedora工程和指导委员会 (FESCo) 批准了将于秋季发布的 Fedora 35 的一些额外变更。...

    开源中国6002021-08-19
  • FedoraFedora 33开始测试切换到Btrfs

    Fedora 33开始测试切换到Btrfs

    尽管距离 Fedora 的下一个稳定版本(Fedora 33)还有几个月的距离,但仍有一些值得关注的变化。在所有其他 Fedora 33 接受的系统范围的更改中,最有趣的提议...

    Linux中国3392020-07-27
  • Fedora阿里云服务器配置低选择什么系统比较好

    阿里云服务器配置低选择什么系统比较好

    在选择阿里 云服务器 时,除了考虑服务器的大小和价格,还需要考虑哪个操作系统最适合该服务器。操作系统是服务器的基础,因为它提供了一个框架,...

    未知1152023-05-10