【实践】开源IDS网络流量分析与监控系统Zeek对接GrayLog

简介: 【实践】开源IDS网络流量分析与监控系统Zeek对接GrayLog

一、 开源IDS网络流量分析与监控系统Zeek简单介绍

The Zeek Network Security Monitor:A powerful framework for network traffic analysis and security monitoring.

Zeek网络安全监控:是一款强大的网络流量分析和安全监控的框架

  • 1、深入分析:Zeek附带了许多协议的分析器,可实现在网络应用层的高级语义分析。
  • 2、适应性强且灵活:Zeek的域特定脚本语言可实现特定于站点的监视策略,也意味着不限于任何特定检测方法。
  • 3、高效性:Zeek以高性能网络为目标,并在很多各种大型站点上应用和运行。
  • 4、高级状态性:Zeek保留有关其监控的网络应用层可扩展状态,并提供网络活动的高级存档功能。

官方文档

https://github.com/zeek/zeek
https://docs.zeek.org/

参考链接

https://linux.cn/article-14770-1.html
http://www.senlt.cn/article/171944181.html
https://blog.csdn.net/u013613428/article/details/110728269

在阅读过《将 Zeek 与 ELK 栈集成》的这篇文章后 https://linux.cn/article-14770-1.html

(图片点击放大查看)

决定尝试是否可以将zeek的网络流量监控日志吐到GrayLog,并在GrayLog上进行呈现

具体实现思路,以及要解决的问题汇总

  • 1、zeek的部署(能否rpm包的方式部署,编译部署太耗费时间)
  • 2、流量镜像问题:zeek服务器的网卡如何配置混杂模式,交换机流量镜像如何配置
  • 3、zeek的流量分析日志读取问题:zeek的日志转成json格式日志,使用graylog-sidecar+filebeat方式读取,并json提取器获取字段信息
  • 4、GrayLog上查询,Dashboard配置

具体实践过程如下

二、下载zeek的CentOS7的rpm包并部署zeek

https://zeek.org/get-zeek/

由于网速问题,我这边手动提前下载好zeek相关的rpm依赖包

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

1、安装zeek

yum localinstall *.rpm

2、将/opt/zeek/bin目录加到PATH环境变量中

echo "PATH=$PATH:/opt/zeek/bin" >> /etc/profile
source /etc/profile
echo $PATH

3、将网卡设置成混杂模式

ifconfig ens33 promisc

交换机配置镜像流量的操作这里就不做演示,请参考这个链接中的文章自行探索,根据自身实际网络环境自行解决

https://blog.csdn.net/u013613428/article/details/110728269

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

4、vim node.cfg

cd /opt/zeek/etc
vim node.cfg
修改interface为当前实际网卡

(图片点击放大查看)

5、vim local.zeek

cd /opt/zeek/share/zeek/site/
vim local.zeek 
如下位置添加以下行:
@load policy/tuning/json-logs.zeek

(图片点击放大查看)

6、启动zeek

zeekctl 
[ZeekControl] > deploy

(图片点击放大查看)

7、查看zeek的流量分析日志

cd /opt/zeek/logs/
cd current/
ll

目前均为json格式日志

(图片点击放大查看)

三、部署graylog-sidecar+filebeat方式读取zeek的日志

1、下载并安装graylog-sidecar和filebeat的rpm包

https://github.com/Graylog2/collector-sidecar/releases
https://mirrors.cloud.tencent.com/elasticstack/7.x/yum/7.10.2/filebeat-7.10.2-x86_64.rpm
rpm -ivh filebeat-7.10.2-x86_64.rpm 
rpm -ivh graylog-sidecar-1.3.0-1.x86_64.rpm

(图片点击放大查看)

(图片点击放大查看)

2、创建sidecar的token,及sidecar端的配置修改

vim /etc/graylog/sidecar/sidecar.yml
并修改如下5处的配置
server_url: "http://192.168.31.170:9000/api/"
server_api_token: "hkoa0tv9gl9u09drhtckjbdv90v98v5mor5jropo0p0741oib3g"
node_name: "zeek"
update_interval: 10
send_status: true

(图片点击放大查看)

(图片点击放大查看)

3、graylog-sidecar启动,并下发配置

graylog-sidecar -service install
graylog-sidecar -service start

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

4、Graylog上面配置Beat类型的Input

防火墙开放5044端口

firewall-cmd --permanent --zone=public --add-port=5044/tcp
firewall-cmd --reload

5、确认是否收到日志

(图片点击放大查看)

四、Graylog上配置json格式字段提取并配置大屏

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

五、总结

1、本文中所用到的rpm安装包已全部打包,下载链接如下

链接:https://share.weiyun.com/knIqb1EA 密码:bk2un9

2、扩展

zeek流量日志如果可以的话,可以与微步API接口进行关联查询,这样可以实现异常DNS等其他流量检测与告警

参考之前的文章

GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
21 0
|
10天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
24 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
10天前
|
机器学习/深度学习 算法 数据可视化
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
17 0
用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析3
|
11天前
|
存储 算法 前端开发
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
32 0
|
11天前
|
数据可视化 网络可视化
R语言混合图形模型MGM的网络可预测性分析
R语言混合图形模型MGM的网络可预测性分析
11 0
|
11天前
|
算法 定位技术 Windows
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
16 4
|
12天前
|
机器学习/深度学习 资源调度 数据可视化
使用Python和Keras进行主成分分析、神经网络构建图像重建
使用Python和Keras进行主成分分析、神经网络构建图像重建
13 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
43 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
m基于深度学习网络的性别识别系统matlab仿真,带GUI界面
29 2