当前位置: 首页 > news >正文

IT运维:使用数据分析平台监控深信服防火墙

概述

深信服防火墙自身监控可以满足绝大部分需求,比如哪个应用占了最大带宽,哪个用户访问了哪些网站?这里我们为什么使用鸿鹄呢?因为我们要的是数据的处理和分析,比如某个用户在某个事件都做了哪些行为,这个在防火墙上去查看日志是巨大的工作量,效率低,费时长,且容易错漏。而这个恰恰是鸿鹄擅长。我们在运维中不能仅仅关注在监控上,更扩展到安全上,从而保证整个基础架构的稳定、安全运行。

监控目标

收集并保存防火墙设备的日志,满足等保要求

监控防火墙的登录安全

监控防火墙的配置安全

提供基于用户或IP或其他关键字的搜索,强化安全

安装vector

Vector作为数据采集器,可以接收设备的syslog日志,并转发鸿鹄平台。Vector配置方法参考下文:

安装Vector

图片

查看安装后vector版本,确认安装成功

vector安装好后,直接执行vector 时,系统首先会去/usr/bin下寻找命令,如果不在这个目录中,就会找不到了。这个时候我们就需要为这些找不到的命令建立一个链接文件,链接到/usr/bin下  

图片

登录鸿鹄平台,数据管理>新建数据集

图片

图片

编辑数据源名称,选择数据集范围为上面创建的“switch”,此时会启用

图片

创建syslog.toml脚本,需要调整字段

address = "0.0.0.0:514":0.0.0.0表示接收所有主机发送过来的syslog,514表示接收的端口(syslog默认为514)

mode = "udp":表示接收syslog的协议syslog默认为udp)

._target_table = "switch" : 表示上文你创建的数据集名称

address = "172.20.6.111:9092":鸿鹄的IP和相应的端口

图片

运行修改的syslog脚本,注意保持运行状态。

图片

登录交换机触发syslog(注:登录交换机输入命令都会自动触发syslog)。登录鸿鹄平台查看数据是否导入到switch数据集。如下图事件计数已经显示数据导入成功

图片

查询下通过vector导入到switch数据集的数据

图片

图片

配置防火墙syslog

syslog配置>填写鸿鹄IP和端口号>应用

图片

字段抽取

深信服由于是国产防火墙,防火墙日志字段很多包含中文,因此我们需要再次抽取字段。字段抽取的逻辑是,先通过sql语句创建视图,视图生成后我们就可以直接调用视图里的字段,它实际日志仍旧存放在原数据集。

我们先分析下日志格式。

通过以下两条日志我们可以看到,日志格式后半段的格式是不一样的,针对这种情况,我这里的做法是,先抽取共性字段,再单独逐个抽取不同类型的日志字段。

以该日志为例

图片

共性字段抽取

以该日志为例

图片

sangfor_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, '日志类型') '日志类型'指的是你要搜索到这个写日志特定的字段,通过’日志类型‘可以限定日志里所有包含'日志类型'的日志

图片

正则表达式如何写以及测试

访问https://regex101.com/,在REGULAR EXPRESSION里填写正则表达式,或直接在这里写

在TESTING STRING里输入日志,可以直接从鸿鹄上拷贝相关的日志

正则表达式如果是正确的,会生成对应的颜色,以及右下角会Match  information里会显示抽取的字段名和字段内容

图片

在高阶查询中运行,成功

图片

在视图里可以查看到我们创建的sangfor_syslog的视图

图片

我们运行搜索语句测试下,同时在红色部分可以看到我们抽取出来的字段

图片

NAT字段抽取

以该日志为例

图片

sangfor_nat_syslog,这里是需要新建的视图名称

switch._time 脚本中由第六行开始switch均指的需要抽取数据的原数据集,这里需要根据你的数据集名称替换

where contains( switch._message, 'NAT') '日志类型'指的是你要搜索到这个写日志特定的字段,通过NAT可以限定日志里所有包含NAT的日志

图片

正则表达式如何写以及测试

访问https://regex101.com/,在REGULAR EXPRESSION里填写正则表达式,或直接在这里写

在TESTING STRING里输入日志,可以直接从鸿鹄上拷贝相关的日志

正则表达式如果是正确的,会生成对应的颜色,以及右下角会Match  information里会显示抽取的字段名和字段内容,

