From 6a37dda337ae34ad0a2b793314cabefbd6871512 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Thu, 25 Sep 2025 16:42:53 -0400 Subject: [PATCH 1/8] Device Control --- solutions/security/manage-elastic-defend/device-control.md | 0 solutions/toc.yml | 1 + 2 files changed, 1 insertion(+) create mode 100644 solutions/security/manage-elastic-defend/device-control.md diff --git a/solutions/security/manage-elastic-defend/device-control.md b/solutions/security/manage-elastic-defend/device-control.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/solutions/toc.yml b/solutions/toc.yml index 7c3c9ad6af..de4e4e57d5 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -620,6 +620,7 @@ toc: - file: security/manage-elastic-defend/endpoints.md - file: security/manage-elastic-defend/policies.md - file: security/manage-elastic-defend/trusted-applications.md + - file: security/manage-elastic-defend/trusted-devices.md - file: security/manage-elastic-defend/event-filters.md - file: security/manage-elastic-defend/host-isolation-exceptions.md - file: security/manage-elastic-defend/blocklist.md From 5e2b64ec8267c31d083fec8e1ce5ddd5f6fef9c5 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Fri, 26 Sep 2025 09:39:30 -0400 Subject: [PATCH 2/8] Update device-control.md --- .../manage-elastic-defend/device-control.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/solutions/security/manage-elastic-defend/device-control.md b/solutions/security/manage-elastic-defend/device-control.md index e69de29bb2..a317aedd5e 100644 --- a/solutions/security/manage-elastic-defend/device-control.md +++ b/solutions/security/manage-elastic-defend/device-control.md @@ -0,0 +1,38 @@ +--- +applies_to: + stack: ga 9.2 + serverless: + security: all +products: + - id: security + - id: cloud-serverless +--- + +# Device control + +Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external storage devices—such as USB drives and hard drives—can connect to endpoints that have {{elastic-defend}} installed. You can select which + + +## Configure Device Control for your hosts using {{elastic-defend}} + +To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. + +:::{note} +By default, new {{elastic-defend}} policies have Device Control enabled, with all device types set to **Block**. {{elastic-defend}} policies that existed before Device Control was supported have Device Control disabled by default. +::: + + +## Add Trusted Devices to specify which devices are exempt from Device Control + +Trusted Devices are specific external devices that can connect to your protected hosts regardless of Device Control settings. Use Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. + +Add a Trusted Device to a single policy: + +1. Navigate to the {{elastic-defend}} policy for which you want to create a Trusted Device. +2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. +3. + +Add a Trusted Device globally: + +1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +2. Click **+ Add trusted device**. The Add trusted application flyout opens. From 102ec23c01b7c73cf45f78c483679f078c9266c8 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Fri, 26 Sep 2025 12:44:56 -0400 Subject: [PATCH 3/8] updates --- .../manage-elastic-defend/device-control.md | 31 ++++++++++++------- solutions/toc.yml | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/solutions/security/manage-elastic-defend/device-control.md b/solutions/security/manage-elastic-defend/device-control.md index a317aedd5e..64093547e0 100644 --- a/solutions/security/manage-elastic-defend/device-control.md +++ b/solutions/security/manage-elastic-defend/device-control.md @@ -10,29 +10,36 @@ products: # Device control -Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external storage devices—such as USB drives and hard drives—can connect to endpoints that have {{elastic-defend}} installed. You can select which +Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external USB storage devices can connect to endpoints that have {{elastic-defend}} installed. You can also create Trusted Devices to define exceptions to your policy for specific devices. ## Configure Device Control for your hosts using {{elastic-defend}} -To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. +To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. Your policy specifies which operations (read, write, or execute) these devices are allowed to take on a host. -:::{note} -By default, new {{elastic-defend}} policies have Device Control enabled, with all device types set to **Block**. {{elastic-defend}} policies that existed before Device Control was supported have Device Control disabled by default. -::: +By default, new {{elastic-defend}} policies have Device Control enabled, with all operations set to **Block**. {{elastic-defend}} policies that existed before Device Control was supported have Device Control disabled by default. ## Add Trusted Devices to specify which devices are exempt from Device Control -Trusted Devices are specific external devices that can connect to your protected hosts regardless of Device Control settings. Use Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. +Trusted Devices are specific external devices that are allowed to connect to your protected hosts regardless of Device Control settings. Use Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. -Add a Trusted Device to a single policy: +### Create a new Trusted Device -1. Navigate to the {{elastic-defend}} policy for which you want to create a Trusted Device. +1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +2. Click **+ Add trusted device**. The Add trusted device flyout opens. +3. Name your trusted device and give it a description. +4. In the **Conditions** section, specify the operating system and the `Device ID`. +5. Select either **Global** or **Per policy**. +6. Click **Add trusted device**. + +### Add a Trusted Device to a policy + +1. Navigate to the {{elastic-defend}} policy to which you want to add a Trusted Device. 2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. -3. +3. Next, select one or more existing trusted devices, then click **+ Assign trusted devices to policy**. -Add a Trusted Device globally: -1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). -2. Click **+ Add trusted device**. The Add trusted application flyout opens. +## View the Device Control dashboard + +By default, your {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. \ No newline at end of file diff --git a/solutions/toc.yml b/solutions/toc.yml index de4e4e57d5..5a05f305ac 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -620,7 +620,7 @@ toc: - file: security/manage-elastic-defend/endpoints.md - file: security/manage-elastic-defend/policies.md - file: security/manage-elastic-defend/trusted-applications.md - - file: security/manage-elastic-defend/trusted-devices.md + - file: security/manage-elastic-defend/device-control.md - file: security/manage-elastic-defend/event-filters.md - file: security/manage-elastic-defend/host-isolation-exceptions.md - file: security/manage-elastic-defend/blocklist.md From e17109397e6c6f7c64cd76e18ec04fc1a634046e Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Mon, 13 Oct 2025 14:06:31 -0700 Subject: [PATCH 4/8] Incorporates feedback --- .../security-defend-policy-device-control.png | Bin 0 -> 34254 bytes ...n-integration-policy-for-elastic-defend.md | 19 +++++++- .../manage-elastic-defend/device-control.md | 45 ------------------ .../manage-elastic-defend/trusted-devices.md | 35 ++++++++++++++ solutions/toc.yml | 2 +- 5 files changed, 54 insertions(+), 47 deletions(-) create mode 100644 solutions/images/security-defend-policy-device-control.png delete mode 100644 solutions/security/manage-elastic-defend/device-control.md create mode 100644 solutions/security/manage-elastic-defend/trusted-devices.md diff --git a/solutions/images/security-defend-policy-device-control.png b/solutions/images/security-defend-policy-device-control.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb5a4e7497fc7add9ec29f89368baeea25caecf GIT binary patch literal 34254 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 X$h&ae6D%aJ0e=e5Rb-2vnFjtZdf;VC literal 0 HcmV?d00001 diff --git a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md index 81e5fa4601..e069536410 100644 --- a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md +++ b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md @@ -40,12 +40,13 @@ To configure an integration policy: * [Memory threat protection](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#memory-protection) * [Malicious behavior protection](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#behavior-protection) * [Attack surface reduction](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#attack-surface-reduction) + * [Device control](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#device-control) * [Event collection](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#event-collection) * [Register {{elastic-sec}} as antivirus (optional)](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#register-as-antivirus) * [Advanced policy settings (optional)](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#adv-policy-settings) * [Save the general policy settings](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#save-policy) -4. Click the **Trusted applications**, **Event filters**, **Host isolation exceptions**, and **Blocklist** tabs to review the endpoint policy artifacts assigned to this integration policy (for more information, refer to [Trusted applications](/solutions/security/manage-elastic-defend/trusted-applications.md), [Event filters](/solutions/security/manage-elastic-defend/event-filters.md), [Host isolation exceptions](/solutions/security/manage-elastic-defend/host-isolation-exceptions.md), and [Blocklist](/solutions/security/manage-elastic-defend/blocklist.md)). On these tabs, you can: +4. Click the **Trusted applications**, **Trusted devices**, **Event filters**, **Host isolation exceptions**, and **Blocklist** tabs to review the endpoint policy artifacts assigned to this integration policy (for more information, refer to [Trusted applications](/solutions/security/manage-elastic-defend/trusted-applications.md), [Event filters](/solutions/security/manage-elastic-defend/event-filters.md), [Host isolation exceptions](/solutions/security/manage-elastic-defend/host-isolation-exceptions.md), and [Blocklist](/solutions/security/manage-elastic-defend/blocklist.md)). On these tabs, you can: * Expand and view an artifact: Click the arrow next to its name. * View an artifact’s details: Click the actions menu (**…**), then select **View full details**. @@ -230,6 +231,22 @@ In {{serverless-short}}, attack surface reduction requires the Endpoint Protecti :screenshot: ::: +## Device control [device-control] + +```yaml {applies_to} +stack: ga 9.2 +serverless: ga +``` + +Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external USB storage devices can connect to endpoints that have {{elastic-defend}} installed. + +To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. Your policy specifies which operations these devices are allowed to take on a host. You can create [Trusted Devices](/solutions/security/manage-elastic-defend/trusted-devices.md) to define exceptions to your policy for specific devices. + + +:::{image} /solutions/images/security-defend-policy-device-control.png +:alt: Detail of device control section. +:screenshot: +::: ## Event collection [event-collection] diff --git a/solutions/security/manage-elastic-defend/device-control.md b/solutions/security/manage-elastic-defend/device-control.md deleted file mode 100644 index 64093547e0..0000000000 --- a/solutions/security/manage-elastic-defend/device-control.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -applies_to: - stack: ga 9.2 - serverless: - security: all -products: - - id: security - - id: cloud-serverless ---- - -# Device control - -Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external USB storage devices can connect to endpoints that have {{elastic-defend}} installed. You can also create Trusted Devices to define exceptions to your policy for specific devices. - - -## Configure Device Control for your hosts using {{elastic-defend}} - -To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. Your policy specifies which operations (read, write, or execute) these devices are allowed to take on a host. - -By default, new {{elastic-defend}} policies have Device Control enabled, with all operations set to **Block**. {{elastic-defend}} policies that existed before Device Control was supported have Device Control disabled by default. - - -## Add Trusted Devices to specify which devices are exempt from Device Control - -Trusted Devices are specific external devices that are allowed to connect to your protected hosts regardless of Device Control settings. Use Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. - -### Create a new Trusted Device - -1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). -2. Click **+ Add trusted device**. The Add trusted device flyout opens. -3. Name your trusted device and give it a description. -4. In the **Conditions** section, specify the operating system and the `Device ID`. -5. Select either **Global** or **Per policy**. -6. Click **Add trusted device**. - -### Add a Trusted Device to a policy - -1. Navigate to the {{elastic-defend}} policy to which you want to add a Trusted Device. -2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. -3. Next, select one or more existing trusted devices, then click **+ Assign trusted devices to policy**. - - -## View the Device Control dashboard - -By default, your {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. \ No newline at end of file diff --git a/solutions/security/manage-elastic-defend/trusted-devices.md b/solutions/security/manage-elastic-defend/trusted-devices.md new file mode 100644 index 0000000000..e820889d58 --- /dev/null +++ b/solutions/security/manage-elastic-defend/trusted-devices.md @@ -0,0 +1,35 @@ +--- +applies_to: + stack: ga 9.2 + serverless: + security: all +products: + - id: security + - id: cloud-serverless +--- + +# Trusted devices + +By default, new {{elastic-defend}} policies have Device Control enabled, with all operations set to **Block**. This prevents external storage devices from connecting to protected hosts. + +Trusted Devices are specific external devices that are allowed to connect to your protected hosts regardless of Device Control settings. Create Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. + +## Add Trusted Devices to exempt them from Device Control + +1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). +2. Click **+ Add trusted device**. The Add trusted device flyout opens. +3. Name your trusted device and give it a description. +4. In the **Conditions** section, specify the operating system and the `Device ID`. +5. Select either **Global** or **Per policy**. +6. Click **Add trusted device**. + +## Add a Trusted Device to a policy + +1. Navigate to the {{elastic-defend}} policy to which you want to add a Trusted Device. +2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. +3. Next, select one or more existing trusted devices, then click **+ Assign trusted devices to policy**. + + +## View the Device Control dashboard + +By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. \ No newline at end of file diff --git a/solutions/toc.yml b/solutions/toc.yml index 5a05f305ac..de4e4e57d5 100644 --- a/solutions/toc.yml +++ b/solutions/toc.yml @@ -620,7 +620,7 @@ toc: - file: security/manage-elastic-defend/endpoints.md - file: security/manage-elastic-defend/policies.md - file: security/manage-elastic-defend/trusted-applications.md - - file: security/manage-elastic-defend/device-control.md + - file: security/manage-elastic-defend/trusted-devices.md - file: security/manage-elastic-defend/event-filters.md - file: security/manage-elastic-defend/host-isolation-exceptions.md - file: security/manage-elastic-defend/blocklist.md From e3846e5c8f45b9bcf4373be3f37ff96d98370f8d Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Mon, 13 Oct 2025 14:32:28 -0700 Subject: [PATCH 5/8] additional edits --- .../configure-an-integration-policy-for-elastic-defend.md | 2 ++ solutions/security/manage-elastic-defend/trusted-devices.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md index e069536410..6b11c32f4b 100644 --- a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md +++ b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md @@ -248,6 +248,8 @@ To configure Device Control for one or more hosts, edit the {{elastic-defend}} p :screenshot: ::: +By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. To access it and review information about blocked connections, search for `device control` in the **Dashboards** page's Custom Dashboards section. + ## Event collection [event-collection] In the **Settings** section, select which categories of events to collect on each operating system. Most categories are collected by default. diff --git a/solutions/security/manage-elastic-defend/trusted-devices.md b/solutions/security/manage-elastic-defend/trusted-devices.md index e820889d58..d4831cad37 100644 --- a/solutions/security/manage-elastic-defend/trusted-devices.md +++ b/solutions/security/manage-elastic-defend/trusted-devices.md @@ -32,4 +32,4 @@ Trusted Devices are specific external devices that are allowed to connect to you ## View the Device Control dashboard -By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. \ No newline at end of file +By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. To access it and review information about blocked connections, search for `device control` in the **Dashboards** page's Custom Dashboards section. \ No newline at end of file From 6ce36d2ba788618bffb0f95a482eb02b51bbad9f Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein <91905639+benironside@users.noreply.github.com> Date: Tue, 14 Oct 2025 11:22:11 -0700 Subject: [PATCH 6/8] Apply suggestions from code review Co-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> --- ...n-integration-policy-for-elastic-defend.md | 8 ++++---- .../manage-elastic-defend/trusted-devices.md | 20 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md index 08fc2da553..497e701d0f 100644 --- a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md +++ b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md @@ -46,7 +46,7 @@ To configure an integration policy: * [Advanced policy settings (optional)](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#adv-policy-settings) * [Save the general policy settings](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#save-policy) -4. Click the **Trusted applications**, **Trusted devices**, **Event filters**, **Host isolation exceptions**, and **Blocklist** tabs to review the endpoint policy artifacts assigned to this integration policy (for more information, refer to [Trusted applications](/solutions/security/manage-elastic-defend/trusted-applications.md), [Event filters](/solutions/security/manage-elastic-defend/event-filters.md), [Host isolation exceptions](/solutions/security/manage-elastic-defend/host-isolation-exceptions.md), and [Blocklist](/solutions/security/manage-elastic-defend/blocklist.md)). On these tabs, you can: +4. Click the **Trusted applications**, **Trusted devices**, **Event filters**, **Host isolation exceptions**, and **Blocklist** tabs to review the endpoint policy artifacts assigned to this integration policy (for more information, refer to [Trusted applications](/solutions/security/manage-elastic-defend/trusted-applications.md), [Trusted devices](/solutions/security/manage-elastic-defend/trusted-devices.md), [Event filters](/solutions/security/manage-elastic-defend/event-filters.md), [Host isolation exceptions](/solutions/security/manage-elastic-defend/host-isolation-exceptions.md), and [Blocklist](/solutions/security/manage-elastic-defend/blocklist.md)). On these tabs, you can: * Expand and view an artifact: Click the arrow next to its name. * View an artifact’s details: Click the actions menu (**…**), then select **View full details**. @@ -238,9 +238,9 @@ stack: ga 9.2 serverless: ga ``` -Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external USB storage devices can connect to endpoints that have {{elastic-defend}} installed. +Device control helps protect your organization from data loss, malware, and unauthorized access by managing which devices can connect to your computers. Specifically, it restricts which external USB storage devices can connect to hosts that have {{elastic-defend}} installed. -To configure Device Control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. Your policy specifies which operations these devices are allowed to take on a host. You can create [Trusted Devices](/solutions/security/manage-elastic-defend/trusted-devices.md) to define exceptions to your policy for specific devices. +To configure device control for one or more hosts, edit the {{elastic-defend}} policy that affects those hosts. Your policy specifies which operations these devices are allowed to take on a host. You can create [trusted devices](/solutions/security/manage-elastic-defend/trusted-devices.md) to define exceptions to your policy for specific devices. :::{image} /solutions/images/security-defend-policy-device-control.png @@ -248,7 +248,7 @@ To configure Device Control for one or more hosts, edit the {{elastic-defend}} p :screenshot: ::: -By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. To access it and review information about blocked connections, search for `device control` in the **Dashboards** page's Custom Dashboards section. +By default, each {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has device control enabled, the dashboard displays data about attempted device connections and their outcomes. To access it and review information about blocked connections, search for `device control` in the **Dashboards** page's **Custom Dashboards** section. ## Event collection [event-collection] diff --git a/solutions/security/manage-elastic-defend/trusted-devices.md b/solutions/security/manage-elastic-defend/trusted-devices.md index d4831cad37..b9cb26c19b 100644 --- a/solutions/security/manage-elastic-defend/trusted-devices.md +++ b/solutions/security/manage-elastic-defend/trusted-devices.md @@ -2,7 +2,7 @@ applies_to: stack: ga 9.2 serverless: - security: all + security: ga products: - id: security - id: cloud-serverless @@ -10,17 +10,23 @@ products: # Trusted devices -By default, new {{elastic-defend}} policies have Device Control enabled, with all operations set to **Block**. This prevents external storage devices from connecting to protected hosts. +By default, {{elastic-defend}} policies have [device control](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#device-control) enabled, with access level set to block all operations. This prevents external storage devices from connecting to protected hosts. -Trusted Devices are specific external devices that are allowed to connect to your protected hosts regardless of Device Control settings. Create Trusted Devices to avoid interfering with expected workflows that involve known hardware. Trusted Devices can apply to a specific policy, or globally to all policies. +Trusted devices are specific external devices that are allowed to connect to your protected hosts regardless of device control settings. Create trusted devices to avoid interfering with expected workflows that involve known hardware. -## Add Trusted Devices to exempt them from Device Control +By default, a trusted device is recognized globally across all hosts running {{elastic-defend}}. You can also assign a trusted device to a specific {{elastic-defend}} integration policy, enabling the device to be trusted by only the hosts assigned to that policy. + +## Add a trusted device + +Add a trusted device to exempt it from device control: 1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 2. Click **+ Add trusted device**. The Add trusted device flyout opens. 3. Name your trusted device and give it a description. 4. In the **Conditions** section, specify the operating system and the `Device ID`. -5. Select either **Global** or **Per policy**. +5. Select an option in the **Assignment** section: + * **Global**: Assign the trusted device to all {{elastic-defend}} integration policies. + * **Per Policy**: Assign the trusted device to one or more specific {{elastic-defend}} integration policies. 6. Click **Add trusted device**. ## Add a Trusted Device to a policy @@ -29,7 +35,3 @@ Trusted Devices are specific external devices that are allowed to connect to you 2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. 3. Next, select one or more existing trusted devices, then click **+ Assign trusted devices to policy**. - -## View the Device Control dashboard - -By default, each new {{kib}} instance includes a Device Control dashboard. When at least one of your {{elastic-defend}} policies has Device Control enabled, the dashboard displays data about attempted device connections and their outcomes. To access it and review information about blocked connections, search for `device control` in the **Dashboards** page's Custom Dashboards section. \ No newline at end of file From 62d05be87cb938a34401b33e5c97aa7996f52295 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein Date: Sat, 18 Oct 2025 13:59:38 -0700 Subject: [PATCH 7/8] incorporates Nat's review --- .../images/security-trusted-devices-list.png | Bin 0 -> 78190 bytes ...n-integration-policy-for-elastic-defend.md | 2 +- .../elastic-defend-feature-privileges.md | 1 + .../trusted-applications.md | 2 +- .../manage-elastic-defend/trusted-devices.md | 35 +++++++++++++++--- 5 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 solutions/images/security-trusted-devices-list.png diff --git a/solutions/images/security-trusted-devices-list.png b/solutions/images/security-trusted-devices-list.png new file mode 100644 index 0000000000000000000000000000000000000000..7c69261ad2b8bb97c755933c03c1fe941cdc2e15 GIT binary patch literal 78190 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 V$S(_(J{)5_20F&trJDAke*nSRi8}xQ literal 0 HcmV?d00001 diff --git a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md index 497e701d0f..9bcfd56d11 100644 --- a/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md +++ b/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md @@ -13,7 +13,7 @@ products: # Configure an integration policy for {{elastic-defend}} -After the {{agent}} is installed with the {{elastic-defend}} integration, several protections features — including preventions against malware, ransomware, memory threats, and malicious behavior — are automatically enabled on protected hosts. If needed, you can update the integration policy to configure protection settings, event collection, antivirus settings, trusted applications, event filters, host isolation exceptions, and blocked applications to meet your organization’s security needs. +After the {{agent}} is installed with the {{elastic-defend}} integration, several protections features — including preventions against malware, ransomware, memory threats, and malicious behavior — are automatically enabled on protected hosts. If needed, you can update the integration policy to configure protection settings, event collection, antivirus settings, trusted applications, trusted devices, event filters, host isolation exceptions, and blocked applications to meet your organization’s security needs. You can also create multiple {{elastic-defend}} integration policies to maintain unique configuration profiles. To create an additional {{elastic-defend}} integration policy, find **Integrations** in the navigation menu or by using the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md), then follow the steps for [adding the {{elastic-defend}} integration](/solutions/security/configure-elastic-defend/install-elastic-defend.md#add-security-integration). diff --git a/solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md b/solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md index 36133e813c..60c56d0162 100644 --- a/solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md +++ b/solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md @@ -41,6 +41,7 @@ For each of the following sub-feature privileges, select the type of access you | **Automatic Troubleshooting** |Access [Automatic Troubleshooting](/solutions/security/manage-elastic-defend/automatic-troubleshooting.md) to check if your hosts have third-party AV software installed.

