概述
什么是HIDS
HIDS( host-based intrusion detection system,基于主机的入侵检测系统),通过监测主机上的进程、文件、网络等信息来识别入侵风险。
HIDS与NIDS的区别
NIDS基于网络流量来进行入侵检测,和HIDS相比,实时性更高,对主机没有性能影响。一般装在网关等地方获取镜像流量即可,无需安装在每台主机节点,开源NIDS有Suricata等。
EDR、XDR是啥?
EDR(Endpoint Detection and Response,端点检测与响应),相较于传统的HIDS,EDR增加了响应的部分,例如添加SOAR(security orchestration, automation and response,安全编排、自动化与响应系统)、止损手段。
XDR( eXtended Detection and Response ,可扩展检测与响应),相较于EDR,能够结合多个数据源(云原生安全、电子邮件安全等)。
前面我先普及下概念,这样大家对这些有了名词有了区分,能够找到不同名词之间的区别,也不会混为一谈的去看问题。
架构
Elkeid Agent:代理,与Manager节点通信,负责上传日志等信息,管理组件。
Elkeid Driver:负责 Linux Kernel 层采集数据,兼容容器,并能够检测常见 Rootkit。
Elkeid RASP:支持 CPython、Golang、JVM、NodeJS、PHP 的运行时数据采集探针,支持动态注入到运行时。
Elkeid HUB:策略引擎。
AgentCenter:收集Agent 数据,写入到消息队列,给Agent下发指令。
ServiceDiscovery:服务发现。
实时计算模块:消费消息队列数据,进行分析和检测。
离线计算模块:消费消息队列数据
Manager:管理各个模块。
Agent具有数据通信、资源监控、组件版本控制、文件传输、机器基础信息采集等功能。
Agent拥有多个Plugins,是Agent的插件,Agent的子进程,可以由多种语言实现。
Driver Plugin: 负责与 Elkeid Driver 通信,处理其传递的数据等
Collector Plugin: 负责端上的资产/关键信息采集工作,如用户,定时任务,包信息等
Journal Watcher: 负责监测systemd日志的插件,目前支持ssh相关日志采集与上报
Scanner Plugin:负责在端上进行静态检测恶意文件的插件,支持
Yara RASP Plugin: 分析系统进程运行时,上报运行时信息,处理下发的Attach 指令,收集各个探针上报的数据
Baseline Plugin: 负责在端上进行基线风险识别的插件
Agent Center基于gRPC + ProtoBuf通信,具有以下功能
限流:最大链接数保护
负载均衡:SD服务发现+Manager动态控制
通信链路安全:SSL+HTTPS
上报数据Kafka
容器集群安全告警
主机概览
安全告警
漏洞信息
基线检查
病毒扫描
部署方法
https://github.com/bytedance/Elkeid/blob/main/elkeidup/README-zh_CN.md
完整部署(推荐)
https://github.com/bytedance/Elkeid/blob/main/elkeidup/deploy-zh_CN.md
数据采集
https://github.com/bytedance/Elkeid/blob/main/elkeidup/raw_data_usage_tutorial/raw_data_usage_tutorial-zh_CN.md
配置机器人
开源项目地址如下,感兴趣的朋友可亲自上手体验。
https://github.com/bytedance/Elkeid
原文始发于微信公众号(三沐数安):主机安全-开源HIDS之字节跳动Elkeid
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论