使用 Ansible 在 Linux 上部署Microsoft Defender for Endpoint
希望体验 Defender for Endpoint? 注册免费试用版。
本文介绍如何使用 Ansible 在 Linux 上部署 Defender for Endpoint。 成功的部署需要完成以下所有任务:
重要
本文包含有关第三方工具的信息。 这样做是为了帮助完成集成方案,但是,Microsoft不提供对第三方工具的故障排除支持。
请联系第三方供应商获取支持。
先决条件和系统要求
在开始之前,请参阅 Linux 上的 main Defender for Endpoint 页,了解当前软件版本的先决条件和系统要求的说明。
此外,对于 Ansible 部署,需要熟悉 Ansible 管理任务,配置 Ansible,并知道如何部署 playbook 和任务。 Ansible 有许多方法可以完成相同的任务。 这些说明假定支持 Ansible 模块(例如 apt 和 unarchive )的可用性,以帮助部署包。 你的组织可能使用不同的工作流。 有关详细信息,请参阅 Ansible 文档 。
Ansible 需要安装在至少一台计算机上, (Ansible 将此称为控制节点) 。
必须为控制节点与所有托管节点之间的管理员帐户配置 SSH, (设备上安装了 Defender for Endpoint) ,建议使用公钥身份验证进行配置。
必须在所有托管节点上安装以下软件:
- 卷曲
- python-apt (如果使用 apt 作为包管理器)
必须在 或相关文件中以以下格式
/etc/ansible/hosts
列出所有托管节点:[servers] host1 ansible_ssh_host=10.171.134.39 host2 ansible_ssh_host=51.143.50.51
Ping 测试:
ansible -m ping all
下载载入包
从 Microsoft Defender 门户下载载入包。
警告
不支持重新打包 Defender for Endpoint 安装包。 这样做可能会对产品的完整性产生负面影响,并导致不良结果,包括但不限于触发篡改警报和无法应用的更新。
在Microsoft Defender门户中,转到“设置>终结点>”“设备管理>载入”。
在第一个下拉菜单中,选择“ Linux 服务器 ”作为操作系统。 在第二个下拉菜单中,选择“ 首选 Linux 配置管理工具 ”作为部署方法。
选择“下载载入包”。 将文件另存为 WindowsDefenderATPOnboardingPackage.zip。
在命令提示符下,验证是否具有 文件。 提取存档的内容:
ls -l
total 8 -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json
创建 Ansible YAML 文件
创建为 playbook 或任务做出贡献的子任务或角色文件。
创建载入任务
onboarding_setup.yml
:- name: Create MDATP directories file: path: /etc/opt/microsoft/mdatp/ recurse: true state: directory mode: 0755 owner: root group: root - name: Register mdatp_onboard.json stat: path: /etc/opt/microsoft/mdatp/mdatp_onboard.json register: mdatp_onboard - name: Extract WindowsDefenderATPOnboardingPackage.zip into /etc/opt/microsoft/mdatp unarchive: src: WindowsDefenderATPOnboardingPackage.zip dest: /etc/opt/microsoft/mdatp mode: 0600 owner: root group: root when: not mdatp_onboard.stat.exists
添加 Defender for Endpoint 存储库和密钥
add_apt_repo.yml
:可以从以下通道之一部署 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 Linux,请将 [版本] 替换为 Oracle Linux 的版本。
- name: Add Microsoft APT key apt_key: url: https://packages.microsoft.com/keys/microsoft.asc state: present when: ansible_os_family == "Debian" - name: Add Microsoft apt repository for MDATP apt_repository: repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/[distro]/[version]/prod [codename] main update_cache: yes state: present filename: microsoft-[channel] when: ansible_os_family == "Debian" - name: Add Microsoft DNF/YUM key rpm_key: state: present key: https://packages.microsoft.com/keys/microsoft.asc when: ansible_os_family == "RedHat" - name: Add Microsoft yum repository for MDATP yum_repository: name: packages-microsoft-[channel] description: Microsoft Defender for Endpoint file: microsoft-[channel] baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ gpgcheck: yes enabled: Yes when: ansible_os_family == "RedHat"
-
insiders-fast,表示为
创建 Ansible 安装和卸载 YAML 文件。
对于基于 apt 的分发,请使用以下 YAML 文件:
cat install_mdatp.yml
- hosts: servers tasks: - name: include onboarding tasks import_tasks: file: ../roles/onboarding_setup.yml - name: add apt repository import_tasks: file: ../roles/add_apt_repo.yml - name: Install MDATP apt: name: mdatp state: latest update_cache: yes
cat uninstall_mdatp.yml
- hosts: servers tasks: - name: Uninstall MDATP apt: name: mdatp state: absent
对于基于 dnf 的分发,请使用以下 YAML 文件:
cat install_mdatp_dnf.yml
- hosts: servers tasks: - name: include onboarding tasks import_tasks: file: ../roles/onboarding_setup.yml - name: add apt repository import_tasks: file: ../roles/add_yum_repo.yml - name: Install MDATP dnf: name: mdatp state: latest enablerepo: packages-microsoft-[channel]
cat uninstall_mdatp_dnf.yml
- hosts: servers tasks: - name: Uninstall MDATP dnf: name: mdatp state: absent
部署
现在,在 或相关目录下 /etc/ansible/playbooks/
运行任务文件。
安装:
ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
重要
产品首次启动时,会下载最新的反恶意软件定义。 这可能需要几分钟时间,具体取决于 Internet 连接。
验证/配置:
ansible -m shell -a 'mdatp connectivity test' all
ansible -m shell -a 'mdatp health' all
卸载:
ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
日志安装问题
有关如何在发生错误时查找安装程序创建的自动生成的日志的详细信息,请参阅 日志安装问题 。
操作系统升级
将操作系统升级到新的主版本时,必须先卸载 Linux 上的 Defender for Endpoint,安装升级,最后在设备上重新配置 Linux 上的 Defender for Endpoint。
References
另请参阅
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。