zeek系列之:流量数据采集流量探针zeek安装部署
zeek介绍
Zeek是一个被动的开源网络流量分析器。它主要是一种安全监视器,可深入检查链接上的所有流量以查找可疑活动的迹象。使用Zeek最直接的好处是生成大量日志文件。这些日志不仅包括对网络上每个连接的全面记录,还包括应用程序层记录,例如所有HTTP会话及其请求的URI,密钥标头,MIME类型和服务器响应;带回复的DNS请求;SSL证书;SMTP会话的关键内容;以及更多。默认情况下,Zeek将所有这些信息写入结构合理的制表符分隔的日志文件中,这些文件适用于使用外部软件进行后处理。
另外,在名称上,3.0版本之前是叫bro,之后改为zeek,相关的命令也都有变动
官方文档:About Zeek — Book of Zeek (v4.1.1)
安装部署
安装zeek
安装zeek有两种方法:1是下载一个二进制程序包(类似windows的exe安装程序),运行安装;2是下载zeek的源码,编译源码进行安装。
都需要先安装好依赖。
- 安装依赖项
sudo apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev
二进制包安装:
下载
wget https://download.opensuse.org/repositories/security:zeek/CentOS_7/security:zeek.repo
安装
yum install zeek
编译源码安装:
解压后执行
./configure; make; sudo make install
如果cmake版本过低,需要先卸载cmake,然后升级安装最新版本cmake
升级cmake步骤
卸载旧版本cmake
yum remove cmake -y
下载cmake
wget https://cmake.org/files/v3.5/cmake-3.5.0.tar.gz
解压
tar -xvf cmake-3.5.0.tar.gz
cd cmake-3.5.0
编译
./configure --prefix=/usr/local/cmake
安装
make && make install
设置软连接
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
查询版本
cmake -version
安装后保存位置
/opt/zeek
修改配置文件
将bin目录添加在环境变量中:
export PATH=$PATH:/opt/zeek/bin
重置生效
source /etc/profile
1.首先设置检测设备网卡
编辑文件
vi /opt/zeek/etc/node.cfg
设置要监视的正确网卡
我得这里时ens192 所以改为interface=ens192
2.添加监测环境的本地网络
编辑文件networks.cfg
vi /opt/zeek/etc/networks.cfg
原来得注释掉,然后新增ip/24,注意一定要使用子网掩码得方式。
3.在 $PREFIX/etc/zeekctl.cfg 文件中,修改 MailTo 邮件地址成期望的收件人以及修改 LogRotationInterval 成期望的日志归档频率(这一条的修改是可选的)(目前没有需求,使用默认方式)
启动
命令,进入zeek终端
zeekctl
由于是第一次使用,执行ZeekControl配置的初始化安装
[ZeekControl] > install
然后启动Zeek实例:
[ZeekControl] > start
暂停Zeek实例:
[ZeekControl] > stop
重启Zeek实例:
zeekctl deploy
输出
输出位置在/opt/zeek/logs/current下
日志文件
下面列出了 Zeek 生成的日志文件,包括日志文件的简要说明和每个日志类型字段说明的链接。
网络协议
日志文件 | 描述 | 字段说明 |
conn.log | TCP/UDP/ICMP 连接 | |
dce_rpc.log | 分布式计算环境/RPC | |
dhcp.log | DHCP 租用 | |
dnp3.log | DNP3 请求和回复 | |
dns.log | DNS 活动 | |
ftp.log | FTP活动 | |
http.log | HTTP 请求和回复 | |
irc.log | IRC 命令和响应 | |
kerberos.log | Kerberos | |
modbus.log | Modbus 命令和响应 | |
modbus_register_change.log | 跟踪对 Modbus 保持寄存器的更改 | |
mysql.log | MySQL | |
ntlm.log | NT 局域网管理器 (NTLM) | |
ntp.log | 网络时间协议 | |
radius.log | RADIUS 身份验证尝试 | |
rdp.log | 研发计划 | |
rfb.log | 远程帧缓冲区 (RFB) | |
sip.log | 啜 | |
smb_cmd.log | SMB 命令 | |
smb_files.log | SMB 文件 | |
smb_mapping.log | SMB 树 | |
smtp.log | SMTP 事务 | |
snmp.log | SNMP 消息 | |
socks.log | SOCKS 代理请求 | |
ssh.log | SSH 连接 | |
ssl.log | SSL/TLS 握手信息 | |
syslog.log | 系统日志消息 | |
tunnel.log | 隧道协议事件 |
更多详见Log Files — Book of Zeek (v4.1.1)
设置json格式日志
设置zeek日志格式为json
目录/opt/zeek/share/zeek/site下local.zeek文件中,追加下面一句话
#Output to JSON
@load policy/tuning/json-logs.zeek
然后启动zeek:zeekctl start 或者重启zeekctl deploy
然后在查询日志
成功转换为json格式
更多推荐
所有评论(0)