使用Elastic Siem和Zeek搭建网络监控环境

VSole2022-01-19 14:24:40

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言

Zeek 是一个开源网络监控框架,它可以收集网络中的流量并能够解析协议记录为json格式日志。通过filebeat+logstash便可以将日志发到siem平台进行日志的分析,编写可疑流量告警规则。此外,zeek本身也支持加载自定义的检测脚本。elastic siem平台自带了zeek的日志采集器,可以很方便的采集zeek产生的日志。

网络环境

虚拟机网卡设置网段192.168.0.0 255.255.0.0

Ubuntu 20.04 192.168.2.201 zeek节点

Ubuntu 20.04 192.168.2.200 Elastic Siem

Windows 2019 192.168.2.123 域控

Windows 2016 192.168.3.130 域机器

安装zeek的Ubuntu需要开启网卡的混杂模式,开启ip转发

其中Windows机器添加一条路由到路由表,使得两台机器间的流量流经zeek节点,确保zeek能抓到流量

Windows 2016上添加

route -p add 192.168.2.0 MASK 255.255.255.0 192.168.2.201 METRIC 2

Windows2019上添加

route -p add 192.168.3.0 MASK 255.255.255.0 192.168.2.201 METRIC 2

安装

1.安装Elastic Siem

参考Elastic Edr测试环境搭建

2.安装zeek

ubuntu上zeek可选择源码编译安装和apt源安装,后续装某些插件可能需要源码tree,所以推荐使用源码安装。源码下载

git clone -–recursive https://github.com/zeek/zeek

安装依赖

apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python3-dev swig zlib1g-dev

apt源安装方法

apt-get install libpcap-dev libssl-dev zlib1g-dev python3 python3-dev cmake make gcc g++ flex swig bison libpcap-dev curl software-properties-common wget
echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list
apt-get updateapt-get install zeek

默认安装在/opt/zeek路径,需要将路径下的bin目录添加到PATH环境变量

安装zeek包管理器方便安装第三方插件

pip3 install gitpython semantic-versionpip3 install git+git://github.com/zeek/package-manager@masterzkg autoconfig

修改/opt/zeek/etc/node.cfg

修改/opt/zeek/ztc/network.cfg,配置要监控的网段

在/opt/zeek/share/zeek/site/local.zeek添加

@load policy/tuning/json-logs.zeek

使得zeek输出json格式的日志添加

@load packages

表示加载第三方包

zeekctl deploy

部署运行zeek,查看/opt/zeek/log/current下是否有日志产生。

Zeek日志发送到Siem

在kibana fleet新建策略代理策略,添加fleet_server、zeek集成。zeek集成下更改日志路径为zeek输出的路径

添加代理

在zeek节点上配置elasticsearch的ca证书,运行给出的启动fleet服务器命令

查看数据流,在仪表板展示zeek的流量数据

添加规则检测异常流量

以NoPAC攻击为例,在攻击过程中,会以去掉 $ 符的域控等敏感的域内机器账户名去请求做kerberos的认证并请求票据,例如域控机器账户为DC$,则请求的用户为DC。此时可创建规则,检测kerberos认证协议中是否有为DC用户名请求身份证认证票据。新建一条简单的规则粗略检测NoPac攻击

zeek.kerberos.client:"WIN-BLA6KEJV6V7/CATE4CAFE.COM" and not source.address : 192.168.2.123 and related.user: WIN-BLA6KEJV6V7 //WIN-BLA6KEJV6V7是域控机器名,在域内账户名为WIN-BLA6KEJV6V7$

规则检测来自和域控机器名相同的域内用户发起的源IP不是域控IP的kerberos请求。

规则较为简略。如果配合ldap协议的检测,匹配使用ldap协议添加机器账户、更改机器账号samaccountname属性的流量则更为精准

流量elastic
本作品采用《CC 协议》,转载必须注明作者和本文链接
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
前言因工作需要,需要调研WAF和IDS产品,我经过调研选择了Modsecurity作为Web端的防火墙防护软件和Suricata作为tcp和udp层的防护,并且通过logstash将结果输出到elasticsearch中进行分析。
GoReplay 是一款开源网络监控工具,可以记录您的实时流量,并将其用于shadowing、load testing、monitoring和detailed analysis。捕获实时HTTP流量并将其重放到测试环境中,以便使用真实数据持续测试您的系统。
ELB 弹性负载均衡(Elastic Load Balance,简称ELB)是将访问流量根据分配策略分发到后端多台服务器的流量分发控制服务。弹性负载均衡可以通过流量分发扩展应用系统对外的服务能力,同时通过消除单点故障提升应用系统的可用性。 01信息搜集 查询IP地址组列表
在野流量中经常会看到一批 IP 地址使用相同的 User-Agent 或者将 Payload 部署到相同的 Web 路径,尽管存在部分差异,但仍然非常相似。相似度实现首先要将 GreyNoise 中记录的数据转换为特征向量,但数据中包含大量非结构化与半结构化文本数据。为了转换为固定大小的数字特征向量,需要使用 Token 化与特征哈希两种技术进行处理。将文本进行哈希计算import hashlibbucket_size = 16
网络安全监控系统会产生大量的事件,SELKS为用户提供了一些基本的工具,用来对事件进行分类,过滤事件,或者发出报警。
例如,采集数据、分析显示、报警、简单故障自动处理等。Cacti通过snmpget检索数据并使用RRDtool进行绘图,但用户不需要知道RRDtool的复杂参数。NagiosNagios是一个企业级监控系统,可以监控服务运行状态和网络信息,监控指定的本地或远程主机参数和服务,并提供异常告警通知功能。
在 AWS 中,不管是 EC2 还是 RDS 都会使用到 VPC (Virtual Private Cloud) 虚拟网络环境服务,在 EC2 中可能会用到 ELB (Elastic Load Balancing) 弹性负载均衡服务,IAM (Identity and Access Management) 可以帮助 AWS 用户安全地控制对 AWS 资源的访问。 这里站在攻击者的视角简单看看 V
本文是一份全面的指南,解释了如何使用nProbe Cento构建一个高效的100 Gbit NetFlow传感器。旨在帮助大家充分利用NetFlow技术,以监控和分析高速网络流量。当需要监控分布式网络,了解流经上行链路或关键网段的网络流量时,NetFlow等技术通常是最佳选择。 nProbe Pro/Enterprise和nProbe Cento是软件探针,可用于构建多功能传感器,以多种
VSole
网络安全专家