Ubuntu server 24 安装配置 snort3 3.2.1.0 网络入侵检测防御系统 配置注册规则集

一 下载并安装源代码

地址:https://github.com/snort3/snort3/releases

#下载,解压
wget https://github.com/snort3/snort3/archive/refs/tags/3.2.1.0.tar.gz
tar  zxvf  3.2.1.0.tar.gz

二  安装软件依赖包

1 安装依赖包

sudo apt update
sudo apt  install  build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc  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 autoconf automake libtool libffi-dev check
hyperscan.dev libsafec.dev

2 安装 libdnet

#下载
wget https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-1.18.0.tar.gz
tar zxvf libdnet-1.18.0.tar.gz
cd libdnet-libdnet-1.18.0/
./configure
make
sudo make install

3 安装libdaq

#下载,解压
wget https://github.com/snort3/libdaq/archive/refs/tags/v3.0.14.tar.gz
tar  zxvf  v3.0.14.tar.gz
cd  libdaq-3.0.14/
#编译,安装./bootstrap 
+ autoreconf -ivf --warnings=all
autoreconf: export WARNINGS=all
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf --force
configure.ac:27: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:27: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:27: the top level
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
api/Makefile.am:4: error: Libtool library used but 'LIBTOOL' is undefined
api/Makefile.am:4:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
api/Makefile.am:4:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
api/Makefile.am:4:   If 'LT_INIT' is in 'configure.ac', make sure
api/Makefile.am:4:   its definition is in aclocal's search path.
modules/Makefile.am:4: error: Libtool library used but 'LIBTOOL' is undefined
modules/Makefile.am:4:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
modules/Makefile.am:4:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
modules/Makefile.am:4:   If 'LT_INIT' is in 'configure.ac', make sure
modules/Makefile.am:4:   its definition is in aclocal's search path.
autoreconf: error: automake failed with exit status: 1
#解决,安装libtool
./configure
#编译成功如下code_coverage_enabled:  nocode_coverage_cppflags: code_coverage_cflags:   code_coverage_ldflags:  Build AFPacket DAQ module.. : yesBuild BPF DAQ module....... : yesBuild Divert DAQ module.... : noBuild Dump DAQ module...... : yesBuild FST DAQ module....... : yesBuild netmap DAQ module.... : noBuild NFQ DAQ module....... : yesBuild PCAP DAQ module...... : yesBuild Savefile DAQ module.. : yesBuild Trace DAQ module..... : yesBuild GWLB DAQ module...... : yes
#编译,安装
make
sudo make install

4 安装gperftools

wget  https://github.com/gperftools/gperftools/releases/download/gperftools-2.15/gperftools-2.15.tar.gz
tar zxvf gperftools-2.15.tar.gz
cd gperftools-2.15/
./configure
sudo make install

三 安装snort 3.2.1.0

1 编译安装

cd  snort3-3.2.1.0/
./configure_cmake.sh --prefix=/usr/local/snort --enable-tcmalloc
#如下即可
snort version 3.2.1.0Install options:prefix:     /usr/local/snortincludes:   /usr/local/snort/include/snortplugins:    /usr/local/snort/lib/snortCompiler options:CC:             /usr/bin/ccCXX:            /usr/bin/c++CFLAGS:            -fvisibility=hidden   -DNDEBUG -g -ggdb  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -O2 -g -DNDEBUGCXXFLAGS:          -fvisibility=hidden   -DNDEBUG -g -ggdb  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -O2 -g -DNDEBUGEXE_LDFLAGS:        MODULE_LDFLAGS:     Feature options:DAQ Modules:    Static (afpacket;bpf;dump;fst;gwlb;nfq;pcap;savefile;trace)libatomic:      System-providedHyperscan:      ONICONV:          ONLibunwind:      ONLZMA:           ONRPC DB:         Built-inSafeC:          ONTCMalloc:       ONJEMalloc:       OFFUUID:           ONNUMA:           ONLibML:          OFFcd build/
make
sudo make install
#跟新系统共享库
sudo ldconfig

2 配置环境

sudo vim /etc/profile
export PATH=/usr/local/snort//bin:$PATH
source  /etc/profile

3  查看snort版本

