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

教程:安装 Defender for IoT 微代理

本教程将帮助你了解如何安装和验证 Defender for IoT 微代理。

本教程介绍如何:

  • 下载并安装微代理
  • 对微代理进行身份验证
  • 验证安装
  • 测试系统
  • 安装特定的微代理版本

注意

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

先决条件

下载并安装微代理

根据设置,需要安装相应的Microsoft包。

若要添加相应的Microsoft包存储库,请执行以下操作

  1. 下载与设备操作系统匹配的存储库配置。

    • 对于 Ubuntu 18.04:

      curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
      
    • 对于 Ubuntu 20.04:

          curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > ./microsoft-prod.list
      
    • 对于 Debian 9 (AMD64 和 ARM64) :

      curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list
      
  2. 使用以下命令将存储库配置复制到 目录 sources.list.d

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  3. 使用以下命令安装 Microsoft GPG 公钥:

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    
  4. 确保已使用以下命令更新了 apt:

    sudo apt-get update
    
  5. 使用以下命令在 Debian 或基于 Ubuntu 的 Linux 分发版上安装 Defender for IoT 微代理包:

    sudo apt-get install defender-iot-micro-agent 
    

通过代理进行连接

此过程介绍如何通过代理将 Defender for IoT 微代理连接到IoT 中心。

若要通过代理配置连接,请执行:

  1. 在微代理计算机上,创建包含以下 /etc/defender_iot_micro_agent/conf.json 内容的文件:

    {
        "IothubModule_ProxyConfig": "<proxy_ipv4>,<port>,<username>,<password>",
        "IothubModule_TransportProtocol": "MQTT_WebSocket_Protocol"
    }
    

    用户和密码字段是可选的。 如果不需要它们,请改用以下语法:

    {
        "IothubModule_ProxyConfig": "<proxy_ipv4>,<port>",
        "IothubModule_TransportProtocol": "MQTT_WebSocket_Protocol"
    }
    
    
  2. 删除 /var/lib/defender_iot_micro_agent/cache.json 处的任何缓存文件。

  3. 重启微代理。 运行:

    sudo systemctl restart defender-iot-micro-agent.service
    

添加 AMQP 协议支持

此过程介绍支持 AMQP 协议所需的其他步骤。

若要添加 AMQP 协议支持,请

  1. 在微代理计算机上,打开 /etc/defender_iot_micro_agent/conf.json 文件并添加以下内容:

    {
    "IothubModule_TransportProtocol": "AMQP_Protocol"
    }
    
  2. 删除 /var/lib/defender_iot_micro_agent/cache.json 处的任何缓存文件。

  3. 重启微代理。 运行:

    sudo systemctl restart defender-iot-micro-agent.service
    

若要添加基于 Web 套接字协议的 AMQP 协议支持,请

  1. 在微代理计算机上,打开 /etc/defender_iot_micro_agent/conf.json 文件并添加以下内容:

    {
    "IothubModule_TransportProtocol": "AMQP_WebSocket_Protocol"
    }
    
  2. 删除 /var/lib/defender_iot_micro_agent/cache.json 处的任何缓存文件。

  3. 重启微代理。 运行:

    sudo systemctl restart defender-iot-micro-agent.service
    

代理将使用此协议,并与端口 443 上的IoT 中心通信。 此协议支持 HTTP 代理配置,如果还配置了代理,则与代理的通信端口将按照代理配置中的定义。

对微代理进行身份验证

有两个选项可用于对 Defender for IoT 微代理进行身份验证:

使用模块标识连接字符串进行身份验证

需要从 DefenderIoTMicroAgent 模块标识详细信息复制模块标识连接字符串。

复制模块标识的连接字符串

  1. 导航到IoT 中心>Your hub>设备管理>设备

    从左侧菜单中选择“IoT 设备”。

  2. 从“设备 ID”列表中选择设备。

  3. 选择“ 模块标识 ”选项卡。

  4. 从与设备关联的模块标识列表中选择 DefenderIotMicroAgent 模块。

    选择模块标识选项卡。

  5. 通过选择“ 复制 ”按钮,将“连接字符串 (主键) 复制。

    选择“复制”按钮,将“连接字符串” (主键) 复制。

  6. 通过输入以下命令,在 Defender for IoT 代理目录/etc/defender_iot_micro_agent路径中创建一个名为 connection_string.txt 的文件,其中包含以 utf-8 编码的复制连接字符串:

    sudo bash -c 'echo "<connection string>" > /etc/defender_iot_micro_agent/connection_string.txt'
    

    connection_string.txt现在将位于以下路径位置 /etc/defender_iot_micro_agent/connection_string.txt中。

    注意

    连接字符串包含一个允许直接访问模块本身的密钥,因此包括只能由根用户使用和可读的敏感信息。

  7. 使用以下命令重启服务:

    sudo systemctl restart defender-iot-micro-agent.service 
    

使用证书进行身份验证

若要使用证书进行身份验证,请执行以下操作

  1. 按照 这些说明购买证书。

  2. 将证书的 PEM 编码公共部分和私钥放在 中/etc/defender_iot_micro_agent,并将其置于 名为 和 certificate_private.pemcertificate_public.pem文件中。

  3. 将适当的连接字符串放入 connection_string.txt 文件中。 连接字符串应如下所示:

    HostName=<the host name of the iot hub>;DeviceId=<the id of the device>;ModuleId=<the id of the module>;x509=true

    此字符串提醒 Defender for IoT 代理需要提供证书进行身份验证。

  4. 使用以下命令重启服务:

    sudo systemctl restart defender-iot-micro-agent.service
    

验证安装

若要验证安装,请

  1. 使用以下命令确保微代理正常运行:

    systemctl status defender-iot-micro-agent.service
    
  2. 通过 active确保服务为 ,并确保服务的运行时间适当,确保服务稳定。

    检查以确保服务稳定且处于活动状态。

测试系统

可以通过在设备上创建触发器文件来测试系统。 触发器文件将导致代理中的基线扫描将文件检测为基线冲突。

  1. 使用以下命令在文件系统上创建文件:

    sudo touch /tmp/DefenderForIoTOSBaselineTrigger.txt
    
  2. 确保 Log Analytics 工作区已附加到 IoT 中心。 有关详细信息,请参阅 创建 Log Analytics 工作区

  3. 使用 命令重启代理:

    sudo systemctl restart defender-iot-micro-agent.service
    

最多等待一小时,建议显示在中心。

将创建名为“IoT_CISBenchmarks_DIoTTest”的基线建议。 可以从 Log Analytics 查询此建议,如下所示:

SecurityRecommendation

| where RecommendationName contains "IoT_CISBenchmarks_DIoTTest"

| where DeviceId contains "<device-id>"

| top 1 by TimeGenerated desc

例如:

Log Analytics 中IoT_CISBenchmarks_DIoTTest查询运行的屏幕截图。

安装特定的微代理版本

可以使用特定命令安装特定版本的微代理。

若要安装特定版本的 Defender for IoT 微代理,请执行以下操作

  1. 打开终端。

  2. 运行以下命令:

    sudo apt-get install defender-iot-micro-agent=<version>
    

清理资源

没有要清理的资源。

后续步骤