主机安全-开源HIDS字节跳动Elkeid安装
1、概述
什么是HIDS
HIDS( host-based intrusion detection system,基于主机的入侵检测系统),通过监测主机上的进程、文件、网络等信息来识别入侵风险。
项目地址:https://github.com/bytedance/Elkeid
Elkeid
架构

Elkeid Agent:代理,与Manager节点通信,负责上传日志等信息,管理组件。
Elkeid Driver:负责 Linux Kernel 层采集数据,兼容容器,并能够检测常见 Rootkit。
Elkeid RASP:支持 CPython、Golang、JVM、NodeJS、PHP 的运行时数据采集探针,支持动态注入到运行时。
Elkeid HUB:策略引擎。
AgentCenter:收集Agent 数据,写入到消息队列,给Agent下发指令。
ServiceDiscovery:服务发现。
实时计算模块:消费消息队列数据,进行分析和检测。
离线计算模块:消费消息队列数据
Manager:管理各个模块。
Elkeid Agent && Agent center
Elkeid Agent
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
Elkeid Driver
Elkeid Driver 主要通过 Kprobe Hook Kernel Function 来提供丰富而准确的数据收集功能,包括内核级进程执行探测,特权升级监控,网络审计等等。,并且支持 Linux Namespace。
主要是Plugins、Hook、Filter、Anti-Rootkit四个功能。
Elkeid RASP
RASP(Runtime application self-protection,实时应用自我防护),通过探针的方式注入到应用中,在运行时实时防护。
Elkeid HUB

INPUT 数据输入层,社区版仅支持Kafka
RULEENGINE/RULESET 对数据进行检测/外部数据联动/数据处理的核心组件
OUTPUT 数据输出层,社区版仅支持Kafka/ES
SMITH_DSL 用来描述数据流转关系
Service Discovery
服务发现,发现Agent。
负载均衡,
Manager
任务下发,分布式任务分发系统。
2、安装
按照官方文档给了2中按照方式,在实际使用中docker安装使用的127.0.0.1有许多问题,这里选择服务器安装方式------Elkeid 完整部署
2.1、配置目标机器root用户ssh免密登录
如果部署机器为本机,依旧需要配置本机免密登录【此步骤一定要做】,登录耗时需要小于1s。 可用以下命令进行验证,两次date命令的输出结果需要相同。
date && ssh root@{ip} date # 输出时间差小于1s
2.2、解压release产物并配置目录
- 下载release产物(分卷压缩包),并合并压缩包
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.00
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.01
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_package_v1.9.1.tar.gz.02
cat elkeidup_package_v1.9.1.tar.gz.* > elkeidup_package_v1.9.1.tar.gz
如果之前安装过,请删除
/root/.elkeidup和/elkeid文件夹,避免造成干扰
- 解压release产物并配置目录
mkdir -p /root/.elkeidup && cd /root/.elkeidup
mv {DownloadDir}/elkeidup_package_v1.9.1.tar.gz elkeidup_package_v1.9.1.tar.gz
tar -xf elkeidup_package_v1.9.1.tar.gz
chmod a+x /root/.elkeidup/elkeidup
2.3、生成并修改config.yaml
ip为本机ip,不能写127.0.0.1,若不为单机部署,请参考资源手册修改config.yaml
cd /root/.elkeidup
./elkeidup init --host {ip}
mv config_example.yaml config.yaml
2.4、部署
cd /root/.elkeidup
# 命令为交互式
./elkeidup deploy
2.5、构建Agent
cd /root/.elkeidup
./elkeidup agent init
./elkeidup agent build
./elkeidup agent policy create
2.6、访问前端console并安装Agent
顺利安装完成后,执行cat /root/.elkeidup/elkeid_passwd将看到各组件的随机生成的密码和相关的url。
| 字段 | 说明 |
|---|---|
| elkeid_console | console账号密码 |
| elkeid_hub_frontend | hub前端账号密码 |
| grafana | grafana账号密码 |
| grafana | grafana 地址 |
| elkeid_hub_frontend | elkeid hub前端地址 |
| elkeid_console | elkeid console地址 |
| elkeid_service_discovery | 服务发现地址 |
3、访问 ip+8082;账号密码为elkeid_console的输出

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)