test@ubuntuserver:~$ snort -v
--------------------------------------------------
o")~   Snort++ 3.2.1.0
--------------------------------------------------
--------------------------------------------------
Network Policy : policy id 0 : 
--------------------------------------------------
Inspection Policy : policy id 0 : 
--------------------------------------------------
pcap DAQ configured to passive.
--------------------------------------------------
host_cachememcap: 33554432 bytesSnort successfully validated the configuration (with 0 warnings).
o")~   Snort exiting
test@ubuntuserver:~$ snort -V,,_     -*> Snort++ <*-o"  )~   Version 3.2.1.0''''    By Martin Roesch & The Snort Teamhttp://snort.org/contact#teamCopyright (C) 2014-2024 Cisco and/or its affiliates. All rights reserved.Copyright (C) 1998-2013 Sourcefire, Inc., et al.Using DAQ version 3.0.14Using Hyperscan version 5.4.2 2024-04-19Using libpcap version 1.10.4 (with TPACKET_V3)Using LuaJIT version 2.1.1703358377Using LZMA version 5.4.5Using OpenSSL 3.0.13 30 Jan 2024Using PCRE version 8.39 2016-06-14Using ZLIB version 1.3

 四 配置 监听网络流量的网卡设置为混杂模式

test@ubuntuserver:~$ ip a show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:a2:94:12 brd ff:ff:ff:ff:ff:ffaltname enp2s1
#
sudo ifconfig ens33 promisc

 

#禁用网卡 Offload功能, Snort 会截断大于1518 字节的数据包

#查看
test@ubuntuserver:~$ ethtool -k ens33 | grep receive-off
generic-receive-offload: on
large-receive-offload: off [fixed]
#禁用
test@ubuntuserver:~$ sudo ethtool -K ens33 gro off lro off

五 下载,配置snort3规则

规则集分为三种:Community Rules,Registered Rules,Subscriber Rules;其中社区规则可以直接下载使用,注册规则需要注册之后才可以下载,但2个都免费的;订阅规则收费的。

1 下载地址:Snort Rules and IDS Software Download

2 本文下载注册规则集

#创建规则存放目录
sudo mkdir /usr/local/snort/etc/rules
cd /usr/local/snort/etc/rules

3  安装pulledpork

