你当前正在访问 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_public.pemcertificate_private.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>
    

清理资源

没有可清理的资源。

后续步骤