マイクロ エージェントのイベント コレクション
Defender for IoT セキュリティ エージェントにより、ローカル デバイスからデータとシステム イベントが収集され、処理のためにデータが Azure クラウドに送信されます。
Note
Defender for IoT では、2025 年 8 月 1 日にマイクロ エージェントが廃止される予定です。
Log Analytics ワークスペースを構成して接続した場合は、Log Analytics にこれらのイベントが表示されます。 詳しくは、「チュートリアル: セキュリティ アラートを調査する」を参照してください。
Defender for IoT マクロ エージェントは、新しいプロセスなどのさまざまな種類のデバイス イベントとすべての新しい接続イベントを収集します。 新しいプロセスと新しい接続イベントの両方が、デバイス上で頻繁に発生する可能性があります。 この機能は、包括的なセキュリティを実現するために重要ですが、セキュリティ エージェントが送信するメッセージの数は、IoT Hub のクォータとコストの上限に短期間で達するか、それを超える可能性があります。 これらのメッセージとイベントには、デバイスの保護に不可欠な重要なセキュリティ情報が含まれています。
デバイスのセキュリティを維持しながら、メッセージの数とコストを減らすため、Defender for IoT エージェントにより次の種類のイベントが集計されます。
プロセス イベント (Linux のみ)
ネットワーク アクティビティ イベント
ファイル システム イベント
統計イベント
詳細については、「プロセス コレクターとネットワーク コレクターのイベント集計」を参照してください。
イベント ベースのコレクターは、デバイス内からの対応するアクティビティに基づいてトリガーされるコレクターです。 たとえば、「 a process was started in the device
」のように入力します。
トリガー ベースのコレクターは、顧客の構成に応じて、スケジュールに従ってトリガーされるコレクターです。
プロセス イベント (イベント ベースのコレクター)
プロセス イベントは Linux オペレーティング システムでサポートされています。
プロセス イベントは、"コマンド ライン" と userid が同一である場合は同一であると見なされます。
プロセス イベントの既定のバッファーは 256 プロセスです。 この制限に達すると、バッファーが循環し、最も古いプロセス イベントが破棄されて、最も新しく処理されたイベントのための領域が確保されます。 キャッシュ サイズを増やす際の警告がログに記録されます。
各イベントで収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
Timestamp | プロセスが最初に観察された時刻。 |
process_id | Linux の PID。 |
parent_process_id | Linux の親 PID (存在する場合)。 |
Commandline | コマンド ライン。 |
Type | fork または exec のいずれかです。 |
hit_count | 集計カウント。 同じ概算時間中の、イベントがクラウドに送信されるまでの、同じプロセスの実行数。 |
ネットワーク アクティビティ イベント (イベント ベースのコレクター)
ネットワーク アクティビティ イベントは、ローカル ポート、リモート ポート、トランスポート プロトコル、ローカル アドレス、およびリモート アドレスが同一である場合に同一と見なされます。
ネットワーク アクティビティ イベントの既定のバッファーは 256 です。 キャッシュがいっぱいの場合、次のようになります。
Eclipse ThreadX デバイス: 次の収集サイクルが始まるまで、新しいネットワーク イベントはキャッシュされません。
Linux デバイス: 新しいイベントごとに、最も古いイベントが置き換えられます。 キャッシュ サイズを増やす際の警告がログに記録されます。
Linux デバイスでは、IPv4 のみがサポートされます。
各イベントで収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
ローカル アドレス | 接続のソース アドレス。 |
リモート アドレス | 接続の宛先アドレス。 |
ローカル ポート | 接続のソース ポート。 |
リモート ポート | 接続の宛先ポート。 |
Bytes_in | 接続の集計済み RX バイトの合計。 |
Bytes_out | 接続の集計済み TX バイトの合計。 |
Transport_protocol | TCP、UDP、または ICMP です。 |
アプリケーション プロトコル | 接続に関連付けられたアプリケーション プロトコル。 |
拡張プロパティ | 接続の追加の詳細。 たとえば、「 host name 」のように入力します。 |
ヒット カウント | 観測されたパケット数 |
ログイン コレクター (イベント ベースのコレクター)
ログイン コレクターは、ユーザーのサインイン、サインアウト、失敗したサインイン試行を収集します。
ログイン コレクターは、次の種類の収集方法をサポートします。
UTMP と SYSLOG。 UTMP は、SSH 対話型イベント、telnet イベント、ターミナル ログイン、および失敗したすべてのログイン イベントを SSH、telnet、ターミナルからキャッチします。 デバイス上で SYSLOG が有効になっている場合、ログイン コレクターは、auth.log という名前の SYSLOG ファイルを用いて SSH サインイン イベントも収集します。
Pluggable Authentication Module (プラグ可能な認証モジュール、PAM)。 SSH、telnet、ローカル サインイン イベントを収集します。 詳細については、「Pluggable Authentication Modules (PAM) を構成してサインイン イベントを監査する」を参照してください。
収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
operation | 次のいずれか: Login 、Logout 、LoginFailed |
process_id | Linux の PID。 |
user_name | Linux ユーザー。 |
executable | ターミナル デバイス。 たとえば、tty1..6 または pts/n です。 |
remote_address | 接続元。IPv6 または IPv4 形式のリモート IP アドレス、またはローカル接続を示す 127.0.0.1/0.0.0.0 。 |
システム情報 (トリガー ベースのコレクター)
各イベントで収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
hardware_vendor | デバイスのベンダーの名前。 |
hardware_model | デバイスのモデル番号。 |
os_dist | オペレーティング システムのディストリビューション。 たとえば、「 Linux 」のように入力します。 |
os_version | オペレーティング システムのバージョン。 たとえば、Windows 10 、または Ubuntu 20.04.1 です。 |
os_platform | デバイスの OS。 |
os_arch | OS のアーキテクチャ。 たとえば、「 x86_64 」のように入力します。 |
agent_type | エージェントの種類 (Edge/Standalone)。 |
agent_version | エージェントのバージョン。 |
nics | ネットワーク インターフェイス コントローラー。 プロパティの完全な一覧を以下に示します。 |
nics プロパティは以下のもので構成されます。
パラメーター | 内容 |
---|---|
type | 次のいずれかの値: UNKNOWN 、ETH 、WIFI 、MOBILE 、SATELLITE 。 |
vlans | ネットワーク インターフェイスに関連付けられている仮想 LAN。 |
vendor | ネットワーク コントローラーのベンダー。 |
info | IPS と、ネットワーク コントローラーに関連付けられている MAC。 これには、次のフィールドが含まれます。 - ipv4_address: IPv4 アドレス。 - ipv6_address: IPv6 アドレス。 - mac: MAC アドレス。 |
ベースライン (トリガー ベースのコレクター)
ベースライン コレクターは定期的な CIS チェックを実行し、"失敗"、"合格"、"スキップ" のチェック結果が Defender for IoT クラウド サービスに送信されます。 Defender for IoT は結果を集計し、エラーに基づいて推奨事項を提供します。
各イベントで収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
チェック ID | CIS 形式。 たとえば、「 CIS-debian-9-Filesystem-1.1.2 」のように入力します。 |
チェック結果 | Fail 、Pass 、Skip 、または Error を指定できます。 たとえば、チェックを実行できない状況では Error です。 |
Error | エラーの情報と説明。 |
説明 | CIS からのチェックの説明。 |
修正 | CIS からの修復のための推奨事項。 |
重大度 | 重大度のレベル。 |
SBoM (トリガー ベースのコレクター)
SBoM (ソフトウェア部品表) コレクターは、デバイスにインストールされているパッケージを定期的に収集します。
各パッケージで収集されるデータの内容は次のとおりです。
パラメーター | 内容 |
---|---|
名前 | パッケージの名前です。 |
バージョン | パッケージのバージョンです。 |
ベンダー名 | パッケージのベンダー (deb パッケージの Maintainer フィールド)。 |
周辺機器イベント (イベント ベースのコレクター)
周辺機器イベント コレクターは、USB とイーサネットの接続と切断のイベントを収集します。
収集されるフィールドは、イベントの種類によって異なります。
USB イベント
パラメーター | 説明 |
---|---|
Timestamp | イベントが発生した時刻。 |
ActionType | イベントが接続イベントか切断イベントか。 |
bus_number | 特定のコントローラー識別子。各 USB デバイスが複数持てます。 |
kernel_device_number | デバイスのカーネルでの表現。一意ではなく、デバイスが接続されるたびに可能です。 |
device_class | デバイスのクラスを指定する識別子。 |
device_subclass | デバイスの種類を指定する識別子。 |
device_protocol | デバイス プロトコルを指定する識別子。 |
interface_class | デバイス クラスが 0 の場合は、デバイスの種類を示します。 |
interface_subclass | デバイス クラスが 0 の場合は、デバイスの種類を示します。 |
interface_protocol | デバイス クラスが 0 の場合は、デバイスの種類を示します。 |
イーサネット イベント
パラメーター | 説明 |
---|---|
Timestamp | イベントが発生した時刻。 |
ActionType | イベントが接続イベントか切断イベントか。 |
bus_number | 特定のコントローラー識別子。各 USB デバイスが複数持てます。 |
インターフェイス名 | インターフェイスの名前。 |
ファイル システム イベント (イベント ベースのコレクター)
ファイル システム イベント コレクターは、監視対象ディレクトリに変更がある場合は常にイベントを収集します: ディレクトリとファイルの作成、削除、移動、変更。 監視するディレクトリとファイルの定義については、システム情報コレクター固有の設定に関する記事をご覧ください。
収集されるデータは次のとおりです。
パラメーター | 説明 |
---|---|
Timestamp | イベントが発生した時刻。 |
Mask | ファイル システム イベントに関連する Linux inotify マスク。マスクはアクションの種類を識別し、次のいずれかになります: Access、Modified、Metadata changed、Closed、Opened、Moved、Created、Deleted。 |
パス | イベントが生成されたディレクトリまたはファイル パス。 |
Hitcount | このイベントが集計された回数。 |
統計データ (トリガー ベースのコレクター)
統計コレクターでは、さまざまなマイクロ エージェント コレクターについてのさまざまな統計が生成されます。 これらの統計により、前のコレクション サイクルでのコレクターのパフォーマンスに関する情報が提供されます。 可能性のある統計の例としては、正常に送信されたイベントの数、破棄されたイベントの数、失敗の理由などがあります。
収集されるフィールド:
パラメーター | 説明 |
---|---|
Timestamp | イベントが発生した時刻。 |
名前 | コレクターの名前。 |
イベント | JSON として書式設定された説明とヒット数のペアの配列。 |
説明 | メッセージが送信または削除されたかどうか、および削除の理由。 |
Hitcount | それぞれのメッセージの数。 |
プロセス コレクターとネットワーク コレクターのイベント集計
プロセス イベントとネットワーク アクティビティ イベントのイベント集計のしくみは以下のとおりです。
Defender for IoT エージェントは、Process_MessageFrequency や NetworkActivity_MessageFrequency など、各コレクターのメッセージ頻度構成で定義されている送信間隔中にイベントを集計します。 送信間隔の期間が経過すると、エージェントは、詳細な分析のために、集計されたイベントを Azure クラウドに送信します。 集計されたイベントは、Azure クラウドに送信されるまでメモリに格納されます。
エージェントのメモリ占有領域を減らすために、エージェントは、既にメモリに格納されているのに似たイベントを収集すると、この特定のイベントのヒット カウントを増やします。 集計の時間枠が経過すると、エージェントは、発生したそれぞれの種類のイベントのヒット カウントを送信します。 イベント集計は、類似イベントのヒット カウントの集計です。 たとえば、同じリモート ホストと同じポート上のネットワーク アクティビティは、パケットごとに個別のイベントとしてではなく、1 つのイベントとして集計されます。
注意
既定では、マイクロ エージェントは、トラブルシューティングと監視のためにログとテレメトリをクラウドに送信します。 この動作は、ツインで構成またはオフにすることができます。
次のステップ
詳細については、次を参照してください。
- マイクロ エージェントの構成
- Defender for IoT のセキュリティ アラートについて確認します。