チュートリアル: Defender for IoT マイクロ エージェントをインストールする

このチュートリアルは、Defender for IoT マイクロ エージェントをインストールして認証する方法を学習するのに役立ちます。

このチュートリアルで学習する内容は次のとおりです。

  • マイクロ エージェントをダウンロードしてインストールする
  • マイクロ エージェントを認証する
  • インストールを検証する
  • システムをテストする
  • マイクロ エージェントの特定のバージョンをインストールする

前提条件

マイクロ エージェントをダウンロードしてインストールする

セットアップによっては、適切な 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 Hub に接続する方法について説明します。

プロキシ経由での接続を構成するには、次の手順に従います

  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
    

AMQP over Web ソケット プロトコルのサポートを追加するには、次の手順を実行します

  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 Hub と通信します。 このプロトコルでは HTTP プロキシ構成がサポートされています。プロキシも構成されている場合、プロキシとの通信ポートはプロキシ構成で定義されているとおりになります。

マイクロ エージェントを認証する

Defender for IoT マイクロ エージェントの認証に使用できるオプションとして、次の 2 つがあります。

モジュール ID の接続文字列を使用した認証

DefenderIoTMicroAgent モジュール ID の詳細からモジュール ID の接続文字列をコピーする必要があります。

モジュール ID の接続文字列をコピーするには、次のようにします。

  1. [IoT Hub]>Your hub>[デバイス管理]>[デバイス] に移動します。

    左側のメニューから [IoT デバイス] を選択する。

  2. デバイス ID の一覧からデバイスを選択します。

  3. [モジュール ID] タブを選択します。

  4. デバイスに関連付けられているモジュール ID の一覧から DefenderIotMicroAgent モジュールを選択します。

    [モジュール ID] タブを選択する。

  5. [コピー] ボタンを選択して接続文字列 (主キー) をコピーします。

    [コピー] ボタンを選択して接続文字列 (主キー) をコピーする。

  6. 次のコマンドを入力して、コピーした utf-8 エンコードの接続文字列を含む connection_string.txt という名前のファイルを、Defender for IoT エージェント ディレクトリの /etc/defender_iot_micro_agent パスに作成します。

    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.pem および certificate_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 ハブに接続されていることを確認します。 詳細については、「ログ分析ワークスペースを作成する」を参照してください。

  3. 次のコマンドを使用してエージェントを再起動します。

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

ハブに推奨が表示されるまでに最大 1 時間かかります。

"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>
    

リソースをクリーンアップする

クリーンアップするリソースがありません。

次のステップ