最后的防线:三款开源HIDS应用对比评估

本文仅从应用角度评估Wazuh, Osquery, AgentSmith这三款HIDS,针对企业立马使用HIDS,或者包装成方案的场景。

简介

Wazuh:一款免费、开源的企业级安全监控解决方案,用于威胁检测、完整性监控、事件响应和合规性。

Osquery: 用于Windows、OS X(MacOS)、Linux和FreeBSD的操作系统工具框架, 使低级操作系统分析和监控既有性能又直观。

AgentSmith: 一个基于云本地主机的入侵检测解决方案项目,旨在通过现代架构提供下一代威胁检测和行为审核。

整体架构

HIDS的架构组成一般是这样:

  • agent:安装在企业内每台主机,进行基线采集,事件监控

  • 管理端:管理每台agent的配置下发,状态检测,版本管理

  • 规则分析中心:接收各种agent上传的数据,进行分类重整化,关联分析

  • 报表平台:展示规则分析的结果

从架构来看:

  • Wazuh:

    1. 有agent

    2. 有管理端

    3. 有规则分析中心,也有分析规则

    4. 集成ELK里展示报表

  • Osquery:

    1. 有agent

  • AgentSmith

    1. 有agent

    2. 使用kafka来接收数据

运维角度

因为agent需要安装在每台主机,企业的主机数量一般从几百台到几百万台不等,特别在云时代,由于业务变化,主机的规模一般会动态变化,可能会一下子扩容或裁撤几千台。HIDS必须具有批量更新agent配置,批量升级agent,远程重启agent的能力,才能够精准地保障企业安全。

agent和管理端维持心跳,也定时上报状态,确保HIDS本身的健康状态,时刻保障企业安全。

有时候检测到一些异常行为,可能需要操作管理端下发一个脚本到某台机器采集一些信息或从获取一个文件来进行电子取证。

由于管理数目众多的agent,会有大量数据上报,管理端必须要支持分布式才能够有足够的管理能力。

HIDS应该具有这些运维能力:

  • agent: 支持从管理端远程下载和执行脚本,获取最新配置,版本更新,重启,向管理端发送指定文件,发送心跳和状态上报

  • 管理端:支持批量下发配置,远程推送版本,远程重启agent,向某agent指定获取某文件。

从运维角度来看:

  • Wazuh

    1. 支持批量版本更新

    2. 支持批量配置更新

    3. 支持批量重启

    4. 支持执行本地命令,不支持远程下载脚本执行

    5. 支持远程获取指定文件

    6. 有心跳和状态上报。

    7. 分布式:文档用nginx支持LB,实际不可行,配置倒是支持多管理端,单个管理端支持600-1000个Agent。

  • Osquery:

    1. 有心跳和状态

    2. 支持命令执行

  • AgentSmith

    1. agent具备版本更新

    2. agent有支持远程配置更新

    3. agent有支持重启的能力

    4. agent也有心跳和状态上报

    5. 分布式:因为管理端没开源,不清楚,但字节跳动已经用它管理了几十万台,分布式不成问题。

开发角度

这里开发角度是基于对现有产品不做任何功能重构,只是使用角度扩充的基础上

  • Wazuh

    1. 增删或修改分析规则,基本不需要开发人员

    2. 新增关联分析需要写脚本,

    3. 对Kibana没有的报表,需要nodejs开发

  • Osquery

    1. agent需要开发,来支持批量运维能力

    2. 需要开发管理端,来支持批量运维能力

    3. 需要开发规则分析平台,增加各种规则

    4. 需要开发报表平台

  • AgentSmith

    1. 需要开发管理端

    2. 需要开发规则分析平台,增加各种规则

    3. 需要开发报表平台

操作平台角度

HIDS支持的操作系统平台

Wazuh: 支持AIX, HP-UX, Linux, MacOS, Solaris, Windows

Osquery:支持MacOS, Linux, FreeBSD, Windows

AgentSmith: 支持Linux

结论

如果一个企业打算出一款HIDS产品,首选Wazuh。

如果一个企业的主机规模在几百到几千台,之前没安装过HIDS,也没多少开发人员,首选Wazuh。

如果一个企业的主机规模不多,几十台的样子,只想简单监控一下系统,可以考虑使用Osquery。

如果一个企业有足够开发人力和测试人力,主机规模有数以万计,可以考虑使用AgentSmith。

声明:本文来自debugeeker,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。

版权归原作者所有,如若转载,请注明出处:https://www.ciocso.com/article/773.html

发表评论

登录后才能评论