> ## Documentation Index
> Fetch the complete documentation index at: https://hilt.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 代理过滤

> 采集器如何将原始系统调用量降低为安全相关的事件流。

采集器通过 eBPF 捕获内核级遥测（文件访问、进程执行、网络流）。在繁忙的主机上，原始系统调用量可能超过 **100k 事件/秒**，其中绝大多数是操作系统的日常维护噪声，对治理没有价值。过滤系统通过两层架构将其降低为可管理的安全相关事件流。

## 架构概述

| 层级 | 运行位置 | 目的 |
| :- | :- | :- |
| **内核空间** | 在系统调用 tracepoint 上的 eBPF 程序内 | 在事件离开 ring buffer 之前丢弃明显噪声，用户态零开销 |
| **用户空间** | 在采集器进程读取 ring buffer 后 | 应用更丰富的逻辑（字符串匹配、CIDR 计算），这些在 BPF 中不可行 |

通过两层过滤的事件会被序列化，然后写入磁盘或发送到摄取端点。

***

## 被过滤的内容

过滤管道移除没有治理或安全价值的事件：

| 类别 | 示例 | 过滤原因 |
| :- | :- | :- |
| **自身事件** | 采集器自身的 I/O | 防止反馈循环 |
| **操作系统维护** | 区域设置加载、共享库打开、procfs 读取 | 高频量，零安全信号 |
| **基础设施噪声** | Kubernetes 节点代理文件读取、systemd 临时单元 | 来自已知系统组件的高频量 |
| **环回流量** | localhost 和链路本地网络连接 | 仅内部，与治理无关（可配置） |

***

## 从不被过滤的内容

某些事件类别无论来源都会绕过所有过滤：

* **所有进程执行**：采集器始终记录执行了什么，即使来自被过滤的进程
* **所有写操作**：对任何路径的文件写入始终具有安全相关性
* **容器生命周期事件**：维护容器身份映射所必需
* **敏感路径访问**：对凭据文件、令牌、密钥和安全相关配置的读取会被保留，即使来自基础设施进程

***

## 过滤行为保证

| 保证 | 详情 |
| :- | :- |
| **写入透传** | 带有写标志的任何文件打开始终通过，写入永远不会按路径被过滤 |
| **执行透传** | 进程执行事件永远不会按进程名被过滤 |
| **纵深防御** | 内核和用户空间过滤器分层；用户空间作为后备重新检查 |
| **无内容检查** | 过滤器操作元数据（路径前缀、进程名、CIDR），从不检查文件或数据包内容 |

***

## 指标与可观测性

采集器跟踪过滤命中率并定期报告：

| 指标 | 描述 |
| :- | :- |
| `events_total` | 从 ring buffer 接收的事件总数 |
| `filtered_self` | 已丢弃：事件来自采集器本身 |
| `filtered_comm` | 已丢弃：进程名匹配基础设施过滤器 |
| `filtered_path` | 已丢弃：路径匹配噪声类别 |
| `filtered_net` | 已丢弃：目标匹配排除的 CIDR |
| `passed` | 通过所有过滤器并被输出的事件 |
| `ringbuf_drops` | 内核无法提交的事件（ring buffer 已满） |

关闭时打印摘要：

```text theme={null}
--- Event Stats ---
Total: 482031, Filtered: 459218 (95.3%), Passed: 22813
```

***

## 配置

| 变量 | 默认值 | 描述 |
| :- | :- | :- |
| `DAG_EXCLUDE_NET_CIDRS` | *(无)* | 以逗号分隔的 CIDR，用于从网络流事件中排除 |
| `DAG_DISABLE_DEFAULT_LOCALHOST_FILTER` | `0` | 设为 `1` 可保留环回与链路本地流量 |

内置噪声过滤器编译在采集器中，不可由用户在运行时配置。它们针对已知的系统路径和生成高频量但无安全信号的基础设施进程。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.