falcosecurity/event-generatorfalco-event-generator 是一款用于模拟 Falco 可捕获事件的工具镜像。Falco 作为容器和主机级运行时安全监控工具,通过规则检测异常行为(如文件篡改、未授权进程执行、敏感网络连接等)。本镜像旨在生成各类符合 Falco 监控范围的模拟事件,帮助用户测试 Falco 规则有效性、验证安全监控配置,或演示 Falco 的检测能力。
从容器仓库拉取最新版本镜像(假设仓库为 docker.io,实际请替换为真实仓库地址):
bashdocker pull docker.io/falcosecurity/falco-event-generator:latest
通过 docker run 直接启动容器,生成指定事件。以下为常见场景示例:
模拟每秒写入 /etc/passwd 文件的事件,持续 30 秒:
bashdocker run --rm \ -e EVENT_TYPE=file_write_sensitive \ # 事件类型:敏感文件写入 -e TARGET_FILE=/etc/passwd \ # 目标文件路径 -e RATE=2 \ # 速率:每秒 2 个事件 -e DURATION=30 \ # 持续时间:30 秒 docker.io/falcosecurity/falco-event-generator:latest
随机生成文件访问、进程执行、网络连接事件,默认速率(每秒 1 个),持续 60 秒:
bashdocker run --rm \ -e EVENT_TYPE=all \ # 事件类型:全部 -e DURATION=60 \ # 持续时间:60 秒 docker.io/falcosecurity/falco-event-generator:latest
在 Kubernetes 集群中,模拟目标 Pod 内的异常进程执行(需确保容器可访问 Kubernetes API,或通过环境变量指定目标 Pod 名称):
bashdocker run --rm \ -e EVENT_TYPE=pod_process_exec \ # 事件类型:Pod 内进程执行 -e TARGET_POD=test-pod-xxx \ # 目标 Pod 名称 -e PROCESS_NAME=/bin/sh \ # 执行的进程路径 -e NAMESPACE=default \ # 目标 Pod 所在命名空间 docker.io/falcosecurity/falco-event-generator:latest
通过 docker-compose.yml 定义服务,方便持久化配置或集成到多容器环境:
yamlversion: '3' services: event-generator: image: docker.io/falcosecurity/falco-event-generator:latest environment: - EVENT_TYPE=all # 生成所有类型事件 - RATE=3 # 每秒 3 个事件 - DURATION=120 # 持续 120 秒 - TARGET_NAMESPACE=monitoring # 优先针对 monitoring 命名空间生成事件 restart: "no" # 单次运行,完成后退出
启动服务:
bashdocker-compose up
所有配置通过环境变量传递,支持以下参数:
| 环境变量 | 描述 | 可选值/示例 | 默认值 |
|---|---|---|---|
EVENT_TYPE | 生成的事件类型(支持单个类型或 all 混合类型) | file_write_sensitive, process_exec, network_connect, pod_escape, all | all |
RATE | 事件生成速率(每秒事件数) | 正整数(如 1, 5, 10) | 1 |
DURATION | 事件生成持续时间(秒),设为 0 时无限期运行 | 非负整数(如 30, 60, 0) | 60 |
TARGET_FILE | 针对文件类事件:目标文件路径 | /etc/passwd, /root/.ssh/id_rsa | /etc/passwd |
PROCESS_NAME | 针对进程类事件:执行的进程路径 | /bin/sh, /usr/bin/curl, /tmp/malware | /bin/sh |
NETWORK_TARGET | 针对网络类事件:目标 IP:端口 | 192.168.1.1:8080, 8.8.8.8:53 | 8.8.8.8:53 |
TARGET_POD | 针对 Kubernetes 事件:目标 Pod 名称(需与 NAMESPACE 配合) | test-pod-xxx, nginx-deploy-yyy | 空(随机选择) |
NAMESPACE | 针对 Kubernetes 事件:目标 Pod 所在命名空间 | default, kube-system, monitoring | default |
--privileged 参数),但生产环境慎用。RATE>10)可能占用较多 CPU/内存,建议根据宿主机资源调整参数。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务