**Note:** In {{stack}} 9.0.0, this privilege is called **Endpoint Insights**. | | **Global Artifact Management** {applies_to}`stack: ga 9.1` | Manage global assignment of endpoint artifacts (e.g., trusted applications, event filters) across all spaces and policies. This privilege controls global assignment rights only; privileges for each artifact type are required for full artifact management. | | **Trusted Applications** | Access the [Trusted applications](/solutions/security/manage-elastic-defend/trusted-applications.md) page to remediate conflicts with other software, such as antivirus or endpoint security applications. | +| **Trusted Devices** {applies_to}`stack: ga 9.2` {applies_to}`serverless: ga`| Access the [Trusted devices](/solutions/security/manage-elastic-defend/trusted-devices.md) page to specify which trusted devices can connect to hosts with [Device Control](/solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md#device-control) enabled. | **Host Isolation Exceptions** | Access the [Host isolation exceptions](/solutions/security/manage-elastic-defend/host-isolation-exceptions.md) page to add specific IP addresses that isolated hosts can still communicate with. | | **Blocklist** | Access the [Blocklist](/solutions/security/manage-elastic-defend/blocklist.md) page to prevent specified applications from running on hosts, extending the list of processes that {{elastic-defend}} considers malicious. | | **Event Filters** | Access the [Event Filters](/solutions/security/manage-elastic-defend/event-filters.md) page to filter out endpoint events that you don’t want stored in {{es}}. | diff --git a/solutions/security/manage-elastic-defend/trusted-applications.md b/solutions/security/manage-elastic-defend/trusted-applications.md index 6eda15959b..4d9a39043f 100644 --- a/solutions/security/manage-elastic-defend/trusted-applications.md +++ b/solutions/security/manage-elastic-defend/trusted-applications.md @@ -145,4 +145,4 @@ You can delete a trusted application, which removes it entirely from all {{elast To delete a trusted application: 1. Click the actions menu (**…**) on the trusted application you want to delete, then select **Delete trusted application**. -2. On the dialog that opens, verify that you are removing the correct application, then click **Delete**. A confirmation message is displayed. +2. On the dialog that opens, verify that you are removing the correct application, then click **Delete**. A confirmation message appears. diff --git a/solutions/security/manage-elastic-defend/trusted-devices.md b/solutions/security/manage-elastic-defend/trusted-devices.md index b9cb26c19b..ae60256ffc 100644 --- a/solutions/security/manage-elastic-defend/trusted-devices.md +++ b/solutions/security/manage-elastic-defend/trusted-devices.md @@ -23,15 +23,40 @@ Add a trusted device to exempt it from device control: 1. Go to the **Trusted Devices** page using the navigation menu or the [global search field](/explore-analyze/find-and-organize/find-apps-and-objects.md). 2. Click **+ Add trusted device**. The Add trusted device flyout opens. 3. Name your trusted device and give it a description. -4. In the **Conditions** section, specify the operating system and the `Device ID`. +4. In the **Conditions** section, specify the operating system(s) and the `Device ID`. 5. Select an option in the **Assignment** section: * **Global**: Assign the trusted device to all {{elastic-defend}} integration policies. * **Per Policy**: Assign the trusted device to one or more specific {{elastic-defend}} integration policies. 6. Click **Add trusted device**. -## Add a Trusted Device to a policy +## View and manage trusted devices -1. Navigate to the {{elastic-defend}} policy to which you want to add a Trusted Device. -2. Go to the **Trusted Devices** tab, and click **Assign trusted devices to policy**. -3. Next, select one or more existing trusted devices, then click **+ Assign trusted devices to policy**. +## View and manage trusted devices +The **Trusted devices** page displays all the trusted devices that have been added to the {{security-app}}. To refine the list, use the search bar to search by name, description, or field value. + +:::{image} /solutions/images/security-trusted-devices-list.png +:alt: trusted apps list +:screenshot: +::: + + +### Edit a trusted application [edit-trusted-app] + +You can individually modify each trusted application. You can also change the policies that a trusted application is assigned to. + +To edit a trusted application: + +1. Click the actions menu (**…**) on the trusted application you want to edit, then select **Edit trusted device**. +2. Modify details as needed. +3. Click **Save**. + + +### Delete a trusted device + +You can delete a trusted device, which removes it entirely from all {{elastic-defend}} integration policies. + +To delete a trusted device: + +1. Click the actions menu (**…**) on the trusted device you want to delete, then select **Delete trusted device**. +2. On the dialog that opens, verify that you are removing the correct device, then click **Delete**. A confirmation message appears. From 59ea0b4e2dbbf96ee0ce007bec381cd8716423f7 Mon Sep 17 00:00:00 2001 From: Benjamin Ironside Goldstein <91905639+benironside@users.noreply.github.com> Date: Mon, 20 Oct 2025 13:12:44 -0700 Subject: [PATCH 8/8] Apply suggestions from code review Co-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> --- .../security/manage-elastic-defend/trusted-devices.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/solutions/security/manage-elastic-defend/trusted-devices.md b/solutions/security/manage-elastic-defend/trusted-devices.md index ae60256ffc..671259f635 100644 --- a/solutions/security/manage-elastic-defend/trusted-devices.md +++ b/solutions/security/manage-elastic-defend/trusted-devices.md @@ -31,8 +31,6 @@ Add a trusted device to exempt it from device control: ## View and manage trusted devices -## View and manage trusted devices - The **Trusted devices** page displays all the trusted devices that have been added to the {{security-app}}. To refine the list, use the search bar to search by name, description, or field value. :::{image} /solutions/images/security-trusted-devices-list.png @@ -41,13 +39,13 @@ The **Trusted devices** page displays all the trusted devices that have been add ::: -### Edit a trusted application [edit-trusted-app] +### Edit a trusted device -You can individually modify each trusted application. You can also change the policies that a trusted application is assigned to. +You can individually modify each trusted device. You can also change the policies that a trusted device is assigned to. -To edit a trusted application: +To edit a trusted device: -1. Click the actions menu (**…**) on the trusted application you want to edit, then select **Edit trusted device**. +1. Click the actions menu (**…**) on the trusted device you want to edit, then select **Edit trusted device**. 2. Modify details as needed. 3. Click **Save**.