家庭网络防御系统搭建-将NDR系统的zeek日志集成到securit yonion

在前面的文章中安装了zeek,这里,安装了securityonion,这里,本文讲述如何将zeek生成的日志发送到siem security onion之中。

所有日志集成的步骤分为如下几步:

  • 日志收集配置
  • 日志发送接收
  • 日志解析配置
  • 日志展示配置

ZEEK日志收集配置

在之前raspiberry 上安装的zeek日志存在如下目录:
在这里插入图片描述

JSON 格式日志

默认的zeek日志格式为log后缀的文本格式,需要将日志格式改为json格式送往securityonion方便解析。因此需要在/opt/zeek/share/zeek/site/local.zeek添加json格式的解析脚本

#output to json
@load policy/tuning/json-logs.zeek

如下
在这里插入图片描述
在/opt/zeek/logs/current使用./zeekctl deploy重新启动zeek,即可以得到json格式的 zeek的日志,如下:
在这里插入图片描述
理论上只要将这些日志通过syslog发送给siem即可,但是基于elastic stack的securityonion可以使用elastic agent进行日志的收集和发送,接收日志收集策略,因此采用elastic agent 更加的方便。

elastic agent发送&接收

elastic使用elastic agent在对应的机器上收集日志,使用fleet来管理所有的elastic agent。因此首先在管理端fleet需要设置好对应的agent管理配置,详细参考连接,这里,如下图:
在这里插入图片描述
agent policy指的是收集日志的策略,方便起见这里先选择so-grid_general,虽然该策略无法生效,但是后续会新建一个收集日志的策略。同时选择enroll in fleet模式。
在这里插入图片描述
将步骤三中的命令拷贝到对应的机器上执行就会下载安装elastic agent,安装,并通过API注册到fleet中,如下图:
在这里插入图片描述

ARM版本的elastic agent

由于是raspiberry 是arm架构的机器,需要使用arm64位的安装包,不能使用默认的linux安装包,8.10版本的arm版本下载见这里,最新arm版本的elastic下载,这里,如下:
在这里插入图片描述
下载8.10.4的原因在于securityonion 2.4.60版本中带的kibana版本为8.10.4,因此只需要更换命令中下载源,其他的安装注册的命令保持不变即可。由于自签证书的问题,因此需要在注册的时候加上–insecure参数,参考链接这里,需要将原有的命令:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.10.4-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.10.4-linux-x86_64.tar.gz
cd elastic-agent-8.10.4-linux-x86_64
sudo ./elastic-agent install --url=https://192.168.233.136:8220 --enrollment-token=Z2xIYWJvNEJrd1VWTEF6Vi1LamE6VGRnVnB5WEFRX1dRUkFPSlhTOWllUQ==

更换为

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.10.4-linux-arm64.tar.gz
tar xzvf elastic-agent-8.10.4-linux-arm64.tar.gz
cd elastic-agent-8.10.4-linux-arm64
sudo ./elastic-agent install --url=https://192.168.0.15:8220 --enrollment-token=Z2xIYWJvNEJrd1VWTEF6Vi1LamE6VGRnVnB5WEFRX1dRUkFPSlhTOWllUQ== --insecure

由于elastic的证书为自签的证书,因此需要加上–insecure参数,不然会提示错误,成功执行如下图:
在这里插入图片描述
这个地方需要注意的是,由于我的securityonion安装是在虚拟机中,因此需要做宿主机和虚拟机的端口映射,一些网络不同的汇总见之前的文章,这里。因此raspiberry在向对应的IP地址注册的时候,首先注册地址应该写宿主机器的IP地址而不是虚拟机的IP地址。除了初始注册连接的端口外,后续elastic agent 还会连接fleet的其他端口,因此在elastic agent 内部如果在IP地址寻址不成功,会使用对securityonion域名解析,因此需要在raspiberry主机上配置该域名解析为宿主机的IP地址,如下:
在这里插入图片描述

日志解析配置

上述命令执行成功,在fleet管理端会出现1 agent has been enrolled的标志,如上图。前面提到由于默认的policy中的配置不适合当前的agent,因此需要给当前用于收集zeek日志的agent重新配置policy,创建一个收集zeek日志的policy,采用默认配置即可如下:
在这里插入图片描述
在当前的policy下,创建解析zeek日志的Integrations,由于目前V2.4.60版本的securityonion集成的kibana版本为V 8.10.4,其中只有130+的特定日志解析功能,不支持zeek日志的解析,如下:
在这里插入图片描述

