首页 > 其他分享 >Snort的安装——Fedora

Snort的安装——Fedora

时间:2023-05-05 20:33:26浏览次数:30  
标签:Fedora 安装 module devel Snort root localhost

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://mirrors.aliyun.com/repo/fedora.repo

[root@localhost ~]# wget -O /etc/yum.repos.d/fedora-updates.repo http://mirrors.aliyun.com/repo/fedora-updates.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 所需的和可选的包。

安装必需的依赖项

[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 https://github.com/snort3/libdaq.git
 [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 https://github.com/google/flatbuffers/archive/refs/tags/v23.3.3.tar.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 https://github.com/snort3/snort3.git
[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的使用与配置,会在后续的文章中提到。

如果想要交流网安知识可以发送邮件到[email protected]

或者加入我的Discord频道https://discord.gg/v2Q9WKKQ。

标签:Fedora,安装,module,devel,Snort,root,localhost
From: https://www.cnblogs.com/RichardLuo/p/Snort_Install.html

相关文章

  • docker安装openldap
    项目地址https://github.com/osixia/docker-openldap服务器安装获取相关镜像dockerpullosixia/openldapdockerpullosixia/phpldapadmin部署dockerrun-d-p389:389-p636:636-v/usr/local/ldap:/usr/local/ldap-v/data/openldap/ld......
  • linux安装tomcat,mysql
    环境:centos7.6ssh连接工具:tabby安装tomcat创建目录mkdir/opt/tomcat获取tomcat:1.自己百度下载2.我这里提供百度网盘链接:https://pan.baidu.com/s/1wgLq5W8PCKFkgl_2IPh41A提取码:2du6上传注意:根据自己的ssh连接工具,下面我以tabby工具为例。右上角点击SFTP,鼠标......
  • NSIS官方认证插件集成安装包
     本次制作的集成安装包集成了NSIS官方wiki认证的所有插件(无法下载或者严重过时的除外),翻译了部分比较冷门插件的使用说明。额外集成了关于皮肤,按钮美化以及用于窗口子类化等少数几个优秀的第三方插件。所有插件皆为当前能得到的最新版本。由于兼容性原因,在不干扰正常使用的情况下......
  • Eclipse4.5Mars安装JAD反编译插件
    第一步:打开eclipse帮助中的软件安装第二步:添加站点:http://feeling.sourceforge.net/update,如下图:第三步:选择EclipseClassDecompiler,下一步,下一步第四步:接受许可,安装!图略!第五步:重启eclipse!第六步:配置Jad,下图为EclipseClassDecompiler的首选项页面,可以选择缺省的反编译器工具,并......
  • zookeeper-- 安装
    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper 南京今天的天气还是蛮热的......
  • elasticsearch集群及kibana安装
    系统配置创建一个用户elastic,不能使用root用户启动配置该用户环境变量,用户home目录.bash_profile文件#配置ES_JAVA_HOME使用es自带jdkexportES_JAVA_HOME=/data/es/elasticsearch/jdk#修改最大文件句柄数ulimit-n65535#修改最大线程数ulimit-u4096执行..bash_p......
  • .net sdk安装信息
    已成功安装。下列项安装:  •.NETSDK7.0.203  •.NETRuntime7.0.5  •ASP.NETCoreRuntime7.0.5  •.NETWindowsDesktopRuntime7.0.5此产品会收集用法数据  •详细信息和选择退出选项:https://aka.ms/dotnet-cli-telemetry资源  •.N......
  • C# .net 6 Log4net 安装、配置 以及相关问题处理
    安装log4net首先下载相关Nuget包安装的时候注意项目的.net版本,我这里使用的是.net6在根目录下面新建一个配置文件log4net.config,并且添加下面相关配置项目<?xmlversion="1.0"encoding="utf-8"?><configuration> <log4net> <!--将日志以回滚文件的形式写到文件中-......
  • pycharm安装虚拟环境
    pycharm安装虚拟环境完整流程新项目1.新建一个项目2.打开设置3.进入项目->python解释器->4.选择添加虚拟环境5.配置位置,解释器(即python版本)6.检查是否进入成功旧项目1.打开项目2...其他同上3.通过requirements.txt安装依赖包简单介绍在PyCharm中使用虚拟环境的......
  • linux 安装二进制mysql
    https://www.mysql.com/https://dev.mysql.com/downloads/社区版本https://downloads.mysql.com/archives/community/下载linux-genericproductversion5.7.20operatingsystemlinux-GenericosVersionLinux-Generic(glibc2.12)(x86,64-bit)CompressedTARArchi......