注意:正则表达式写的时候抽取字段,group一定都要命名,不然就不要定义为group。比如下面的正则表达式,由于红色部分选择了抽取,确又没有定义字段名称,那么鸿鹄在抽取匹配字段时就会异常,虽然结果是成功的,但是字段都没有抽取出来。

(?\w{3}\s\d{2}\s\d{2}:\d{2}:\d{2})\s\w+\s(?\w+):\s\D{4}:(?\D{5}),\s\D{5}:(?\w+),\s\D{3}:(?\d+.\d+.\d+.\d+),\s\D{3}:(?\d+),\s\D{4}:(?\d+.\d+.\d+.\d+),\s\D{4}:(?\d+),\s\D{2}:(\d+),\s\D{6}:(?\d+.\d+.\d+.\d+),\s\D{6}:(?\d+)$

图片

在高阶查询中运行,成功

图片

在视图里可以查看到我们创建的sangfor_nat_syslog的视图

图片

我们运行搜索语句测试下,同时在红色部分可以看到我们抽取出来的字段

图片

login字段抽取

防火墙日志每个组件的日志格式各不相同,那么我们可能需要根据自己的情况进行多次字段抽取,上文已详述过字段抽取方法,这里只提供抽取字段脚本供参考

图片

图表展示

在图表创建部分,我这边每个类型的图表只会举一个例子,但会把所有的搜索语言列出来,供大家参考。

仪表板>新建仪表板

图片

创建完成

图片

日志告警等级统计

新建图表>日志类别

选择图表类型:饼图

查询语句:这个语句可以先在查询里验证,确认查找的结果是想要的

时间范围:选择1天,可以根据自己的情况调整

图片

图片

生成图表后,可以查看各种类型的日志的统计

目的:用于统计日志总量,查看类别的统计总数。另外一点好看。

图片

登录事件明细

新建图表>登录事件明细

选择图表类型:表格

查询语句:这个语句可以先在查询里验证,确认查找的结果是想要的

时间范围:选择1天,可以根据自己的情况调整

图片

图片

生成图表后,可以查看设备登录的明细,比如哪个用户,哪个时间,从哪个IP登录

目的:用于判断是否有异常登录,或密码探测行为

图片

登录事件明细

新建图表>设备数量

选择图表类型:单值趋势图

查询语句:这个语句可以先在查询里验证,确认查找的结果是想要的

时间范围:选择30分钟,可以根据自己的情况调整

图片

图片

生成图表后,可以统计所有日志的发送到鸿鹄的服务器数量。

目的:用于确认当前监控的设备总计数量,便于检查错漏,主要为了图表布局的好看。

图片

搜索语句

以下列出所有本文中的搜索语句,供参考

小提示:搜索语句命令部分会调用抽取的字符段,如果未抽取字段,会出现报错

图片

效果图

图表创建完成后,我们选择“网格布局”对图表布局进行优化调整,最终效果图如下

图片

相关文章:

IT运维:使用数据分析平台监控深信服防火墙

概述 深信服防火墙自身监控可以满足绝大部分需求,比如哪个应用占了最大带宽,哪个用户访问了哪些网站?这里我们为什么使用鸿鹄呢?因为我们要的是数据的处理和分析,比如某个用户在某个事件都做了哪些行为,这个…...

深入解析 Axios Blob 的使用方法及技巧

在 Web 开发中,处理文件传输是一个常见的需求。Blob(二进制对象)是一种表示二进制数据的方式,常用于处理文件和多媒体数据。本文将介绍如何使用 Axios 和 Blob 来处理文件传输。 Axios Blob 概念 在开始之前,让我们先…...

爬虫逆向实战(十三)--某课网登录

一、数据接口分析 主页地址:某课网 1、抓包 通过抓包可以发现登录接口是user/login 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个password加密参数,还有一个browser_key这个可以写死不需要关心 请求头…...

4.SpringCloud

1.SpringCloud概述 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,…...

OLED透明屏采购指南:如何选择高质量产品?

着科技的不断进步,OLED透明屏作为一种创新的显示技术,在各个行业中得到了广泛应用。 在进行OLED透明屏采购时,选择高质量的产品至关重要。在这篇文章中,尼伽将为您提供一个全面的OLED透明屏采购指南,帮助您了解关键步…...

