チュートリアル:セキュリティ エージェントを構成する

この記事では、Defender for IoT セキュリティ エージェントと、それらの変更および構成を実行する方法の詳細について説明します。

  • セキュリティ エージェントを構成する
  • ツインのプロパティを編集してエージェントの動作を変更する
  • 既定の構成を検出する

エージェント

Defender for IoT セキュリティ エージェントでは、IoT デバイスからデータが収集され、検出された脆弱性を軽減するためのセキュリティ アクションが実行されます。 セキュリティ エージェント構成は、カスタマイズ可能なモジュール ツイン プロパティのセットを使用して制御することができます。 一般に、これらのプロパティに対する第 2 更新は、めったに起こりません。

Defender for IoT セキュリティ エージェント ツインの構成オブジェクトは、JSON 形式のオブジェクトです。 この構成オブジェクトは制御可能な一連のプロパティで、エージェントの動作を制御するために定義できます。

これらの構成は、エージェントを必要なシナリオごとにカスタマイズするのに役立ちます。 たとえば、これらのプロパティを構成することで、いくつかのイベントを自動的に除外したり、消費電力を最小限のレベルに抑えたりすることができます。

変更を加えるには、Defender for IoT セキュリティ エージェントの構成スキーマを使用します。

構成オブジェクト

Defender for IoT セキュリティ エージェントに関連するプロパティは、azureiotsecurity モジュールの (目的のプロパティ セクション内の) エージェント構成オブジェクトに配置されます。

構成を変更するには、azureiotsecurity モジュール ツイン ID 内でこのオブジェクトを作成して変更します。

azureiotsecurity モジュール ツインにエージェント構成オブジェクトが存在しない場合は、セキュリティ エージェントのすべてのプロパティ値が既定値に設定されます。

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

構成スキーマと検証

必ず、このスキーマに照らしてエージェント構成を検証してください。 構成オブジェクトがスキーマと一致しない場合、エージェントは起動しません。

エージェントの実行中に構成オブジェクトが無効な構成 (スキーマに一致しない構成) に変更された場合、エージェントは無効な構成を無視して、現在の構成を引き続き使用します。

構成の検証

Defender for IoT セキュリティ エージェントでは、azureiotsecurity モジュール ツイン ID の報告されるプロパティ セクションの中に、現在の構成が報告されます。 エージェントは使用可能なすべてのプロパティを報告します。プロパティがユーザーによって設定されていない場合、エージェントは既定の構成を報告します。

構成を検証するには、目的のセクションに設定されている値と、報告されたセクションで報告された値を比較します。

目的のプロパティと報告されたプロパティが一致しない場合、エージェントは構成を解析できませんでした。

スキーマに対して目的のプロパティを検証し、エラーを修正して、必要なプロパティを再度設定します。

Note

エージェントが目的の構成を解析できなかった場合に、エージェントから構成エラーアラートが発生します。 報告されたセクションと目的のセクションを比較して、アラートがまだ適用されているかどうかを理解します

プロパティの編集

すべてのカスタム プロパティは、azureiotsecurity モジュール ツイン内のエージェント構成オブジェクト内に設定する必要があります。 既定のプロパティ値を使用するには、構成オブジェクトからプロパティを削除します。

プロパティの設定

  1. IoT Hub で、変更するデバイスを見つけて選択します。

  2. デバイスをクリックし、次に [azureiotsecurity] をクリックします。

  3. [モジュール ID ツイン] をクリックします。

  4. Defender-IoT-micro-agent で変更するプロパティを編集します。

    たとえば、接続イベントを優先度が高いイベントとして構成し、7 分おきに優先度が高いイベントを収集するには、次の構成を使用します。

    "desired": {
        "ms_iotn:urn_azureiot_Security_SecurityAgentConfiguration": {
            "highPriorityMessageFrequency": {
                "value": "PT7M"
            },
            "eventPriorityConnectionCreate": {
                "value": "High"
            }
        }
    }
    
  5. [保存] をクリックします。

既定値の使用

既定のプロパティ値を使用するには、構成オブジェクトからプロパティを削除します。

既定のプロパティ

次の表には、Defender for IoT セキュリティ エージェントの制御可能なプロパティが含まれています。

既定値は、GitHub の適切なスキーマにあります。

名前 Status 有効な値 既定値 説明
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 有効な値: High、Low、Off 既定値: エージェントが生成した各イベントの優先順位

サポートされるセキュリティ イベント

イベント名 PropertyName Default value スナップショット イベント 詳細の状態
診断イベント 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 ベースライン チェックのスナップショット。

次のステップ