什么是Zeek Agent及其价值
传统网络安全监控器仅能被动截取主机间的网络流量,而Zeek网络监控平台虽功能强大,却缺乏对终端层面语义(如发起连接的具体进程和用户账户)的访问能力。Zeek Agent通过以下方式填补这一空白:
- 提供终端活动的事件流(如"新进程"、“套接字打开”、“用户登录”)
- 将主机事件融入Zeek标准处理管道
- 支持网络连接与终端服务的交叉关联(如标记sshd发起的连接)
- 生成包含终端上下文的新日志类型
项目演进历程
2018年由Steffen Haas开发初始原型zeek-osquery,2019年Trail of Bits受Corelight委托进行重构:
- 从osquery核心补丁改为独立扩展架构
- 保留osquery兼容性同时支持独立运行模式
- 优化Linux系统适配性
- 设计支持未来自定义数据源
技术实现架构
采用SQLite数据库模型,核心机制包括:
- 表插件系统:动态注册数据源,实时生成系统信息
- 事件驱动表:如process_events表通过后台线程持续记录进程事件
- osquery集成:通过扩展套接字无缝整合已有osquery表
- 双模查询:
- 即时单次SQL查询
- 定时自动报告任务
与Zeek的交互通过Broker通信系统实现,查询结果自动转换为标准Zeek事件。
部署与扩展
安装方式:
- 代理端:支持源码构建(BSD许可证)
- Zeek端:通过包管理器安装Agent框架
生态建设:
- 开放GitHub代码贡献
- 规划功能:
- Windows支持(当前支持macOS/Linux)
- Broker多跳路由层
- Zeek脚本框架增强