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语言)
需求:无 栈的概念: 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端为栈底。栈中的数据元素遵守后进先出(LIFO)原则。压栈&…...

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 结构体来表示系统中的每个物理页面,该结构体用来跟踪和管理这些物理页面的使用…...

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 数据库访问对象)的主要功能是操作数据库,所以DAO在标准开发架构中数据数据层,以下是标准开发的架构 客户层:目前使用B/…...

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

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

Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习
论文题目:Hierarchically Self-Supervised Transformer for Human Skeleton Representation Learning 论文下载地址:https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136860181.pdf 代码地址:https://github.com/yuxiaochen1103…...

FPGA 之 xilinx DDS IP相位控制字及频率控制字浅析
浅析相位环在Xilinx DDS中的理解 本文仅为个人理解之用; 相关仿真结果如下:...

[鹏城杯 2022]简单包含
直接用php:// 有wtf 加脏数据绕过...

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

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

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

利用Figlet工具创建酷炫Linux Centos8服务器-登录欢迎界面-SHELL自动化编译安装代码
因为我们需要生成需要的特定字符,所以需要在当前服务器中安装Figlet,默认没有安装包的,其实如果我们也只要在一台环境中安装,然后需要什么字符只要复制到需要的服务器中,并不需要所有都安装。同样的,我们也可以利用此生成的字符用到脚本运行的开始起头部分,用ECHO分行标…...

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

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

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>注释…...

面试题. 零矩阵
编写一种算法,若M N矩阵中某个元素为0,则将其所在的行与列清零。 示例 1: 输入: [[1,1,1],[1,0,1],[1,1,1] ] 输出: [[1,0,1],[0,0,0],[1,0,1] ] 示例 2: 输入: [[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 (File Download Assistant)下载链接:https…...

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