Skip to content

Commit ccbf105

Browse files
authored
Merge pull request #2251 from meghapriyams/docs-editor/linux-install-with-saltack-1735035071
Update linux-install-with-saltack.md
2 parents c89d41a + d2786bc commit ccbf105

File tree

1 file changed

+71
-43
lines changed

1 file changed

+71
-43
lines changed

defender-endpoint/linux-install-with-saltack.md

Lines changed: 71 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,28 @@ ms.collection:
1515
ms.topic: conceptual
1616
ms.subservice: linux
1717
search.appverid: met150
18-
ms.date: 12/04/2024
18+
ms.date: 12/24/2024
1919
---
2020

2121
# Deploy Microsoft Defender for Endpoint on Linux with Saltstack
2222

23-
[!INCLUDE [Microsoft Defender XDR rebranding](../includes/microsoft-defender.md)]
24-
2523
**Applies to**:
2624

2725
- Microsoft Defender for Endpoint Server
2826
- [Microsoft Defender for Servers](/azure/defender-for-cloud/integration-defender-for-endpoint)
2927

3028
> Want to experience Defender for Endpoint? [Sign up for a free trial.](https://signup.microsoft.com/create-account/signup?products=7f379fee-c4f9-4278-b0a1-e4c8c2fcdf7e&ru=https://aka.ms/MDEp2OpenTrial?ocid=docs-wdatp-investigateip-abovefoldlink)
3129
32-
This article describes how to deploy Defender for Endpoint on Linux using Saltstack. A successful deployment requires the completion of all of the following tasks:
3330

34-
- [Download the onboarding package](#download-the-onboarding-package)
35-
- [Create Saltstack state files](#create-saltstack-state-files)
36-
- [Deployment](#deployment)
37-
- [Reference](#reference)
31+
This article describes how to deploy Defender for Endpoint on Linux using Saltstack. A successful deployment requires the completion of all of the steps in this article.
3832

3933
[!INCLUDE [Microsoft Defender for Endpoint third-party tool support](../includes/support.md)]
4034

4135
## Prerequisites and system requirements
4236

4337
Before you get started, see [the main Defender for Endpoint on Linux page](microsoft-defender-endpoint-linux.md) for a description of prerequisites and system requirements for the current software version.
4438

45-
In addition, for Saltstack deployment, you need to be familiar with Saltstack administration, have Saltstack installed, configure the Master and Minions, and know how to apply states. Saltstack has many ways to complete the same task. These instructions assume availability of supported Saltstack modules, such as *apt* and *unarchive* to help deploy the package. Your organization might use a different workflow. Refer to the [Saltstack documentation](https://docs.saltproject.io/) for details.
39+
In addition, for Saltstack deployment, you need to be familiar with Saltstack administration, have Saltstack installed, configure the Master and Minions, and know how to apply states. Saltstack has many ways to complete the same task. These instructions assume availability of supported Saltstack modules, such as *apt* and *unarchive* to help deploy the package. Your organization might use a different workflow. For more information, see [Saltstack documentation](https://docs.saltproject.io/).
4640

4741
Here are a few important points:
4842

@@ -66,38 +60,58 @@ Here are a few important points:
6660

6761
4. On the SaltStack Master, extract the contents of the archive to the SaltStack Server's folder (typically `/srv/salt`):
6862

69-
```bash
70-
ls -l
71-
```
63+
```bash
64+
unzip WindowsDefenderATPOnboardingPackage.zip -d /srv/salt/mde
65+
```
7266

73-
```console
74-
total 8
75-
-rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
76-
```
67+
```console
68+
Archive: WindowsDefenderATPOnboardingPackage.zip
69+
inflating: /srv/salt/mde/mdatp_onboard.json
70+
```
7771

78-
```bash
79-
unzip WindowsDefenderATPOnboardingPackage.zip -d /srv/salt/mde
80-
```
72+
## Create Saltstack state files
8173

82-
```console
83-
Archive: WindowsDefenderATPOnboardingPackage.zip
84-
inflating: /srv/salt/mde/mdatp_onboard.json
85-
```
74+
There are two ways you can create the Saltstack state files:
8675

87-
## Create Saltstack state files
76+
- **Use the installer Script (recommended):** With this method, the script automates deployment by installing the agent, onboarding the device to the [Microsoft Defender portal](https://security.microsoft.com), and configuring the repositories to pick the correct agent compatible with your Linux distribution.
77+
78+
- **Manually configure the repositories:** With this method, repositories must be configured manually along with selecting agent version compatible with your Linux distribution. This method gives you more granular control over the deployment process.
79+
80+
### Create Saltstack state files using the installer script
81+
82+
1. Pull the [installer bash script](https://github.com/microsoft/mdatp-xplat/blob/master/linux/installation/mde_installer.sh) from Microsoft GitHub Repository, or use the following command to download it:
83+
84+
```bash
85+
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh /srv/salt/mde/
86+
```
87+
88+
89+
2. Create the state file `/srv/salt/install_mdatp.sls` with the following content. The same can be downloaded from [GitHub](https://github.com/microsoft/mdatp-xplat/blob/master/linux/installation/third_party_installation_playbooks/salt.install_mdatp_simplified.sls)
90+
91+
```bash
92+
#Download the mde_installer.sh: https://github.com/microsoft/mdatp-xplat/blob/master/linux/installation/mde_installer.sh
93+
install_mdatp_package:
94+
cmd.run:
95+
- name: /srv/salt/mde/mde_installer.sh --install --onboard /srv/salt/mde/mdatp_onboard.json
96+
- shell: /bin/bash
97+
- unless: 'pgrep -f mde_installer.sh'
98+
```
99+
100+
> [!NOTE]
101+
> The installer script also supports other parameters such as channel (insiders-fast, insiders-slow, prod (default) ), realtime protection, version, etc. To select from the list of available options, check help through the following command:
102+
>```./mde_installer.sh --help```
103+
104+
### Create Saltstack state files by manually configuring repositories
88105

89106
In this step, you create a SaltState state file in your configuration repository (typically `/srv/salt`) that applies the necessary states to deploy and onboard Defender for Endpoint. Then, you add the Defender for Endpoint repository and key: `install_mdatp.sls`.
90107

91108
> [!NOTE]
92109
> Defender for Endpoint on Linux can be deployed from one of the following channels:
93-
>
94110
> - *insiders-fast*, denoted as `[channel]`
95111
> - *insiders-slow*, denoted as `[channel]`
96112
> - *prod*, denoted as `[channel]` using the version name (see [Linux Software Repository for Microsoft Products](/linux/packages))
97113
>
98-
> Each channel corresponds to a Linux software repository.
99-
>
100-
> The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insiders-fast* are the first ones to receive updates and new features, followed later by *insiders-slow*, and lastly by *prod*.
114+
> Each channel corresponds to a Linux software repository. The choice of the channel determines the type and frequency of updates that are offered to your device. Devices in *insiders-fast* are the first ones to receive updates and new features, followed later by *insiders-slow*, and lastly by *prod*.
101115
>
102116
> In order to preview new features and provide early feedback, it's recommended that you configure some devices in your enterprise to use either *insiders-fast* or *insiders-slow*.
103117
@@ -106,7 +120,7 @@ In this step, you create a SaltState state file in your configuration repository
106120
107121
1. Note your distribution and version and identify the closest entry for it under `https://packages.microsoft.com/config/[distro]/`.
108122

109-
In the following commands, replace *[distro]* and *[version]* with your information.
123+
2. In the following commands, replace *[distro]* and *[version]* with your information.
110124

111125
> [!NOTE]
112126
> In case of Oracle Linux and Amazon Linux 2, replace *[distro]* with "rhel". For Amazon Linux 2, replace *[version]* with "7". For Oracle utilize, replace *[version]* with the version of Oracle Linux.
@@ -134,7 +148,7 @@ In this step, you create a SaltState state file in your configuration repository
134148
{% endif %}
135149
```
136150

137-
2. Add the package installed state to `install_mdatp.sls` after the `add_ms_repo` state as previously defined.
151+
3. Add the package installed state to `install_mdatp.sls` after the `add_ms_repo` state as previously defined.
138152

139153
```console
140154
install_mdatp_package:
@@ -185,7 +199,7 @@ In this step, you create a SaltState state file in your configuration repository
185199
- required: install_mdatp_package
186200
```
187201

188-
5. Create a SaltState state file in your configuration repository (typically `/srv/salt`) that applies the necessary states to offboard and remove Defender for Endpoint. Before using the offboarding state file, you need to download the offboarding package from the Security portal and extract it in the same way you did the onboarding package. The downloaded offboarding package is only valid for a limited period of time.
202+
5. Create a SaltState state file in your configuration repository (typically `/srv/salt`) that applies the necessary states to offboard and remove Defender for Endpoint. Before using the offboarding state file, you need to download the offboarding package from the [Microsoft Defender portal](https://security.microsoft.com) and extract it in the same way you did the onboarding package. The downloaded offboarding package is only valid for a limited period of time.
189203

190204
6. Create an Uninstall state file `uninstall_mdapt.sls` and add the state to remove the `mdatp_onboard.json` file.
191205

@@ -199,7 +213,7 @@ In this step, you create a SaltState state file in your configuration repository
199213
- name: /etc/opt/microsoft/mdatp/mdatp_onboard.json
200214
```
201215

202-
6. Add the offboarding file deployment to the `uninstall_mdatp.sls` file after the `remove_mde_onboarding_file` state defined in the previous section.
216+
7. Add the offboarding file deployment to the `uninstall_mdatp.sls` file after the `remove_mde_onboarding_file` state defined in the previous section.
203217

204218
```console
205219
offboard_mde:
@@ -208,7 +222,7 @@ In this step, you create a SaltState state file in your configuration repository
208222
- source: salt://mde/mdatp_offboard.json
209223
```
210224

211-
7. Add the removal of the MDATP package to the `uninstall_mdatp.sls` file after the `offboard_mde` state defined in the previous section.
225+
8. Add the removal of the MDATP package to the `uninstall_mdatp.sls` file after the `offboard_mde` state defined in the previous section.
212226

213227
```console
214228
remove_mde_packages:
@@ -233,10 +247,9 @@ In this step, you create a SaltState state file in your configuration repository
233247
- name: mdatp
234248
```
235249

236-
## Deployment
237-
238-
In this step, you apply the state to the minions. The following command applies the state to machines with the name that begins with `mdetest`.
250+
## Deploy Defender on Endpoint using the state files created earlier
239251

252+
This step applies to both the installer script or manual configuration method. In this step, you apply the state to the minions. The following command applies the state to machines with the name that begins with `mdetest`.
240253

241254
1. Installation:
242255

@@ -263,20 +276,35 @@ In this step, you apply the state to the minions. The following command applies
263276
salt 'mdetest*' state.apply uninstall_mdatp
264277
```
265278

266-
## Log installation issues
279+
## Troubleshoot installation issues
280+
281+
To troubleshoot issues:
282+
283+
1. For information on how to find the log that's generated automatically when an installation error occurs, see [Log installation issues](linux-resources.md#log-installation-issues).
284+
285+
2. For information about common installation issues, see [Installation issues](/defender-endpoint/linux-support-install).
267286

268-
For more information on how to find the automatically generated log that's created by the installer when an error occurs, see [Log installation issues](linux-resources.md#log-installation-issues).
287+
3. If the health of the device is `false`, see [Defender for Endpoint agent health issues](/defender-endpoint/health-status).
288+
289+
4. For product performance issues, see [Troubleshoot performance issues](/defender-endpoint/linux-support-perf).
290+
291+
5. For proxy and connectivity issues, see [Troubleshoot cloud connectivity issues](/defender-endpoint/linux-support-connectivity).
292+
293+
To get support from Microsoft, open a support ticket, and provide the log files created by using the [client analyzer](/defender-endpoint/run-analyzer-macos-linux).
294+
295+
## How to configure policies for Microsoft Defender on Linux
296+
297+
You can configure antivirus or EDR settings on your endpoints using any of the following methods:
298+
299+
- See [Set preferences for Microsoft Defender for Endpoint on Linux](/defender-endpoint/linux-preferences).
300+
- See [security settings management](/mem/intune/protect/mde-security-integration) to configure settings in the Microsoft Defender portal.
269301

270302
## Operating system upgrades
271303

272-
When upgrading your operating system to a new major version, you must first uninstall Defender for Endpoint on Linux, install the upgrade, and finally reconfigure Defender for Endpoint on Linux on your device.
304+
When upgrading your operating system to a new major version, you must first uninstall Defender for Endpoint on Linux, install the upgrade, and finally reconfigure Defender for Endpoint on your Linux device.
273305

274306
## Reference
275307

276308
- [SALT Project documentation](https://docs.saltproject.io/en/latest/topics/about_salt_project.html)
277309

278-
## See also
279-
280-
- [Investigate agent health issues](health-status.md)
281-
282310
[!INCLUDE [Microsoft Defender for Endpoint Tech Community](../includes/defender-mde-techcommunity.md)]

0 commit comments

Comments
 (0)