机器学习编译系列

机器学习编译MLC 1. 引言2. 机器学习编译--概述2.1 什么是机器学习编译 1. 引言 陈天奇目前任教于CMU,研究方向为机器学习系统。他是TVM、MXNET、XGBoost的主要作者。2022年夏天,陈天奇在B站开设了《机器学习编译》的课程。   《机器学习编译》课程共分…...

MySQL 数据库巡检系统的设计与应用

文章目录 MySQL 数据库巡检系统的设计与应用引言1. 设计思路1.1 数据采集模块1.2 数据分析模块1.3 前端展示模块1.4 报警模块2. 实现步骤2.1 数据采集2.2 数据分析2.3 前端展示2.4 报警模块3. 应用案例3.1 数据采集步骤一:安装 Zabbix Agent步骤二:添加监控项步骤三:添加用户…...

工程项目管理系统源码+功能清单+项目模块+spring cloud +spring boot em

​ 工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…...

前端笔试+面试分享

以下是个人线下面试遇到的真实的题,仅供参考和学习 1. css 选择符有哪些?哪些属性可以继承?优先级算法加何计算? CSS选择符有很多种,例如类型选择器、类选择器、ID选择器、属性选择器、伪类选择器、伪元素选择器等。 …...

C Language Handout

明天(9月3日)上课时间 上午:09:30 - 12:00 下午:14:30 - 17:00 周末 - 务必 - 找一下报名/班主任老师 - 确认账号是否为正式账号 今日内容: 一.第一个C语言程序 mkdir /home/tarena/stdc/day03 -p cd /home/tarena/stdc/day03 vim hello.c #include <stdio.h> /* 这是…...

数据结构——栈(C语言)

需求&#xff1a;无 栈的概念&#xff1a; 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端为栈底。栈中的数据元素遵守后进先出&#xff08;LIFO&#xff09;原则。压栈&…...

Linux 内核内存管理 page_address 函数

文章目录 一、page_address1.1 page_address1.2 page_to_pfn1.3 PFN_PHYS1.4 __va(x)1.5 总结1.6 page_to_virt 二、使用demo 一、page_address 1.1 page_address 内核用 struct page 结构体来表示系统中的每个物理页面&#xff0c;该结构体用来跟踪和管理这些物理页面的使用…...

macOS使用ffmpeg与QT进行音视频推拉流

1.先启动流服务器 ./mediamtx 2.开始推流: ffmpeg -re -stream_loop -1 -i /Users/hackerx/Desktop/test.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream 3. 安装ffmpeg 4.4 brew install ffmpeg4 4.添加ffmpeg头文件目录与库目录 5.链接ffmpeg相关库…...

ARTS打卡:双指针的尝试

替换空格 <?php class Solution {/*** param String $s* return String*/function replaceSpace($s) {$arrstr_split($s); //转化成数组foreach($arr as &$item){if($item ){//执行替换操作$item%20;}}return implode(,$arr); //数组转化成字符串返回} } 反转链表…...

JavaWeb-DAO设计模式

目录 DAO设计模式 1.认识DAO 2.DAO各部分的详解 3.DAO设计模式流程 DAO设计模式 1.认识DAO DAO(Data Acess Object 数据库访问对象)的主要功能是操作数据库&#xff0c;所以DAO在标准开发架构中数据数据层&#xff0c;以下是标准开发的架构 客户层&#xff1a;目前使用B/…...

重温git和GitHub

1.初始化本地库:让git获取到这个目录的管理权 git init 查看文件夹的文件命令&#xff1a;ll 查看文件夹的隐藏的文件命令:ll -a 查看状态的命令&#xff1a;git status cat文件名&#xff1a;查看文件内容 工作区&#xff1a;当git status时&#xff0c;名字为红色则在工作区&…...

C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】

wpf iconfont 外部图标引入&#xff0c;无法正常显示问题。 1. 检查资源路径和引入格式是否正确2. 检查资源是否包含在程序集中 1. 检查资源路径和引入格式是否正确 正确的格式&#xff0c;注意字体文件 “xxxx.ttf” 应写为 “#xxxx” <TextBlock Text"&#xe7ae;…...

Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习

论文题目&#xff1a;Hierarchically Self-Supervised Transformer for Human Skeleton Representation Learning 论文下载地址&#xff1a;https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136860181.pdf 代码地址&#xff1a;https://github.com/yuxiaochen1103…...

FPGA 之 xilinx DDS IP相位控制字及频率控制字浅析

浅析相位环在Xilinx DDS中的理解 本文仅为个人理解之用; 相关仿真结果如下:...

[鹏城杯 2022]简单包含

直接用php&#xff1a;// 有wtf 加脏数据绕过...

Required request parameter ‘XXX‘ for method parameter type XXX is not present问题

今日工作中遇到很奇葩的问题&#xff0c;用翻译软件翻译结果为 方法参数类型XXX所需的请求参数XXX不存在 也就是说前端没有给后端传值 后端的接收方式为 public Result demo(RequestParam("id") String id){}...

centOS 快速安装和配置 NVIDIA docker Container Toolkit

要在 CentOS 上正确安装和配置 NVIDIA Container Toolkit&#xff0c;您可以按照以下步骤进行操作&#xff0c;如果1和2都已经完成&#xff0c;可以直接进行第3步NVIDIA Container Toolkit安装配置。 1. 安装 NVIDIA GPU 驱动程序&#xff1a; 您可以从 NVIDIA 官方网站下载适…...

编程练习(2)

一.选择题 第一题&#xff1a; 考察转义字符和strlen函数求解字符串长度 进一步在VS中可以智能看出哪些字符是转义字符&#xff1a; 因此本体答案选择B 第二题&#xff1a; 本体较为简单&#xff0c;宏定义了三个数N,M,NUM,N值为2,M值为3&#xff0c;因此NUM值为8&#xff0c;…...

利用Figlet工具创建酷炫Linux Centos8服务器-登录欢迎界面-SHELL自动化编译安装代码

因为我们需要生成需要的特定字符,所以需要在当前服务器中安装Figlet,默认没有安装包的,其实如果我们也只要在一台环境中安装,然后需要什么字符只要复制到需要的服务器中,并不需要所有都安装。同样的,我们也可以利用此生成的字符用到脚本运行的开始起头部分,用ECHO分行标…...

Git Cherry-pick使用

概述 无论项目大小&#xff0c;当你和一群程序员一起工作时&#xff0c;处理多个 Git 分支之间的变更都会变得很困难。有时&#xff0c;与其把整个 Git 分支合并到另一个分支&#xff0c;不如选择并移动几个特定的提交。这个过程被称为 "挑拣", 即 Cherry-pick。 本…...

红帽8.5 ansible 安装和部署 |(简单版)

什么是ansible Ansible是一款基于OpenSSH开源的自动化运维工具&#xff0c;可以用它来配置系统、部署软件和编排更高级的 IT 任务&#xff0c;并且使用具有极高的安全性&#xff0c;ansible是当前市面上主流的自动化运维工具之一 为什么使用ansible 比较直观的说&#xff0c;…...

Visual Studio 2019 c++ 自定义注释 ----doxygen

可加入C 也可自定义。 <?xml version"1.0" encoding"utf-8"?> <CodeSnippets xmlns"http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format"1.0.0"><Header><Title>注释…...

面试题. 零矩阵

编写一种算法&#xff0c;若M N矩阵中某个元素为0&#xff0c;则将其所在的行与列清零。 示例 1&#xff1a; 输入&#xff1a; [[1,1,1],[1,0,1],[1,1,1] ] 输出&#xff1a; [[1,0,1],[0,0,0],[1,0,1] ] 示例 2&#xff1a; 输入&#xff1a; [[0,1,2,0],[3,4,5,2],[1,3…...

易语言下载器

静态网站整站下载器 https://bbs.125.la/forum.php?modviewthread&tid14791313&highlight%E4%B8%8B%E8%BD%BD%E5%99%A8 易语言 之音乐下载器 https://blog.51cto.com/u_15309652/3153642 &#xff08;File Download Assistant&#xff09;下载链接&#xff1a;https…...

原生js获取今天、昨天、近7天的时间(年月日时分秒)

有的时候我们需要将今天,昨天,近7天的时间(年月日时分秒)作为参数传递给后端,如下图: 那怎么生成这些时间呢?如下代码里,在methods里的toDay方法、yesterDay方法、weekDay方法分别用于生成今天、昨天和近7天的时间: <template><div class="box"&…...