HIDS 通常通过在主机部署 Agent,采集系统日志、进程、文件、网络连接、登录行为等主机侧数据进行检测。

接下来以两款免费的HIDS的搭建和简单使用来介绍HIDS的基本作用
- Wazuh
- Elkeid
Elkeid
Elkeid 是字节开源的主机入侵检测系统,通过在主机部署 Agent 采集内核与系统行为数据并实时分析,实现安全检测、告警与集中管控。
Elkeid 后端会涉及数据存储、检索和可视化组件,功能上类似安全数据采集、分析、展示的一体化平台;
搭建
服务端安装
- docker 一键搭建:
环境准备
bash
bash <(curl -sSL https://xuanyuan.cloud/docker.sh)
如果一键脚本安装 Docker Compose 阶段长时间无响应,可以中断后手动安装 Docker Compose 插件。

验证docker
docker -v

- 自己安装
docker compose
创建目录
bash
mkdir -p /usr/libexec/docker/cli-plugins
下载docker compose
bash
curl -L https://gh.xmly.dev/https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/libexec/docker/cli-plugins/docker-compose
执行权限
bash
chmod +x /usr/libexec/docker/cli-plugins/docker-compose
验证安装
bash
docker compose version

- 换docker镜像源
bash
yum install git -y
git clone https://github.com/hzhsec/docker_proxy.git
cd docker_proxy.sh
chmod +x ./*.sh
./docker_yuan.sh

安装Elkeid
- 开始安装
elkeid
创建工作目录
bash
mkdir -p /opt/elkeid
cd /opt/elkeid
下载压缩包
bash
wget https://gh.xmly.dev/https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.00
wget https://gh.xmly.dev/https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.01
wget https://gh.xmly.dev/https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.02
wget https://gh.xmly.dev/https://github.com/bytedance/Elkeid/releases/download/v1.9.1.4/elkeidup_image_v1.9.1.tar.gz.03


合成并加载
bash
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
启动容器
bash
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
进入容器
bash
docker exec -it elkeid_community bash
- 执行初始化操作
bash
cd /root/.elkeidup/
./elkeidup public ip(自己的公网ip)
./elkeidup agent init
./elkeidup agent build
./elkeidup agent policy create

查看密码
bash
cat ~/.elkeidup/elkeid_passwd
elkeid_consoleconsole 地址和账号密码
elkeid_hub_frontendhub 前端地址和账号密码
grafanagrafana 地址和账号密码
elkeid_service_discovery服务发现地址。
访问后台地址http://ip:8082
账号密码:root 7rkm95s09kl23o85diZP

- 服务端安装成功

客户端安装
服务端
text
点击系统管理->安装配置->复制安装命令
客户端执行复制命令
bash
bash -c "if (command -v curl); then (curl -sS http://139.9.34.127:8080/agent/install.sh | bash);else (wget -q -O - http://139.9.34.127:8080/agent/install.sh | bash); fi"

查看服务状态
bash
systemctl status elkeid-agent
等待上线,可能要久一点
如果没有上线检查刚刚填的是不是自己主机的公网ip
- 检查是否开了防火墙
- 检查service端的安全组的是否阻断了服务

使用
ELK端口说明
| 组件 | 端口 | 作用 |
|---|---|---|
| Elasticsearch | 9200 | HTTP API(查询数据) |
| Elasticsearch | 9300 | 集群通信(一般不用管) |
| Kibana | 5601 | Web界面 |
| Logstash | 5044 | Beats输入(Filebeat常用) |
| Logstash | 9600 | 监控接口 |
资产中心
里面主要是对agent主机的各种资产,基本信息进行展示

主机和容器防护
主要分为
-
对
agent的告警事件进行监控和处理

-
对agent主机进行基本的漏洞扫描及基线扫描

应用运行时防护
Elkeid 的 RASP 插件主要面向应用运行时安全,通过插桩/Hook 等方式感知应用内部调用链、请求上下文和危险函数调用,从而检测或阻断攻击行为。
RASP 是一种运行时应用自保护技术,通过在应用内部对关键函数进行 Hook,在代码执行阶段检测并阻断攻击行为,相比 WAF 能获取更精细的上下文信息。

配置管理页面

Wazuh
Wazuh 是一个开源的主机入侵检测与安全监控平台,通过在主机部署 Agent 采集日志与系统行为并进行分析,实现安全告警与集中管理。
搭建
service
购买华为云的按量付费的|4vCPUs | 8GiB|40G|的服务器,最低配置了已经
实验环境建议至少 4C8G,磁盘 40G 起步;
生产环境需根据 Agent 数量和日志量扩容。
购买后
-
搭建docker环境
docker 一键搭建:bash <(curl -sSL https://xuanyuan.cloud/docker.sh)
-
拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-manager:4.12.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-indexer:4.12.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-dashboard:4.12.0
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-certs-generator:0.0.2
拉取不了镜像源,可以使用这个项目配置镜像源
https://github.com/hzhsec/docker_proxy.git
-
重新打 tag
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-manager:4.12.0 wazuh/wazuh-manager:4.12.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-indexer:4.12.0 wazuh/wazuh-indexer:4.12.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-dashboard:4.12.0 wazuh/wazuh-dashboard:4.12.0
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wazuh/wazuh-certs-generator:0.0.2 wazuh/wazuh-certs-generator:0.0.2 -
验证
bash
docker images | grep wazuh
- 生成证书
bash
docker compose -f generate-indexer-certs.yml run --rm generator
检查证书
bash
ls -la config/wazuh_indexer_ssl_certs/
启动(使用 docker compose,不是 docker-compose)
bash
docker compose up -d
查看状态
bash
docker compose ps
获取docker-compose.yml配置文件
bash
cd /data
git clone https://github.com/wazuh/wazuh-docker.git -b v4.12.0
cd wazuh-docker/single-node/
启动
docker compose up -d
Dashboard主页
https://<YOUR_SERVER_IP>:443
默认账号密码:
用户名:admin
密码:SecretPassword
公网部署后必须立即修改默认密码,避免被扫到后接管。
agent
bash
# 在被监控服务器上执行
# 下载 Agent(版本要和 Manager 匹配)
curl -so wazuh-agent-4.12.0-1.x86_64.rpm https://packages.wazuh.com/4.x/yum/wazuh-agent-4.12.0-1.x86_64.rpm
# 安装(替换为你的 Wazuh 服务器 IP)
WAZUH_MANAGER='<YOUR_WAZUH_SERVER_IP>' rpm -ihv wazuh-agent-4.12.0-1.x86_64.rpm
# 启动
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
# 检查状态
systemctl status wazuh-agent
等待几分钟,查看service端的状态