使用 Saltstack 在 Linux 上部署Microsoft Defender for Endpoint
适用于:
- Microsoft Defender for Endpoint 服务器版
- 服务器的Microsoft Defender
希望体验 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 主 (的通信,这些小节点会尝试与名为 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
) :unzip WindowsDefenderATPOnboardingPackage.zip -d /srv/salt/mde
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: /srv/salt/mde/mdatp_onboard.json
创建 Saltstack 状态文件
有两种方法可以创建 Saltstack 状态文件:
使用安装程序脚本 (建议) :使用此方法,该脚本通过安装代理、将设备载入到 Microsoft Defender 门户以及配置存储库以选择与 Linux 分发版兼容的正确代理来自动执行部署。
手动配置存储库: 使用此方法时,必须手动配置存储库,同时选择与 Linux 分发版兼容的代理版本。 使用此方法可以更精细地控制部署过程。
使用安装程序脚本创建 Saltstack 状态文件
从 Microsoft GitHub 存储库中拉取 安装程序 bash 脚本 ,或使用以下命令下载该脚本:
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh /srv/salt/mde/
创建包含以下内容的状态文件
/srv/salt/install_mdatp.sls
。 可以从 GitHub 下载相同的内容#Download the mde_installer.sh: https://github.com/microsoft/mdatp-xplat/blob/master/linux/installation/mde_installer.sh install_mdatp_package: cmd.run: - name: /srv/salt/mde/mde_installer.sh --install --onboard /srv/salt/mde/mdatp_onboard.json - shell: /bin/bash - unless: 'pgrep -f mde_installer.sh'
注意
安装程序脚本还支持其他参数,例如频道 (预览体验成员快速、预览体验成员速度慢、生产 (默认) ) 、实时保护、版本等。若要从可用选项列表中选择,请通过以下命令检查帮助:./mde_installer.sh --help
通过手动配置存储库创建 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。 在使用卸载状态文件之前,需要从Microsoft Defender门户下载卸载包,并按照加入包的相同方式提取它。 下载的卸载包仅在有限时间内有效。创建卸载状态文件
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
使用之前创建的状态文件在终结点上部署 Defender
此步骤适用于安装程序脚本或手动配置方法。 在此步骤中,将状态应用于小数。 以下命令将状态应用于名称以 开头 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
解决安装问题
若要排查问题,请:
有关如何查找发生安装错误时自动生成的日志的信息,请参阅 日志安装问题。
有关常见安装问题的信息,请参阅 安装问题。
如果设备的运行状况为
false
,请参阅 Defender for Endpoint 代理运行状况问题。有关产品性能问题,请参阅 排查性能问题。
有关代理和连接问题,请参阅 排查云连接问题。
若要从Microsoft获取支持,请打开支持票证,并使用 客户端分析器提供创建的日志文件。
如何在 Linux 上为Microsoft Defender配置策略
可以使用以下任一方法在终结点上配置防病毒或 EDR 设置:
- 请参阅在 Linux 上设置Microsoft Defender for Endpoint首选项。
- 请参阅安全设置管理以在 Microsoft Defender 门户中配置设置。
操作系统升级
将操作系统升级到新的主版本时,必须先卸载 Linux 上的 Defender for Endpoint,安装升级,最后在 Linux 设备上重新配置 Defender for Endpoint。
参考
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。