你当前正在访问 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 | 命令行。 |
类型 | 可以为 fork 或 exec 。 |
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 | 以下类型之一:Login 、Logout 、LoginFailed |
process_id | Linux PID。 |
user_name | Linux 用户。 |
executable | 终端设备。 例如,tty1..6 或 pts/n 。 |
remote_address | 连接源,可以是 IPv6 或 IPv4 格式的远程 IP 地址,也可以是指示本地连接的 127.0.0.1/0.0.0.0 。 |
系统信息(基于触发器的收集器)
针对每个事件收集的数据为:
参数 | 说明 |
---|---|
hardware_vendor | 设备供应商的名称。 |
hardware_model | 设备的型号。 |
os_dist | 操作系统的分发版。 例如 Linux 。 |
os_version | 操作系统的版本。 例如,Windows 10 或 Ubuntu 20.04.1 。 |
os_platform | 设备的 OS。 |
os_arch | 操作系统的体系结构。 例如 x86_64 。 |
agent_type | 代理的类型(边缘/独立)。 |
agent_version | 代理的版本。 |
nics | 网络接口控制器。 下面列出了属性的完整列表。 |
nics 属性由以下各项组成:
参数 | 说明 |
---|---|
type | 以下值之一:UNKNOWN 、ETH 、WIFI 、MOBILE 或 SATELLITE 。 |
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 。 |
检查结果 | 可以是 Fail 、Pass 、Skip 或 Error 。 例如,无法运行检查时为 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_MessageFrequency 或 NetworkActivity_MessageFrequency。 发送间隔时间段过后,代理会将聚合事件发送到 Azure 云进行进一步分析。 在发送到 Azure 云之前,聚合事件一直存储在内存中。
当代理收集到与已存储在内存中的事件相似的事件时,代理将增加该特定事件的命中计数,以降低代理的内存占用。 聚合时间范围过后,代理会发送已发生的每种事件类型的命中次数。 事件聚合是类似事件的命中计数的聚合。 例如,具有相同远程主机和相同端口的网络活动被聚合为一个事件,而不是每个数据包的单独事件。
注意
默认情况下,微代理将日志和遥测数据发送到云,以进行故障排除和监视。 可通过孪生配置或关闭此行为。
后续步骤
有关详细信息,请参阅: