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

教程:配置安全代理

本文介绍 Defender for IoT 安全代理,并详细说明如何对其进行更改和配置。

  • 配置安全代理
  • 通过编辑孪生属性更改代理行为
  • 发现默认配置

代理

Defender for IoT 安全代理从 IoT 设备收集数据,并执行安全措施以缓解检测到的漏洞。 使用一组可自定义的模块孪生属性,可以控制安全代理配置。 通常情况下,很少对这些属性进行次要更新。

Defender for IoT 的安全代理孪生配置对象是 JSON 格式的对象。 配置对象是一组可控制的属性,你可以定义这些属性来控制代理的行为。

这些配置可帮助你针对所需的每个方案自定义代理。 例如,通过配置这些属性,可以自动排除某些事件,或将能耗保持在最低水平。

使用 Defender for IoT 安全代理配置架构进行更改。

配置对象

与每个 Defender for IoT 安全代理相关的属性位于 azureiotsecurity 模块的所需属性部分的代理配置对象中。

若要修改配置,请在 azureiotsecurity 模块孪生标识中创建并修改此对象。

如果 azureiotsecurity 模块孪生中不存在代理配置对象,则所有安全代理属性值均设置为默认值。

"desired": {
  "ms_iotn:urn_azureiot_Security_SecurityAgentConfiguration": {
  }
}

配置架构和验证

确保根据此架构验证代理配置。 如果配置对象与架构不匹配,则代理不会启动。

如果在代理运行时,配置对象变为无效配置(配置与架构不匹配),则代理将忽略无效配置,继续使用当前配置。

配置验证

Defender for IoT 安全代理在 azureiotsecurity 模块孪生标识的报告属性部分中报告其当前配置。 代理将报告所有可用属性,如果用户未设置某个属性,代理将报告默认配置。

若要验证配置,请将所需部分中设置的值与报告部分中报告的值进行比较。

如果所需属性与报告属性不匹配,则代理无法分析配置。

根据架构验证所需属性,修复错误并再次设置所需属性!

注意

如果代理无法分析所需配置,则会从代理触发配置错误警报。 对所需部分和报告部分进行比较,了解该警报是否仍然适用

编辑属性

必须在 azureiotsecurity 模块孪生的代理配置对象中设置所有自定义属性。 若要使用默认属性值,请从配置对象中删除该属性。

设置属性

  1. 在 IoT 中心找到并选择要更改的设备。

  2. 单击设备,然后单击 azureiotsecurity 模块。

  3. 单击“模块标识孪生”。

  4. 在 Defender-IoT-micro-agent 中编辑要更改的属性。

    例如,若要将连接事件配置为高优先级,并每隔 7 分钟收集一次高优先级事件,请使用以下配置。

    "desired": {
        "ms_iotn:urn_azureiot_Security_SecurityAgentConfiguration": {
            "highPriorityMessageFrequency": {
                "value": "PT7M"
            },
            "eventPriorityConnectionCreate": {
                "value": "High"
            }
        }
    }
    
  5. 单击“保存” 。

使用默认值

若要使用默认属性值,请从配置对象中删除该属性。

默认属性

下表包含 Defender for IoT 安全代理的可控制属性。

GitHub 的适当架构中提供了默认值。

名称 状态 有效值 默认值 说明
highPriorityMessageFrequency 必需:false 有效值:ISO 8601 格式的持续时间 默认值:PT7M 发送高优先级消息前的最大时间间隔。
lowPriorityMessageFrequency 必需:false 有效值:ISO 8601 格式的持续时间 默认值:PT5H 发送低优先级消息前的最长时间。
snapshotFrequency 必需:false 有效值:ISO 8601 格式的持续时间 默认值 PT13H 创建设备状态快照的时间间隔。
maxLocalCacheSizeInBytes 必需:false 有效值: 默认值:2560000,大于 8192 代理的消息缓存所允许的最大存储量(以字节为单位)。 发送消息之前,设备上可用于存储消息的最大空间量。
maxMessageSizeInBytes 必需:false 有效值:正数,大于 8192,小于 262144 默认值:204800 代理到云消息的最大允许大小。 此设置控制每个消息中发送的最大数据量。
eventPriority${EventName} 必需:false 有效值:高、低、关 默认值: 代理生成的每个事件的优先级

支持的安全事件

事件名称 PropertyName 默认值 快照事件 详细信息状态
诊断事件 eventPriorityDiagnostic Off False 与代理相关的诊断事件。 使用此事件进行详细日志记录。
配置错误 eventPriorityConfigurationError False 代理无法分析配置。 根据架构验证配置。
已删除事件的统计信息 eventPriorityDroppedEventsStatistics True 与代理相关的事件的统计信息。
连接的硬件 eventPriorityConnectedHardware True 连接到设备的所有硬件的快照。
侦听端口 eventPriorityListeningPorts True 设备上打开的所有侦听端口的快照。
进程创建 eventPriorityProcessCreate False 审核设备上的进程创建。
进程终止 eventPriorityProcessTerminate False 审核设备上的进程终止。
系统信息 eventPrioritySystemInformation True 系统信息(例如:OS 或 CPU)的快照。
本地用户 eventPriorityLocalUsers True 系统中已注册的本地用户的快照。
登录 eventPriorityLogin False 审核设备的登录事件(本地和远程登录)。
连接创建 eventPriorityConnectionCreate False 审核与设备之间建立的 TCP 连接。
防火墙配置 eventPriorityFirewallConfiguration True 设备防火墙配置(防火墙规则)的快照。
OS 基线 eventPriorityOSBaseline True 设备 OS 基线检查的快照。

后续步骤