#安装依赖包
sudo apt update
sudo  apt-get  install libcrypt-ssleay-perl liblwp-useragent-determined-perl
#下载
wget https://github.com/shirkdog/pulledpork/archive/refs/tags/v0.7.4.tar.gz
#
tar  zxvf  v0.7.4.tar.gz 
cd  pulledpork-0.7.4/
#
sudo cp pulledpork.pl /usr/local/bin
sudo chmod +x /usr/local/bin/pulledpork.pl
sudo mkdir /usr/local/snort/etc/pulledpork
sudo cp etc/*.conf /usr/local/snort/etc/pulledpork
#查看
test@ubuntuserver:~$ pulledpork.pl -V
PulledPork v0.7.4 - Helping you protect your bitcoin wallet!
#创建规则用的文件和目录
sudo touch  /usr/local/snort/etc/rules/snort.rules
sudo touch  /usr/local/snort/etc/rules/local.rules
sudo mkdir  /usr/local/snort/etc/rules/so_rules
sudo mkdir  /usr/local/snort/etc/rules/lists
sudo touch  /usr/local/snort/etc/rules/lists/default.blocklist
sudo  mkdir /var/log/snort/
#修改配置pulledpor
sudo vim /usr/local/snort/etc/pulledpork/pulledpork.conf
rule_url=https://www.snort.org/reg-rules/|snortrules-snapshot-3031.tar.gz|<oinkcode>
rule_url=https://snort.org/downloads/ip-block-list|IPBLOCKLIST|open
ignore=deleted.rules,experimental.rules,local.rules
temp_path=/tmp
rule_path=/usr/local/snort/etc/rules/snort.rules
local_rules=/usr/local/snort/etc/rules/local.rules
sid_msg=/usr/local/snort/etc/sid-msg.map
sid_msg_version=2
sid_changelog=/var/log/snort/sid_changes.log
sorule_path=/usr/local/snort/etc/rules/so_rules/
snort_path=/usr/local/snort/bin/snort
config_path=/usr/local/snort/etc/snort.conf
distro=Ubuntu-18-4
block_list=/usr/local/snort/etc/rules/lists/default.blocklist
IPRVersion=/usr/local/snort/etc/rules/lists
snort_control=/usr/local/bin/snort_control
pid_path=/var/log/snort/snort.pid
ips_policy=security
version=0.7.4
#运行下载合并
sudo /usr/local/bin/pulledpork.pl -c /usr/local/snort/etc/pulledpork/pulledpork.conf  -l -P -E -H SIGHUP
#如下
Rule Stats...New:-------19352Deleted:---0Enabled Rules:----19352Dropped Rules:----0Disabled Rules:---0Total Rules:------19352
IP Blocklist Stats...Total IPs:-----1558Done
Please review /var/log/snort/sid_changes.log for additional details
Fly Piggy Fly!

4 修改snort配置文件

sudo  vim  /usr/local/snort/etc/snort/snort.lua
HOME_NET = 'any' --> HOME_NET = '192.168.50.19/24'
EXTERNAL_NET = 'any' --> EXTERNAL_NET = '!$HOME_NET'
#新增
include = '/usr/local/snort/etc/rules/snort.rules',
include = '/usr/local/snort/etc/rules/local.rules',

5 snort检验规则,19500+条

snort -c /usr/local/snort/etc/snort/snort.lua

六 运行,测试

1 自定义一条ping测试的规则

#增加本地规则库
sudo  vim /usr/local/snort/etc/rules/local.rules
alert icmp any any -> $HOME_NET any (msg:"ICMP connection test"; sid:1000001; rev:1;)
#测试规则正确
snort -c /usr/local/snort/etc/snort/snort.lua  -R /usr/local/snort/etc/rules/local.rules

2 启动snort 

#配置日志
sudo  vim /usr/local/snort/etc/snort/snort.lua
alert_fast ={file = true,limit = 200#日志滚动大小(200M)}
#检查
snort -c /usr/local/snort/etc/snort/snort.lua
sudo snort -c /usr/local/snort/etc/snort/snort.lua -i ens33 -s 65535 -k none -A fast -l /var/log/snort/ -v

3 测试

#在其他主机ping snort服务器
ping  192.168.50.19

 #snort 服务器查看日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bytebase 2.18.0 - 支持创建用户组

&#x1f680; 新功能 支持创建用户组。支持 BigQuery。支持 SQL Server 库表同步。支持 MongoDB 集群并支持直接连接到集群中的节点。支持 SQL Server 和 Oracle 显示工单任务执行日志&#xff0c;如影响行数或错误。添加 SQL 审核规则: 禁止在 SQL Server 中进行跨库查询。禁…

代码随想录算法训练营第四十四天 | 01背包问题 二维、 01背包问题 一维、416. 分割等和子集

01背包问题 二维 代码随想录 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;| 关于背包问题&#xff0c;你不清楚的地方&#xff0c;这里都讲了&#xff01;| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili 1.dp数组定义 dp[i][j] 下标为[0,i]之间的物品&…

【C#】类和对象的区别

1.区别概述 结构体和类的最大区别是在存储空间上&#xff0c;前者是值类型&#xff0c;后者是引用类型&#xff0c;它们在赋值上有很大的区别&#xff0c;在类中指向同一块空间的两个类的值会随一个类的改变而改变另一个&#xff0c;请看如下代码所示&#xff1a; namespace …

【漯河市人才交流中心_登录安全分析报告-Ajax泄漏滑动距离导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

JavaSE:异常

1、什么是异常 在生活当中&#xff0c;不管是人还是动物又或是植物&#xff0c;都会生病&#xff1b;在程序中也是&#xff0c;作为程序猿&#xff0c;虽然我们会尽力将程序写的完美&#xff0c;可难免会出现一些问题~ 在程序执行过程中&#xff0c;发生的一些不正常行为&…

Windows系统安装openvino(2024.1.0)

一、openvino下载&#xff1a; 下载地址&#xff1a;下载英特尔发行版 OpenVINO 工具套件 (intel.cn) 下载完之后将压缩包解压&#xff0c;然后重命名文件夹为openvino_2024.1.0。 二、环境配置 以python环境为例&#xff1a;&#xff08;建议使用moniconda虚拟环境来安装&am…

Android 图表开发开源库 MPAndroidChart 使用总结

1. 引言 电视项目中需要一个折线图表示节电数据变化情况&#xff0c;类比 H5 来说&#xff0c;Android 中也应该有比较成熟的控件&#xff0c;经过调研后&#xff0c;发现 MPAndroidChart 功能比较强大&#xff0c;网上也有人说可能是目前 Android 开发最好用的一个三方库了&a…

【力扣】LCR 130. 衣橱整理

一、题目描述 二、算法思路 这是⼀道非常典型的「搜索」类问题。 我们可以通过「深搜」或者「宽搜」&#xff0c;从 [0, 0] 点出发&#xff0c;按照题目的要求&#xff08;选择 向右移动一格 或 向下移动一格&#xff0c;但不能移动到衣柜之外 &#xff09;一直往 [m - 1, …

详解Spring IoCDI(二)

目录 承接上文&#xff1a;详解Spring IoC&DI &#xff08;一&#xff09; 1.IoC详解 1.1方法注解Bean 1.2方法注解要配合类注解使用 1.3定义多个对象 1.4重命名Bean 1.5扫描路径 2.DI详解 2.1DI与IoC的关系 2.2属性注入 2.3构造方法注入 2.4Setter注入 2.5 三…

代码随想录算法训练营第四十五天|1049.最后一块石头的重量II、494.目标和、 474.一和零

1049.最后一块石头的重量II 文档讲解&#xff1a;代码随想录 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 本题其实就是尽量让石头分成重量相同的两堆&#xff0c;相撞之后剩下的石头最小&#xff0c;这样就化解成01背包问题了。 和昨天讲解的416. 分割等和…

visual studio code 全局搜索

VScode写代码的时候&#xff0c;会经常性的需要进行查找代码&#xff0c;那么怎么在Visual Studio Code中进行查找呢&#xff0c;下面就来大家vscode全局搜索的方法。 想要在vscode全局搜索进行全局搜索&#xff0c;使用快捷键CTRLSHIFTF即可进行搜索&#xff0c;也可以在左边…

哪吒监控+cfcdn+ 反代grp端口

哪吒监控cfcdn 反代grp端口 背景&#xff1a; 哪吒监控&#xff1a;感觉VPS线路不稳定&#xff0c;为了打消自己潜意识&#xff0c;希望量化延迟。 cfcdn&#xff1a;隐藏真实站点&#xff0c;保障小鸡隐秘安全 反代grpc端口: 反代grpc到支持https(TLS)的端口&#xff0c;这…

Tomcat启动闪退问题及解决方法

Tomcat启动闪退问题可能由多种原因引起&#xff0c;以下是一些常见的原因及相应的解决方法&#xff0c;按照清晰的结构进行归纳&#xff1a; 一、环境变量问题 Java环境问题&#xff1a;Tomcat依赖于Java环境&#xff0c;如果JDK未正确安装或环境变量配置不正确&#xff0c;会…

Elasticsearch 认证模拟题 - 3

1、题目 有一索引有 3 个字段&#xff0c;请写一个查询去匹配这三个字段&#xff0c;并且将三个字段的评分相加作为最后的总评分 # 创建索引 PUT task {"mappings": {"properties": {"fielda":{"type": "text"},"fie…

TrueNAS开启SSH登录ROOT

简介: 从 SCALE Bluefin 22.12.0 开始,为了加强安全性并遵守联邦信息处理标准 (FIPS),root帐户登录已被弃用。所有 TrueNAS 用户都应创建具有所有必需权限的本地管理员帐户,并开始使用它来访问 TrueNAS。当根用户密码被禁用时,只有管理用户帐户才能登录 TrueNAS Web 界面。…

从零学算法2965

2965. 找出缺失和重复的数字 给你一个下标从 0 开始的二维整数矩阵 grid&#xff0c;大小为 n * n &#xff0c;其中的值在 [1, n2] 范围内。除了 a 出现 两次&#xff0c;b 缺失 之外&#xff0c;每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个…

轮状病毒简介-卡梅德生物

轮状病毒是一种非常常见的病毒&#xff0c;主要影响婴幼儿和小孩&#xff0c;引起严重的胃肠炎&#xff0c;表现为严重腹泻、呕吐、发烧和脱水。这种病毒全球流行&#xff0c;是全世界五岁以下儿童因腹泻导致死亡的主要原因之一。轮状病毒属于Reoviridae家族&#xff0c;具有双…

逻辑回归【python,机器学习,算法】

逻辑回归是一种有监督的学习分类算法&#xff0c;用于预测目标变量的概率。目标或因变量的性质是二分法的&#xff0c;这意味着将只有两个可能的类。主要解决二分类问题。 主要步骤有三个&#xff1a; 求线性回归曲线。通过 sigmoid 函数将线性回归曲线转为 0-1 范围函数。 …

机器学习-11-使用kaggle命令下载数据集和操作指南

参考kaggle API 命令下载数据集 参考Kaggle操作完整指南(2023版) 参考Kaggle如何入门? 1 kaggle操作指南 Kaggle 是一个流行的数据科学竞赛平台。由 Goldbloom 和 Ben Hamner 创建于 2010 年。为什么这两个家伙要创立这样一个平台呢? 数据科学社区一直有这样一个难题:对…

低代码开发平台(Low-code Development Platform)的模块组成部分

低代码开发平台&#xff08;Low-code Development Platform&#xff09;的模块组成部分主要包括以下几个方面&#xff1a; 低代码开发平台的模块组成部分可以按照包含系统、模块、菜单组织操作行为等维度进行详细阐述。以下是从这些方面对平台模块组成部分的说明&#xff1a; …