像zeek等日志解析功能需要在8.12以上版本才能提供,详见这里,如下:
在这里插入图片描述

因此使用自定义的custom logs,由于在我的raspiberry上的zeek日志存储在/opt/zeek/logs/current中,因此配置的路径如下:
在这里插入图片描述
需要注意的是advance 中的配置如下图:
在这里插入图片描述

其中的内容是复制so-grid-nodes_general中的import-zeek-logs的内容即可,只要把对应的路径改为当前raspiberry上的zeek路径即可。这样做的目的是借助security onion内置的脚本解析zeek的json日志,即把每一行json日志解析成为一个个field。如果不配置processors的话,zeek json只会被按行读取在message字段展示,不会做解析。关于processor的脚本解释,参考这里。

新创建Network-logs的policy之后,需要修改raspiberry的policy,保存生效即可,如下图:
在这里插入图片描述

日志展示配置

参考链接https://docs.securityonion.net/en/2.4/zeek.html#community-id

默认elastic agent会每隔5分钟检查current目录会不会有文件的变化,如果有的话便会上传日志。可以在fleet中查看对应agent 的日志记录,查看日志传输有没有问题,如下:
在这里插入图片描述
在security onion的dashboads中按照oberver.name进行过滤,查看raspiberry agent上传上来的日志,如下:
在这里插入图片描述
可以看到之前配置的processors起用了,其中message为zeek日志中conn.log中的一行,可以看到通过前图的processors设置,使用内置的脚本,会将每一行的日志进行解析,解析到destination.ip,destination.port以及log.id.uid中,如果之前没有配置processors,每条记录是没有message详细的字段内容的,如下:
在这里插入图片描述

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

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

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

相关文章

大型语言模型如何助力推荐系统:综述研究

论文地址:https://arxiv.org/pdf/2306.05817.pdf 这篇论文主要探讨了推荐系统(RS)如何从大型语言模型(LLM)中获益。论文首先指出,随着在线服务和网络应用的快速发展,推荐系统已成为缓解信息过载…

路由器如何端口映射到外网?

随着互联网的发展和普及,远程访问已经成为了现代社会的一个重要需求。在复杂的网络环境下,特别是涉及异地组网的情况下,实现远程访问变得更加困难。本文将介绍一种名为【天联】的组网产品,它可以解决复杂网络环境下的远程连接问题…

搜维尔科技:Patchwork 3D工业仿真实时渲染,将CAD 数据转换成真实感的3D模型以用于工业用途

Patchwork 3D工业仿真 实时渲染点击跳转官网 从实时渲染到真实照片 根据工作阶段所需的逼真度,您可以使用三个渲染引擎,从最快的(OpenGL,交互式)到最逼真的(光线跟踪,Iray物理逼真)…

vue中使用axios获取不到响应头Content-Disposition的解决办法

项目中,后端返回的文件流; 前端需要拿到响应头里的Content-Disposition字段的值,从中获取文件名 在控制台Headers中可以看到相关的字段和文件名,但是在axios里面却获取不到 如果想要让客户端访问到相关信息,服务器不仅要在head…

web安全学习笔记【22】——文件上传(1)

WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过 演示案例: PHP-原生态-文件上传-前后端验证PHP-原生态-文件上传-类型文件头验证PHP-原生态-文件上传-后缀黑白名单验证PHP-原生态-文件上传-解析配置&二次渲染…

