使用 Saltstack 在 Linux 上部署Microsoft Defender for Endpoint
希望体验 Defender for Endpoint? 注册免费试用版。
本文介绍如何使用 Saltstack 在 Linux 上部署 Defender for Endpoint。 成功的部署需要完成以下所有任务:
重要
本文包含有关第三方工具的信息。 这样做是为了帮助完成集成方案,但是,Microsoft不提供对第三方工具的故障排除支持。
请联系第三方供应商获取支持。
先决条件和系统要求
在开始之前,请参阅 Linux 上的 main Defender for Endpoint 页,了解当前软件版本的先决条件和系统要求的说明。
此外,对于 Saltstack 部署,需要熟悉 Saltstack 管理、安装 Saltstack、配置 Master 和 Minion,并知道如何应用状态。 Saltstack 有许多方法可以完成相同的任务。 这些说明假定支持 Saltstack 模块的可用性,例如 apt 和 unarchive ,以帮助部署包。 你的组织可能使用不同的工作流。 有关详细信息,请参阅 Saltstack 文档 。
下面是几个要点:
- Saltstack 安装在至少一台计算机上 (Saltstack 将计算机称为主) 。
- Saltstack 主节点接受托管节点 (Saltstack 将节点称为小节点) 连接。
- Saltstack minion 能够解析与 Saltstack 主服务器的通信, (默认为 minion 尝试与名为“salt”的计算机通信 ) 。
- 运行以下 ping 测试:
sudo salt '*' test.ping
- Saltstack 主数据库有一个文件服务器位置,默认情况下,Saltstack
/srv/salt
会将文件夹用作默认分发点,Microsoft Defender for Endpoint文件可从 (分发)
下载载入包
警告
不支持重新打包 Defender for Endpoint 安装包。 这样做可能会对产品的完整性产生负面影响,并导致不良结果,包括但不限于触发篡改警报和无法应用的更新。
在Microsoft Defender门户中,转到“设置>终结点>”“设备管理>载入”。
在第一个下拉菜单中,选择“ Linux 服务器 ”作为操作系统。 在第二个下拉菜单中,选择“ 首选 Linux 配置管理工具 ”作为部署方法。
选择“下载载入包”。 将文件另存为
WindowsDefenderATPOnboardingPackage.zip
。在 SaltStack Master 上,将存档的内容提取到 SaltStack 服务器的文件夹中, (通常
/srv/salt
) :ls -l
total 8 -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
unzip WindowsDefenderATPOnboardingPackage.zip -d /srv/salt/mde
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: /srv/salt/mde/mdatp_onboard.json
创建 Saltstack 状态文件
在此步骤中,在配置存储库中创建一个 SaltState 状态文件, (通常 /srv/salt
) 应用部署和载入 Defender for Endpoint 所需的状态。 然后,添加 Defender for Endpoint 存储库和密钥: install_mdatp.sls
。
注意
可以从以下通道之一部署 Linux 上的 Defender for Endpoint:
-
insiders-fast,表示为
[channel]
-
insiders-slow,表示为
[channel]
-
prod,表示为
[channel]
使用版本名称 (请参阅 适用于Microsoft产品的 Linux 软件存储库)
每个通道对应于一个 Linux 软件存储库。
通道的选择决定了提供给设备的更新的类型和频率。 预览体验成员中的设备是第一个接收更新和新功能的设备,然后是预览体验成员慢,最后是 prod。
为了预览新功能并提供早期反馈,建议在企业中配置一些设备,以使用 预览体验成员快速 或 预览体验成员慢速。
警告
在初始安装后切换通道需要重新安装产品。 若要切换产品通道:卸载现有包,重新配置设备以使用新通道,然后按照本文档中的步骤从新位置安装包。
记下分发版和版本,并在 下
https://packages.microsoft.com/config/[distro]/
标识其最接近的条目。在以下命令中,将 [发行版] 和 [版本] 替换为你的信息。
注意
对于 Oracle Linux 和 Amazon Linux 2,请将 [发行版] 替换为“rhel”。 对于 Amazon Linux 2,请将 [版本] 替换为“7”。 对于 Oracle 利用,请将 [版本] 替换为 Oracle Linux 版本。
cat /srv/salt/install_mdatp.sls
add_ms_repo: pkgrepo.managed: - humanname: Microsoft Defender Repository {% if grains['os_family'] == 'Debian' %} - name: deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/[distro]/[version]/[channel] [codename] main - dist: [codename] - file: /etc/apt/sources.list.d/microsoft-[channel].list - key_url: https://packages.microsoft.com/keys/microsoft.asc - refresh: true {% elif grains['os_family'] == 'RedHat' %} - name: packages-microsoft-[channel] - file: microsoft-[channel] - baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ - gpgkey: https://packages.microsoft.com/keys/microsoft.asc - gpgcheck: true {% endif %}
将包安装状态
install_mdatp.sls
添加到之前定义的状态之后add_ms_repo
。install_mdatp_package: pkg.installed: - name: matp - required: add_ms_repo
将加入文件部署
install_mdatp.sls
添加到 前面定义的 后面install_mdatp_package
。copy_mde_onboarding_file: file.managed: - name: /etc/opt/microsoft/mdatp/mdatp_onboard.json - source: salt://mde/mdatp_onboard.json - required: install_mdatp_package
已完成的安装状态文件应类似于以下输出:
add_ms_repo: pkgrepo.managed: - humanname: Microsoft Defender Repository {% if grains['os_family'] == 'Debian' %} - name: deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/[distro]/[version]/prod [codename] main - dist: [codename] - file: /etc/apt/sources.list.d/microsoft-[channel].list - key_url: https://packages.microsoft.com/keys/microsoft.asc - refresh: true {% elif grains['os_family'] == 'RedHat' %} - name: packages-microsoft-[channel] - file: microsoft-[channel] - baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ - gpgkey: https://packages.microsoft.com/keys/microsoft.asc - gpgcheck: true {% endif %} install_mdatp_package: pkg.installed: - name: mdatp - required: add_ms_repo copy_mde_onboarding_file: file.managed: - name: /etc/opt/microsoft/mdatp/mdatp_onboard.json - source: salt://mde/mdatp_onboard.json - required: install_mdatp_package
在配置存储库中创建一个 SaltState 状态文件 (通常
/srv/salt
) ,该文件将必要的状态应用于卸载并删除 Defender for Endpoint。 在使用卸载状态文件之前,需要从安全门户下载卸载包,并按照加入包的相同方式提取它。 下载的卸载包仅在有限时间内有效。创建卸载状态文件
uninstall_mdapt.sls
并添加状态以删除该文件mdatp_onboard.json
。cat /srv/salt/uninstall_mdatp.sls
remove_mde_onboarding_file: file.absent: - name: /etc/opt/microsoft/mdatp/mdatp_onboard.json
在上一部分定义的状态之后
remove_mde_onboarding_file
,uninstall_mdatp.sls
将卸载文件部署添加到文件。offboard_mde: file.managed: - name: /etc/opt/microsoft/mdatp/mdatp_offboard.json - source: salt://mde/mdatp_offboard.json
在上一部分定义的状态之后
offboard_mde
,uninstall_mdatp.sls
将 MDATP 包的删除添加到文件。remove_mde_packages: pkg.removed: - name: mdatp
完整的卸载状态文件应类似于以下输出:
remove_mde_onboarding_file: file.absent: - name: /etc/opt/microsoft/mdatp/mdatp_onboard.json offboard_mde: file.managed: - name: /etc/opt/microsoft/mdatp/mdatp_offboard.json - source: salt://mde/offboard/mdatp_offboard.json remove_mde_packages: pkg.removed: - name: mdatp
部署
在此步骤中,将状态应用于小数。 以下命令将状态应用于名称以 开头 mdetest
的计算机。
安装:
salt 'mdetest*' state.apply install_mdatp
重要
产品首次启动时,会下载最新的反恶意软件定义。 这可能需要几分钟时间,具体取决于 Internet 连接。
验证/配置:
salt 'mdetest*' cmd.run 'mdatp connectivity test'
salt 'mdetest*' cmd.run 'mdatp health'
卸载:
salt 'mdetest*' state.apply uninstall_mdatp
日志安装问题
有关如何在发生错误时查找安装程序创建的自动生成的日志的详细信息,请参阅 日志安装问题。
操作系统升级
将操作系统升级到新的主版本时,必须先卸载 Linux 上的 Defender for Endpoint,安装升级,最后在设备上重新配置 Linux 上的 Defender for Endpoint。
参考
另请参阅
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。