使用 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 模块的可用性,例如 aptunarchive ,以帮助部署包。 你的组织可能使用不同的工作流。 有关详细信息,请参阅 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 安装包。 这样做可能会对产品的完整性产生负面影响,并导致不良结果,包括但不限于触发篡改警报和无法应用的更新。

  1. 在Microsoft Defender门户中,转到“设置>终结点>”“设备管理>载入”。

  2. 在第一个下拉菜单中,选择“ Linux 服务器 ”作为操作系统。 在第二个下拉菜单中,选择“ 首选 Linux 配置管理工具 ”作为部署方法。

  3. 选择“下载载入包”。 将文件另存为 WindowsDefenderATPOnboardingPackage.zip

    “下载载入包”选项

  4. 在 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:

每个通道对应于一个 Linux 软件存储库。

通道的选择决定了提供给设备的更新的类型和频率。 预览体验成员中的设备是第一个接收更新和新功能的设备,然后是预览体验成员慢,最后是 prod

为了预览新功能并提供早期反馈,建议在企业中配置一些设备,以使用 预览体验成员快速预览体验成员慢速

警告

在初始安装后切换通道需要重新安装产品。 若要切换产品通道:卸载现有包,重新配置设备以使用新通道,然后按照本文档中的步骤从新位置安装包。

  1. 记下分发版和版本,并在 下 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 %}
    
  2. 将包安装状态 install_mdatp.sls 添加到之前定义的状态之后 add_ms_repo

    install_mdatp_package:
      pkg.installed:
        - name: matp
        - required: add_ms_repo
    
  3. 将加入文件部署 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
    
  4. 在配置存储库中创建一个 SaltState 状态文件 (通常 /srv/salt) ,该文件将必要的状态应用于卸载并删除 Defender for Endpoint。 在使用卸载状态文件之前,需要从安全门户下载卸载包,并按照加入包的相同方式提取它。 下载的卸载包仅在有限时间内有效。

  5. 创建卸载状态文件 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
    
  6. 在上一部分定义的状态之后remove_mde_onboarding_fileuninstall_mdatp.sls将卸载文件部署添加到文件。

     offboard_mde:
      file.managed:
        - name: /etc/opt/microsoft/mdatp/mdatp_offboard.json
        - source: salt://mde/mdatp_offboard.json
    
  7. 在上一部分定义的状态之后offboard_mdeuninstall_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的计算机。

  1. 安装:

    salt 'mdetest*' state.apply install_mdatp
    

    重要

    产品首次启动时,会下载最新的反恶意软件定义。 这可能需要几分钟时间,具体取决于 Internet 连接。

  2. 验证/配置:

    salt 'mdetest*' cmd.run 'mdatp connectivity test'
    
    salt 'mdetest*' cmd.run 'mdatp health'
    
  3. 卸载:

    salt 'mdetest*' state.apply uninstall_mdatp
    

日志安装问题

有关如何在发生错误时查找安装程序创建的自动生成的日志的详细信息,请参阅 日志安装问题

操作系统升级

将操作系统升级到新的主版本时,必须先卸载 Linux 上的 Defender for Endpoint,安装升级,最后在设备上重新配置 Linux 上的 Defender for Endpoint。

参考

另请参阅

提示

想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区