XUbuntu22.04之Typora添加水印并输出pdf文件(二百二十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

功能测试_验证某城市电话号码的正确性

案例:验证某城市电话号码的正确性 功能测试_等价类设计用例: 步骤: 1:明确需求:电话号码是否正确 2:划分等价类:有效等价类、有效取值、无效等价类、无效取值 3:提取数据编写用例:用例编号…

STM32F407+FreeRTOS+LWIP UDP组播

开发环境介绍: MCU:STM32F407ZET6 网卡:LAN8720A LWIP版本:V1.1.0 FreeRTOS 版本:V10.2.1 LAN8720A硬件原理图: 硬件连接说明: MII_RX_CLK/RMII_REF_CLK ------>PA1 …

云安全在金融领域的作用是什么?

云安全在金融领域发挥着至关重要的作用,使金融机构能够保护敏感数据、遵守监管要求并推动创新。通过实施强有力的安全措施、利用先进技术并对新出现的威胁保持警惕,金融机构可以保护其数字资产并维持客户的信任。 金融机构面临的挑战 1.缺乏全网数据支撑…

不到6毛钱的I2C总线实时时钟日历芯片LK8563

前言 8563实时时钟芯片,国内外均有多家生产,今推荐一个性价比极高的RTC芯片,LK8563,一片不到6毛钱. 特点 基于32.768kHz晶体的秒,分,小时,星期,天,月和年的计时 带有世…

设计模式学习笔记 - 设计模式与范式 -行为型:7.责任链模式(下):框架中常用的过滤器、拦截器是如何实现的?

概述 上篇文章《6.责任链模式(上):原理与实现》,学习了职责链模式的原理与实现,并且通过一个敏感词过滤框架的例子,展示了职责链模式的设计意图。本质上来说,它跟大部分设计模式一样&#xff0…

Python从0到100(十一):Python字典介绍及运用

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

10 spring-data-redis 中创建的 pipe 和 anon_inode 的 fd 来自于哪里?

前言 本文的问题 主要是 衍生自 spring-boot-acurator 定时检测 redis 集群导致 “IOException: Too many open files“ 对于这里 pipe 的使用, 也是很神奇, 因为 貌似没有用过这类 api 然后 这里调研一下, 然后 追根究底到最终, 是到了 jdk 的 c 代码的调用, 创建的 pipe …

51单片机之LED点阵屏

目录 1.LED点阵屏简介 2.配置LED点阵屏代码 1.LED点阵屏简介 LED点阵屏真的是遍布我们我们生活的每个角落,从街边的流动显示字的招牌到你的液晶显示屏,都是基于点阵屏的原理研究出来的。还有那个世界上最大的球状建筑物:MSG Sphere&#xff…

三极管结构难?——秒了

前边我们已经学完了PN结,二极管,在分析了二极管后,我们对这些东西有了一定深度的了解,但是只给我们一个二极管去研究,这玩意好像真的没啥大用,其实我们追求的是用半导体材料去代替电子管的放大作用&#xf…

网络安全(防火墙,IDS,IPS概述)

问题一:什么是防火墙,IDS,IPS? 防火墙是对IP:port的访问进行限制,对访问端口进行制定的策略去允许开放的访问,将不放开的端口进行拒绝访问,从而达到充当防DDOS的设备。主要是拒绝网络流量,阻断所有不希望出现的流程,禁止数据流量流通,达到安全防护的作用。如将一些恶…

tensorflow.js 使用 opencv.js 将人脸特征点网格绘制与姿态估计线绘制结合起来,以获得更高的帧数

系列文章目录 如何在前端项目中使用opencv.js | opencv.js入门如何使用tensorflow.js实现面部特征点检测tensorflow.js 如何从 public 路径加载人脸特征点检测模型tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图 文章目录 系列文章目录前言一、实现步…

Lecture 2~4 About Filter

文章目录 空间域上的滤波器- 线性滤波器盒状滤波器Box Filter锐化Sharpening相关运算 vs. 卷积运算 Correlation vs. Convolution - 非线性滤波器高斯滤波器Gaussian filter - 实际问题- 纹理texture 频域上的滤波器 滤波的应用- 模板匹配- 图像金字塔 空间域上的滤波器 图像…

Django的中间件

Django的中间件 【一】重点: django中间件是django的门户 请求来的时候需要经过中间件才能到达真正的django后端响应走的时候也需要经过中间件才能发送出去中间件按照顺序依次执行 ​ Django 中间件(Middleware)是 Django 框架提供的一种…

设计模式——代理模式12

代理模式给某对象提供一个代理对象,由代理对象来控制对原对象的引用。该模式经常出现在系统框架或相关组件中,如Spring框架如何解决循环依赖,在Mybatis 定义 Dao 层相关接口 不写实现 如何通过注解或者xml映射到对应到sql语句。下面介绍 静态…