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分钟,可以根据自己的情况调整

图片

图片

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

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

图片

搜索语句

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

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

图片

效果图

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

图片

猜你喜欢

转载自blog.csdn.net/Yhpdata888/article/details/132282663