Zeek Agent发布:将终端语义引入网络安全监控

Zeek Agent是一款开源终端监控代理,通过将主机进程、用户账户等语义信息与Zeek网络流量分析平台集成,为安全决策提供关键上下文。支持macOS/Linux系统,可独立运行或与osquery集成。

什么是Zeek Agent及其价值

传统网络安全监控器仅能被动截取主机间的网络流量,而Zeek网络监控平台虽功能强大,却缺乏对终端层面语义(如发起连接的具体进程和用户账户)的访问能力。Zeek Agent通过以下方式填补这一空白:

  • 提供终端活动的事件流(如"新进程"、“套接字打开”、“用户登录”)
  • 将主机事件融入Zeek标准处理管道
  • 支持网络连接与终端服务的交叉关联(如标记sshd发起的连接)
  • 生成包含终端上下文的新日志类型

项目演进历程

2018年由Steffen Haas开发初始原型zeek-osquery,2019年Trail of Bits受Corelight委托进行重构:

  • 从osquery核心补丁改为独立扩展架构
  • 保留osquery兼容性同时支持独立运行模式
  • 优化Linux系统适配性
  • 设计支持未来自定义数据源

技术实现架构

采用SQLite数据库模型,核心机制包括:

  1. 表插件系统:动态注册数据源,实时生成系统信息
  2. 事件驱动表:如process_events表通过后台线程持续记录进程事件
  3. osquery集成:通过扩展套接字无缝整合已有osquery表
  4. 双模查询
    • 即时单次SQL查询
    • 定时自动报告任务

与Zeek的交互通过Broker通信系统实现,查询结果自动转换为标准Zeek事件。

部署与扩展

安装方式

  • 代理端:支持源码构建(BSD许可证)
  • Zeek端:通过包管理器安装Agent框架

生态建设

  • 开放GitHub代码贡献
  • 规划功能:
    • Windows支持(当前支持macOS/Linux)
    • Broker多跳路由层
    • Zeek脚本框架增强

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计