你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

微代理事件集合

Defender for IoT 安全代理从本地设备收集数据和系统事件,并将数据发送到 Azure 云进行处理。

注意

Defender for IoT 计划在 2025 年 8 月 1 日停用微代理。

如果已配置并连接 Log Analytics 工作区,则将在 Log Analytics 中看到这些事件。 有关详细信息,请参阅教程:调查安全警报

Defender for IoT 微代理收集许多类型的设备事件,包括新进程和所有新连接事件。 设备上可能会频繁发生新进程和新连接事件。 此功能对于全面的安全性非常重要,但安全代理发送的消息数可能会很快达到或超出 IoT 中心配额和成本限制。 这些消息和事件都包含非常有价值的安全信息,这些信息对于保护设备至关重要。

为了减少消息数量和成本,同时保持设备安全,Defender for IoT 代理将聚合以下类型的事件:

  • 处理事件(仅限 Linux)

  • 网络活动事件

  • 文件系统事件

  • 统计信息事件

有关更多信息,请参阅进程和网络收集器的事件聚合

基于事件的收集器是基于设备内的相应活动触发的收集器。 例如 a process was started in the device

基于触发器的收集器是基于客户的配置以计划方式触发的收集器。

处理事件(基于事件的收集器)

进程事件在 Linux 操作系统上受支持。

命令行和 userid 相同时,处理事件被视为相同。

进程事件的默认缓冲区可容纳 256 个进程。 达到此限制后,缓冲区会进行循环,丢弃最旧的进程事件,为最新处理的事件提供空间。 将记录增加缓存大小的警告。

针对每个事件收集的数据为:

参数 说明
Timestamp 首次观察到此进程的时间。
process_id Linux PID。
parent_process_id Linux 父 PID(如果存在)。
Commandline 命令行。
类型 可以为 forkexec
hit_count 聚合计数。 在事件被发送到云之前,同一进程在同一时间范围内的执行次数。

网络活动事件(基于事件的收集器)

当本地端口、远程端口、传输协议、本地地址和远程地址相同时,各个网络活动事件会被视为同一事件。

网络活动事件的默认缓冲区为 256。 在缓存已满的情况下:

  • Eclipse ThreadX 设备:不会缓存新的网络事件,直到下一个收集周期开始。

  • Linux 设备:最旧的事件会被每个新事件替代。 将记录增加缓存大小的警告。

对于 Linux 设备,仅支持 IPv4。

针对每个事件收集的数据为:

参数 说明
本地地址 连接的源地址。
远程地址 连接的目标地址。
本地端口 连接的源端口。
远程端口 连接的目标端口。
Bytes_in 连接的聚合 RX 字节总数。
Bytes_out 连接的聚合 TX 字节总数。
Transport_protocol 可以是 TCP、UDP 或 ICMP。
应用程序协议 与连接关联的应用程序协议。
扩展属性 连接的其他详细信息。 例如 host name
命中次数 观察到的数据包计数

登录收集器(基于事件的收集器)

登录收集器收集用户登录、注销和失败的登录尝试。

登录收集器支持以下几种类型的收集方法:

  • UTMP 和系统日志。 UTMP 捕获 SSH 交互事件、telnet 事件和终端登录,以及来自 SSH、telnet 和终端的所有失败登录事件。 如果设备上启用了 SYSLOG,登录收集器还会通过名为 auth.log 的 SYSLOG 文件收集 SSH 登录事件。

  • 可插入身份验证模块 (PAM)。 收集 SSH、telnet 和本地登录事件。 有关详细信息,请参阅配置可插入的身份验证模块 (PAM) 以审核登录事件

将收集下列数据:

参数 说明
operation 以下类型之一:LoginLogoutLoginFailed
process_id Linux PID。
user_name Linux 用户。
executable 终端设备。 例如,tty1..6pts/n
remote_address 连接源,可以是 IPv6 或 IPv4 格式的远程 IP 地址,也可以是指示本地连接的 127.0.0.1/0.0.0.0

系统信息(基于触发器的收集器)

针对每个事件收集的数据为:

参数 说明
hardware_vendor 设备供应商的名称。
hardware_model 设备的型号。
os_dist 操作系统的分发版。 例如 Linux
os_version 操作系统的版本。 例如,Windows 10Ubuntu 20.04.1
os_platform 设备的 OS。
os_arch 操作系统的体系结构。 例如 x86_64
agent_type 代理的类型(边缘/独立)。
agent_version 代理的版本。
nics 网络接口控制器。 下面列出了属性的完整列表。

