You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/defender-for-iot/device-builders/concept-event-aggregation.md
+34-32Lines changed: 34 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,35 @@
1
1
---
2
2
title: Micro agent event collection (Preview)
3
-
description: Defender for IoT security agents collects data and system events from your local device, and sends the data to the Azure cloud for processing, and analytics.
3
+
description: Defender for IoT security agents collect data and system events from your local device, and send the data to the Azure cloud for processing, and analytics.
4
4
ms.date: 04/26/2022
5
5
ms.topic: conceptual
6
6
---
7
7
8
8
# Micro agent event collection (Preview)
9
9
10
-
Defender for IoT security agents collects data, and system events from your local device, and sends the data to the Azure cloud for processing.
10
+
Defender for IoT security agents collect data and system events from your local device, and send the data to the Azure cloud for processing.
11
11
12
12
If you've configured and connected a Log Analytics workspace, you'll see these events in Log Analytics. For more information, see [Tutorial: Investigate security alerts](tutorial-investigate-security-alerts.md).
13
13
14
-
The Defender for IoT micro agent collects many types of device events including new processes, and all new connection events. Both the new process, and new connection events may occur frequently on a device. This capability is important for comprehensive security, however, the number of messages the security agents send may quickly meet, or exceed your IoT Hub quota, and cost limits. These messages, and events contain highly valuable security information that is crucial to protecting your device.
14
+
The Defender for IoT micro agent collects many types of device events including new processes, and all new connection events. Both the new process and new connection events may occur frequently on a device. This capability is important for comprehensive security, however, the number of messages the security agents send may quickly meet, or exceed your IoT Hub quota, and cost limits. These messages and events contain highly valuable security information that is crucial to protecting your device.
15
15
16
-
To reduce the number of messages, and costs while maintaining your device's security, Defender for IoT agents aggregate the following types of events:
16
+
To reduce the number of messages and costs while maintaining your device's security, Defender for IoT agents aggregate the following types of events:
17
17
18
-
-ProcessCreate (Linux only)
18
+
-Process events (Linux only)
19
19
20
-
- Network ConnectionCreate
20
+
- Network Activity events
21
21
22
-
Event-based collectors are collectors that are triggered based on corresponding activity from within the device. For example, ``a process was started in the device``.
23
-
24
-
Triggered based collectors are collectors that are triggered in a scheduled manner based on the customer's configurations.
22
+
For more information, see [event aggregation for process and network collectors](#event-aggregation-for-process-and-network-collectors).
25
23
26
-
## How does event aggregation work?
27
-
28
-
Defender for IoT agents aggregate events for the interval period, or time window. Once the interval period has passed, the agent sends the aggregated events to the Azure cloud for further analysis. The aggregated events are stored in memory until being sent to the Azure cloud.
24
+
Event-based collectors are collectors that are triggered based on corresponding activity from within the device. For example, ``a process was started in the device``.
29
25
30
-
The agent collects identical events to the ones that are already stored in memory. This collection causes the agent to increase the hit count of this specific event to reduce the memory footprint of the agent. When the aggregation time window passes, the agent sends the hit count of each type of event that occurred. Event aggregation is simply the aggregation of the hit counts of each collected type of event.
26
+
Trigger-based collectors are collectors that are triggered in a scheduled manner based on the customer's configurations.
31
27
32
-
## Process events (eventbased)
28
+
## Process events (event-based collector)
33
29
34
30
Process events are supported on Linux operating systems.
35
31
36
-
Process events are considered identical when the *command line*, and *userid* are identical.
32
+
Process events are considered identical when the *command line* and *userid* are identical.
37
33
38
34
The default buffer for process events is 256 processes. When this limit is met, the buffer will cycle, and the oldest process event is discarded in order to make room for the newest processed event. A warning to increase the cache size will be logged.
39
35
@@ -48,11 +44,11 @@ The data collected for each event is:
48
44
|**Type**| Can be either `fork`, or `exec`. |
49
45
|**hit_count**| The aggregate count. The number of executions of the same process, during the same time frame, until the events are sent to the cloud. |
Network Connection events are considered identical when the local port, remote port, transport protocol, local address, and remote address are identical.
49
+
Network activity events are considered identical when the local port, remote port, transport protocol, local address, and remote address are identical.
54
50
55
-
The default buffer for a network connection event is 256. For situations where the cache is full:
51
+
The default buffer for a network activity event is 256. For situations where the cache is full:
56
52
57
53
-**Azure RTOS devices**: No new network events will be cached until the next collection cycle starts.
58
54
@@ -75,10 +71,9 @@ The data collected for each event is:
75
71
|**Extended properties**| The Additional details of the connection. For example, `host name`. |
76
72
|**DNS hit count**| Total hit count of DNS requests |
77
73
78
-
79
74
## Login collector (event-based collector)
80
75
81
-
The Login collector, collects user sign-ins, sign-outs, and failed sign-in attempts.
76
+
The Login collector collects user sign-ins, sign-outs, and failed sign-in attempts.
82
77
83
78
The Login collector supports the following types of collection methods:
84
79
@@ -97,8 +92,7 @@ The following data is collected:
97
92
|**remote_address**| The source of connection, either a remote IP address in IPv6 or IPv4 format, or `127.0.0.1/0.0.0.0` to indicate local connection. |
98
93
|**Login_UsePAM**| Boolean: <br>- **True**: Only the PAM Login collector is used <br>- **False**: The UTMP Login collector is used, with SYSLOG if SYSLOG is enabled |
99
94
100
-
101
-
## System information (trigger based collector)
95
+
## System Information (trigger-based collector)
102
96
103
97
The data collected for each event is:
104
98
@@ -116,17 +110,15 @@ The **nics** properties are composed of the following;
116
110
117
111
| Parameter | Description|
118
112
|--|--|
119
-
|**type**|one of the following values: `UNKNOWN`, `ETH`, `WIFI`, `MOBILE`, or `SATELLITE`. |
113
+
|**type**|One of the following values: `UNKNOWN`, `ETH`, `WIFI`, `MOBILE`, or `SATELLITE`. |
120
114
|**vlans**| The virtual lan associated with the network interface. |
121
115
|**vendor**| The vendor of the network controller. |
122
116
|**info**| IPS, and MACs associated with the network controller. This Includes the following fields; <br> - **ipv4_address**: The IPv4 address. <br> - **ipv6_address**: The IPv6 address. <br> - **mac**: The MAC address.|
123
117
124
-
## Baseline (triggerbased)
118
+
## Baseline (trigger-based collector)
125
119
126
120
The baseline collector performs periodic CIS checks, and *failed*, *pass*, and *skip* check results are sent to the Defender for IoT cloud service. Defender for IoT aggregates the results and provides recommendations based on any failures.
127
121
128
-
### Data collection
129
-
130
122
The data collected for each event is:
131
123
132
124
| Parameter | Description|
@@ -138,22 +130,32 @@ The data collected for each event is:
138
130
|**Remediation**| The recommendation for remediation from CIS. |
139
131
|**Severity**| The severity level. |
140
132
141
-
## SBoM (triggerbased)
133
+
## SBoM (trigger-based collector)
142
134
143
135
The SBoM (Software Bill of Materials) collector collects the packages installed on the device periodically.
144
136
145
137
The data collected on each package includes:
146
138
147
139
|Parameter |Description |
148
140
|---------|---------|
149
-
|**Name**| The package name |
150
-
|**Version**| The package version |
151
-
|**Vendor**| The package's vendor, which is the **Maintainer** field in deb packages |
152
-
141
+
|**Name**| The package name. |
142
+
|**Version**| The package version. |
143
+
|**Vendor**| The package's vendor, which is the **Maintainer** field in deb packages. |
153
144
154
145
> [!NOTE]
155
146
> The SBoM collector currently only collects the first 500 packages ingested.
156
147
148
+
## Event aggregation for Process and Network collectors
149
+
150
+
How event aggregation works for the [Process events](#process-events-event-based-collector) and [Network Activity events](#network-activity-events-event-based-collector):
151
+
152
+
Defender for IoT agents aggregate events during the send interval defined in the message frequency configuration for each collector, such as [**Process_MessageFrequency**](concept-micro-agent-configuration.md#process-collector-specific-settings) or [**NetworkActivity_MessageFrequency**](concept-micro-agent-configuration.md#network-activity-collector-specific-settings). Once the send interval period has passed, the agent sends the aggregated events to the Azure cloud for further analysis. The aggregated events are stored in memory until being sent to the Azure cloud.
153
+
154
+
When the agent collects similar events to the ones that are already stored in memory, the agent will increase the hit count of this specific event to reduce the memory footprint of the agent. When the aggregation time window passes, the agent sends the hit count of each type of event that occurred. Event aggregation is the aggregation of the hit counts of similar events. For example, network activity with the same remote host and on the same port, is aggregated as one event, instead of as a separate event for each packet.
155
+
157
156
## Next steps
158
157
159
-
Check your [Defender for IoT security alerts](concept-security-alerts.md).
Copy file name to clipboardExpand all lines: articles/defender-for-iot/device-builders/concept-micro-agent-configuration.md
+47-27Lines changed: 47 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,9 @@ ms.topic: conceptual
9
9
10
10
This article describes the different types of configurations that the micro agent supports. Customers can configure the micro agent to fit the needs of their devices, and network environments.
11
11
12
-
The micro agent's behavior is configured by a set of module twin properties. You can configure the micro agent to best suit your needs. For example, you can exclude events automatically, minimize power consumption, and reduce network bandwidth.
12
+
The micro agent's behavior is configured by a set of module twin properties. You can configure the micro agent to best suit your needs. For example, you can turn off certain events to minimize power consumption, and reduce other resource usage.
13
13
14
-
After any change in configuration, the collector will immediately send all unsent event data. After the data is sent, the changes will be applied, and all the collectors will restart.
14
+
After any change in configuration, the collector will immediately send all unsent event data. After the data is sent, the changes will be applied, and collectors will be restarted as needed.
15
15
16
16
## General configuration
17
17
@@ -25,7 +25,7 @@ Default values are as follows:
25
25
|**Medium**| 120 (2 hours) |
26
26
|**High**| 30 (.5 hours) |
27
27
28
-
To reduce the number of messages sent to cloud, each priority should be set as a multiple of the one below it. For example, High: 60 minutes, Medium: 120 minutes, Low: 480 minutes.
28
+
To reduce resource consumption on the device, each priority should be set as a multiple of the one below it. For example, High: 60 minutes, Medium: 120 minutes, Low: 480 minutes.
29
29
30
30
The syntax for configuring the frequencies is as follows:
|**Baseline_GroupsDisabled**| A list of Baseline group names, separated by a comma. <br><br>For example: `Time Synchronization, Network Parameters Host`| Defines the full list of Baseline group names that should be disabled. | Null |
43
-
|**Baseline_ChecksDisabled**|A list of Baseline check IDs, separated by a comma. <br><br>For example: `3.3.5,2.2.1.1`| Defines the full list of Baseline check IDs that should be disabled. | Null |
46
+
|**Baseline_Disabled**|`True`/`False`| Disables the Baseline collector. |`False`|
47
+
|**Baseline_MessageFrequency**|`Low`/`Medium`/`High`| Defines the frequency in which to send Baseline events. |`Low`|
48
+
|**Baseline_GroupsDisabled**| A list of Baseline group names, separated by a comma. <br><br>For example: `Time Synchronization, Network Parameters Host`| Defines the full list of Baseline group names that should be disabled. |`Null`|
49
+
|**Baseline_ChecksDisabled**|A list of Baseline check IDs, separated by a comma. <br><br>For example: `3.3.5,2.2.1.1`| Defines the full list of Baseline check IDs that should be disabled. |`Null`|
44
50
51
+
### System Information collector-specific settings
|**IothubModule_MessageTimeout**| Positive integer, including limits | Defines the number of minutes to retain messages in the outbound queue to the IoT Hub, after which point the messages are dropped. |`2880` (=2 days) |
62
-
## Network activity collector-specific settings
69
+
|**Heartbeat_Disabled**|`True`/`False`| Disables sending the Heartbeat event. |`False`|
70
+
|**Heartbeat_MessageFrequency**|`Low`/`Medium`/`High`| Defines the frequency in which to send Heartbeat events. |`Low`|
|**Devices**| A list of the network devices separated by a comma. <br><br>For example `eth0,eth1`| Defines the list of network devices (interfaces) that the agent will use to monitor the traffic. <br><br>If a network device isn't listed, the Network Raw events won't be recorded for the missing device.|`eth0`|
67
-
|||||
68
-
69
-
## Process collector specific-settings
76
+
|**Login_Disabled**|`True`/`False`| Disables the Login collector. |`False`|
77
+
|**Login_MessageFrequency**|`Low`/`Medium`/`High`| Defines the frequency in which to send Login events. |`Medium`|
78
+
|**Login_UsePAM**|`True`/`False`| Use a PAM module to gather login events. Without PAM, the agent uses a combination of reading UTMP and Syslog to gather login events. If the system doesn't have UTMP or Syslog enabled, using PAM is an option, but will require additional configuration to work properly. For more information, see [Configure Pluggable Authentication Modules (PAM) to audit sign-in events](configure-pam-to-audit-sign-in-events.md)|`False`|
|**Process_Mode**|`1` = Auto <br>`2` = Netlink <br>`3`= Polling | Determines the process collector mode. In `Auto` mode, the agent first tries to enable the Netlink mode. <br><br>If that fails, it will automatically fall back / switch to the Polling mode.|`1`|
75
-
|**Process_PollingInterval**|Integer |Defines the polling interval in microseconds. This value is used when the **Process_Mode** is in `Polling` mode. |`100000` (=0.1 second) |
76
-
77
-
## Trigger-based collector configurations
84
+
|**IothubModule_MessageTimeout**| Positive integer, including limits | Defines the number of minutes to retain messages in the outbound queue to the IoT Hub, after which point the messages are dropped. |`2880` (=2 days) |
78
85
79
-
These configurations include system information, and baseline collectors.
|**Interval**|`High` <br>`Medium`<br>`Low`| The frequency in which data is sent. |`Low`|
84
-
|**Disable collector**|`True` <br> `False`| Whether or not the collector is operational. |`False`|
90
+
|**NetworkActivity_Disabled**|`True`/`False`| Disables the Network Activity collector. |`False`|
91
+
|**NetworkActivity_MessageFrequency**|`Low`/`Medium`/`High`| Defines the frequency in which to send Network Activity events. |`Medium`|
92
+
|**NetworkActivity_Devices**| A list of the network devices separated by a comma. <br><br>For example `eth0,eth1`| Defines the list of network devices (interfaces) that the agent will use to monitor the traffic. <br><br>If a network device isn't listed, the network raw events won't be recorded for the missing device.|`eth0`|
93
+
|**NetworkActivity_CacheSize**| Positive integer | The number of Network Activity events (after aggregation) to keep in the cache between send intervals. Beyond that number, older events will be dropped (lost).|`256`|
|**Process_Disabled**|`True`/`False`| Disables the Process collector. |`False`|
100
+
|**Process_MessageFrequency**|`Low`/`Medium`/`High`| Defines the frequency in which to send Process events. |`Medium`|
101
+
|**Process_PollingInterval**| Positive Integer | Defines the polling interval in microseconds. This value is used when the **Process_Mode** is in `Polling` mode. |`100000` (=0.1 second) |
102
+
|**Process_Mode**|`1` = Auto <br>`2` = Netlink <br>`3`= Polling | Determines the Process collector mode. In `Auto` mode, the agent first tries to enable the Netlink mode. <br><br>If that fails, it will automatically fall back / switch to the Polling mode.|`1`|
103
+
|**Process_CacheSize**| Positive integer | The number of Process events (after aggregation) to keep in the cache between send intervals. Beyond that number, older events will be dropped (lost).|`256`|
86
104
87
105
## Next steps
88
106
89
-
For more information, see [Configure a micro agent twin](how-to-configure-micro-agent-twin.md).
107
+
For more information, see:
108
+
-[Configure a micro agent twin](how-to-configure-micro-agent-twin.md).
0 commit comments