nics 属性由以下各项组成:

参数 说明
type 以下值之一:UNKNOWNETHWIFIMOBILESATELLITE
vlans 与网络接口关联的虚拟局域网。
vendor 网络控制器的供应商。
info IPS 以及与网络控制器关联的 MAC。 包括以下字段:
- ipv4_address:IPv4 地址。
- ipv6_address:IPv6 地址。
- mac:MAC 地址。

基线(基于触发器的收集器)

基线收集器执行定期 CIS 检查,并将失败、通过和跳过检查结果发送到 Defender for IoT 云服务。 Defender for IoT 汇总结果并根据任何失败情况提供建议。

针对每个事件收集的数据为:

参数 说明
检查 ID 采用 CIS 格式。 例如 CIS-debian-9-Filesystem-1.1.2
检查结果 可以是 FailPassSkipError。 例如,无法运行检查时为 Error
错误 错误的信息和说明。
描述 来自 CIS 的检查说明。
修正 来自 CIS 的修正建议。
严重性 严重性级别。

SBoM(基于触发器的收集器)

SBoM(软件物料清单)收集器会定期收集设备上安装的包。

每个包上收集的数据包括:

参数 说明
名称 包名称。
版本 包版本。
供应商 包的供应商,它是 deb 包中“Maintainer”字段。

外设事件(基于事件的收集器)

外设事件收集器收集 USB 的连接和断开连接以及以太网事件。

收集的字段取决于事件的类型:

USB 事件

参数 说明
Timestamp 事件发生的时间。
ActionType 该事件是连接事件还是断开连接事件。
bus_number 具体的控制器标识符,每个USB设备可以有几个。
kernel_device_number 设备内核中的表示形式,不是独一无二的,每次连接设备时都可能变。
device_class 指定设备类的标识符。
device_subclass 标识符,指定设备的类型。
device_protocol 标识符,指定设备协议。
interface_class 如果设备类为 0,则指示设备的类型。
interface_subclass 如果设备类为 0,则指示设备的类型。
interface_protocol 如果设备类为 0,则指示设备的类型。

以太网事件

参数 说明
Timestamp 事件发生的时间。
ActionType 该事件是连接事件还是断开连接事件。
bus_number 具体的控制器标识符,每个USB设备可以有几个。
接口名称 接口名称。

文件系统事件(基于事件的收集器)

每当以下项的监视目录下发生更改时,文件系统事件收集器都会收集事件:目录和文件的创建、删除、移动和修改。 若要定义要监视的目录和文件,请参阅系统信息收集器特定设置

将收集下列数据:

参数 说明
Timestamp 事件发生的时间。
掩码 与文件系统事件相关的 Linux inotify 掩码,掩码会标识操作的类型,可以是以下项之一:访问/已修改/元数据已更改/已关闭/已打开/已移动/已创建/已删除。
路径 已将事件生成到其中的目录/文件路径。
点击次数 此事件的聚合次数。

统计信息数据(基于触发器的收集器)

统计信息收集器生成关于不同微代理收集器的各种统计信息。 这些统计信息提供有关上一收集周期中的收集器性能的信息。 可能的统计信息的示例包括成功发送的事件数、丢弃的事件数以及失败的原因。

收集的字段:

参数 说明
Timestamp 事件发生的时间。
Name 收集器的名称。
事件 一组格式为 JSON 的对,包含说明和命中计数。
说明 消息是否已发送/丢弃以及丢弃的原因。
点击次数 相应消息的数目。

进程和网络收集器的事件聚合

事件聚合如何用于进程事件网络活动事件

Defender for IoT 代理在每个收集器的消息频率配置中定义的发送间隔期间聚合事件,例如 Process_MessageFrequencyNetworkActivity_MessageFrequency。 发送间隔时间段过后,代理会将聚合事件发送到 Azure 云进行进一步分析。 在发送到 Azure 云之前,聚合事件一直存储在内存中。

当代理收集到与已存储在内存中的事件相似的事件时,代理将增加该特定事件的命中计数,以降低代理的内存占用。 聚合时间范围过后,代理会发送已发生的每种事件类型的命中次数。 事件聚合是类似事件的命中计数的聚合。 例如,具有相同远程主机和相同端口的网络活动被聚合为一个事件,而不是每个数据包的单独事件。

注意

默认情况下,微代理将日志和遥测数据发送到云,以进行故障排除和监视。 可通过孪生配置或关闭此行为。

后续步骤

有关详细信息,请参阅: