在 Linux 上手动部署Microsoft Defender for Endpoint
希望体验 Defender for Endpoint? 注册免费试用版。
提示
正在查找有关在 Linux 上部署Microsoft Defender for Endpoint的高级指南? 请参阅 Linux 上的 Defender for Endpoint 上的高级部署指南。
本文介绍如何在 Linux 上手动部署Microsoft Defender for Endpoint。 成功的部署需要完成以下所有任务:
先决条件和系统要求
在开始之前,请参阅 Linux 上的Microsoft Defender for Endpoint,了解当前软件版本的先决条件和系统要求。
警告
在产品安装后,将操作系统升级到新的主版本需要重新安装产品。 需要 卸载 Linux 上的现有 Defender for Endpoint,升级操作系统,然后按照以下步骤在 Linux 上重新配置 Defender for Endpoint。
配置 Linux 软件存储库
Linux 上的 Defender for Endpoint 可以从以下通道之一进行部署, (表示为 [通道]) : insiders-fast、 insiders-slow 或 prod
。 其中每个通道都对应于 Linux 软件存储库。 本文中的说明介绍如何将设备配置为使用这些存储库之一。
通道的选择决定了提供给设备的更新的类型和频率。
预览体验成员中的设备是第一个接收更新和新功能的设备,然后是预览体验成员慢,最后是 prod
。
为了预览新功能并提供早期反馈,建议在企业中配置一些设备,以使用 预览体验成员快速 或 预览体验成员慢速。
警告
在初始安装后切换通道需要重新安装产品。 若要切换产品通道:卸载现有包,重新配置设备以使用新通道,然后按照本文档中的步骤从新位置安装包。
安装程序脚本
当我们讨论手动安装时,也可以使用公共 GitHub 存储库中提供的自动安装程序 bash 脚本。 该脚本标识分发和版本,简化正确存储库的选择,设置设备以拉取最新包,并合并产品安装和载入步骤。
> ./mde_installer.sh --help
usage: basename ./mde_installer.sh [OPTIONS]
Options:
-c|--channel specify the channel from which you want to install. Default: insiders-fast
-i|--install install the product
-r|--remove remove the product
-u|--upgrade upgrade the existing product
-o|--onboard onboard/offboard the product with <onboarding_script>
-p|--passive-mode set EPP to passive mode
-t|--tag set a tag by declaring <name> and <value>. ex: -t GROUP Coders
-m|--min_req enforce minimum requirements
-w|--clean remove repo from package manager for a specific channel
-v|--version print out script version
-h|--help display help
在此处阅读详细信息。
RHEL 和变体 (CentOS、Fedora、Oracle Linux、Amazon Linux 2、Rocky 和 Alma)
如果尚未安装
yum-utils
,请安装:sudo yum install yum-utils
注意
分发版和版本,并在 下
https://packages.microsoft.com/config/rhel/
标识最接近的条目 (主条目,然后按次要) 。使用下表来帮助指导你查找包:
发行版 & 版本 包 对于 Alma 8.4 及更高版本 https://packages.microsoft.com/config/alma/8/prod.repo 对于 Alma 9.2 及更高版本 https://packages.microsoft.com/config/alma/9/prod.repo 对于 RHEL/Centos/Oracle 9.0-9.8 https://packages.microsoft.com/config/rhel/9/prod.repo 对于 RHEL/Centos/Oracle 8.0-8.10 https://packages.microsoft.com/config/rhel/8/prod.repo 对于 RHEL/Centos/Oracle 7.2-7.9 & Amazon Linux 2 https://packages.microsoft.com/config/rhel/7.2/prod.repo 对于 Amazon Linux 2023 https://packages.microsoft.com/config/amazonlinux/2023/prod.repo 对于 Fedora 33 https://packages.microsoft.com/config/fedora/33/prod.repo 对于 Fedora 34 https://packages.microsoft.com/config/fedora/34/prod.repo 对于 Rocky 8.7 及更高版本 https://packages.microsoft.com/config/rocky/8/prod.repo 对于 Rocky 9.2 及更高版本 https://packages.microsoft.com/config/rocky/9/prod.repo 在以下命令中,将 [version] 和 [channel] 替换为已识别的信息:
sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/rhel/[version]/[channel].repo
提示
使用 hostnamectl 命令标识系统相关信息,包括版本 [版本]。
例如,如果运行的是 CentOS 7,并希望从
prod
通道在 Linux 上部署 Defender for Endpoint:sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/rhel/7/prod.repo
或者,如果要在所选设备上探索新功能,可能需要将 Linux 上的Microsoft Defender for Endpoint部署到预览体验成员快速频道:
sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/rhel/7/insiders-fast.repo
安装 Microsoft GPG 公钥:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
SLES 和变体
注意
分发版和版本,并在 下 https://packages.microsoft.com/config/sles/
标识最接近的条目 (主条目,然后按次要) 。
在以下命令中,将 [发行版] 和 [版本] 替换为已识别的信息:
sudo zypper addrepo -c -f -n microsoft-[channel] https://packages.microsoft.com/config/[distro]/[version]/[channel].repo
提示
使用 SPident 命令标识系统相关信息,包括版本 [版本]。
例如,如果运行 SLES 12 并希望从prod
通道在 Linux 上部署Microsoft Defender for Endpoint:
sudo zypper addrepo -c -f -n microsoft-prod https://packages.microsoft.com/config/sles/12/prod.repo
安装 Microsoft GPG 公钥:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Ubuntu 和 Debian 系统
如果尚未安装
curl
,请安装:sudo apt-get install curl
如果尚未安装
libplist-utils
,请安装:sudo apt-get install libplist-utils
注意
分发版和版本,并在 下
https://packages.microsoft.com/config/[distro]/
标识最接近的条目 (主条目,然后按次要) 。在以下命令中,将 [发行版] 和 [版本] 替换为已识别的信息:
curl -o microsoft.list https://packages.microsoft.com/config/[distro]/[version]/[channel].list
提示
使用 hostnamectl 命令标识系统相关信息,包括版本 [版本]。
例如,如果运行的是 Ubuntu 18.04,并希望从
prod
通道在 Linux 上部署Microsoft Defender for Endpoint:curl -o microsoft.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list
安装存储库配置:
sudo mv ./microsoft.list /etc/apt/sources.list.d/microsoft-[channel].list
例如,如果选择频道
prod
:sudo mv ./microsoft.list /etc/apt/sources.list.d/microsoft-prod.list
安装包(
gpg
如果尚未安装):sudo apt-get install gpg
如果
gpg
不可用,请安装gnupg
。sudo apt-get install gnupg
安装 Microsoft GPG 公钥:
- 对于 Debian 11 及更早版本,请运行以下命令。
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
对于 Debian 12 及更高版本,请运行以下命令。
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft-prod.gpg > /dev/null
安装 HTTPS 驱动程序(如果尚未安装):
sudo apt-get install apt-transport-https
更新存储库元数据:
sudo apt-get update
水手
如果尚未安装
dnf-plugins-core
,请安装:sudo dnf install dnf-plugins-core
配置和启用所需的存储库
注意
在 Mariner 上,预览体验成员快速频道不可用。
如果要从
prod
通道在 Linux 上部署 Defender for Endpoint。 使用以下命令sudo dnf install mariner-repos-extras sudo dnf config-manager --enable mariner-official-extras
或者,如果要在所选设备上探索新功能,可能需要将 Linux 上的Microsoft Defender for Endpoint部署到预览体验成员慢速频道。 使用以下命令:
sudo dnf install mariner-repos-extras-preview sudo dnf config-manager --enable mariner-official-extras-preview
应用程序安装
RHEL 和变体 (CentOS、Fedora、Oracle Linux、Amazon Linux 2、Rocky 和 Alma)
sudo yum install mdatp
注意
如果在设备上配置了多个Microsoft存储库,则可以具体说明要从哪个存储库安装包。 以下示例演示如何在此设备上配置存储库通道时 production
从通道 insiders-fast
安装包。 如果在设备上使用多个Microsoft产品,则可能会出现这种情况。 根据服务器的分发和版本,存储库别名可能与以下示例中的别名不同。
# list all repositories
yum repolist
...
packages-microsoft-com-prod packages-microsoft-com-prod 316
packages-microsoft-com-prod-insiders-fast packages-microsoft-com-prod-ins 2
...
# install the package from the production repository
sudo yum --enablerepo=packages-microsoft-com-prod install mdatp
SLES 和变体
sudo zypper install mdatp
注意
如果在设备上配置了多个Microsoft存储库,则可以具体说明要从哪个存储库安装包。 以下示例演示如何在此设备上配置存储库通道时 production
从通道 insiders-fast
安装包。 如果在设备上使用多个Microsoft产品,则可能会出现这种情况。
zypper repos
...
# | Alias | Name | ...
XX | packages-microsoft-com-insiders-fast | microsoft-insiders-fast | ...
XX | packages-microsoft-com-prod | microsoft-prod | ...
...
sudo zypper install packages-microsoft-com-prod:mdatp
Ubuntu 和 Debian 系统
sudo apt-get install mdatp
注意
如果在设备上配置了多个Microsoft存储库,则可以具体说明要从哪个存储库安装包。 以下示例演示如何在此设备上配置存储库通道时 production
从通道 insiders-fast
安装包。 如果在设备上使用多个Microsoft产品,则可能会出现这种情况。
cat /etc/apt/sources.list.d/*
deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/config/ubuntu/18.04/prod insiders-fast main
deb [arch=amd64] https://packages.microsoft.com/config/ubuntu/18.04/prod bionic main
sudo apt -t bionic install mdatp
注意
在 Linux 上安装或更新Microsoft Defender for Endpoint后不需要重新启动,除非在不可变模式下运行 auditD。
水手
sudo dnf install mdatp
注意
如果在设备上配置了多个Microsoft存储库,则可以具体说明要从哪个存储库安装包。 以下示例演示如何在此设备上配置存储库通道时 production
从通道 insiders-slow
安装包。 如果在设备上使用多个Microsoft产品,则可能会出现这种情况。
sudo dnf config-manager --disable mariner-official-extras-preview
sudo dnf config-manager --enable mariner-official-extras
下载载入包
从 Microsoft Defender 门户下载载入包。
警告
不支持重新打包 Defender for Endpoint 安装包。 这样做可能会对产品的完整性产生负面影响,并导致不良结果,包括但不限于触发篡改警报和无法应用的更新。
重要
如果错过此步骤,执行的任何命令都将显示一条警告消息,指示产品未授权。 此外, mdatp health
命令返回值 false
。
在Microsoft Defender门户中,转到“设置>终结点”“>设备管理>”“载入”。
在第一个下拉菜单中,选择“ Linux 服务器 ”作为操作系统。 在第二个下拉菜单中,选择“ 本地脚本 ”作为部署方法。
选择“下载载入包”。 将文件另存为 WindowsDefenderATPOnboardingPackage.zip。
在命令提示符下,验证是否具有 文件,并提取存档的内容:
ls -l
total 8 -rw-r--r-- 1 test staff 5752 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: MicrosoftDefenderATPOnboardingLinuxServer.py
客户端配置
将 MicrosoftDefenderATPOnboardingLinuxServer.py 复制到目标设备。
注意
最初,客户端设备不与组织关联, 且 orgId 属性为空。
mdatp health --field org_id
运行 MicrosoftDefenderATPOnboardingLinuxServer.py。
注意
若要运行此命令,必须在
python
设备上安装或python3
安装,具体取决于发行版和版本。 如果需要,请参阅 在 Linux 上安装 Python 的分步说明。注意
若要载入以前已卸载的设备,必须删除位于 /etc/opt/microsoft/mdatp 的 mdatp_offboard.json 文件。
如果运行的是 RHEL 8.x 或 Ubuntu 20.04 或更高版本,则需要使用
python3
。sudo python3 MicrosoftDefenderATPOnboardingLinuxServer.py
对于其余发行版和版本,需要使用
python
。sudo python MicrosoftDefenderATPOnboardingLinuxServer.py
验证设备现在是否与你的组织关联,并报告有效的组织标识符:
mdatp health --field org_id
运行以下命令,检查产品的运行状况。 返回值 表示
true
产品按预期运行:mdatp health --field healthy
重要
产品首次启动时,会下载最新的反恶意软件定义。 这可能需要长达几分钟的时间,具体取决于网络连接。 在此期间,上述命令返回值
false
。 可以使用以下命令检查定义更新的状态:mdatp health --field definitions_status
请注意,完成初始安装后,可能还需要配置代理。 请参阅 在 Linux 上配置 Defender for Endpoint 以获取静态代理发现:安装后配置。
运行 AV 检测测试,验证设备是否已正确载入并向服务报告。 在新加入的设备上执行以下步骤:
确保启用实时保护, (运行以下命令) 的结果
true
表示:mdatp health --field real_time_protection_enabled
如果未启用,请执行以下命令:
mdatp config real-time-protection --value enabled
打开终端窗口并执行以下命令来运行检测测试:
curl -o /tmp/eicar.com.txt https://secure.eicar.org/eicar.com.txt
可以使用以下命令之一对 zip 文件运行更多检测测试:
curl -o /tmp/eicar_com.zip https://secure.eicar.org/eicar_com.zip curl -o /tmp/eicarcom2.zip https://secure.eicar.org/eicarcom2.zip
这些文件应由 Linux 上的 Defender for Endpoint 隔离。 使用以下命令列出所有检测到的威胁:
mdatp threat list
运行 EDR 检测测试并模拟检测,验证设备是否已正确载入并向服务报告。 在新加入的设备上执行以下步骤:
验证载入的 Linux 服务器是否显示在Microsoft Defender XDR中。 如果这是计算机的首次载入,则最长可能需要 20 分钟才能出现。
将 脚本文件 下载并解压缩到载入的 Linux 服务器,并运行以下命令:
./mde_linux_edr_diy.sh
几分钟后,应在Microsoft Defender XDR中引发检测。
查看警报详细信息、计算机时间线,并执行典型的调查步骤。
Microsoft Defender for Endpoint包外部包依赖项
mdatp 包存在以下外部包依赖项:
- mdatp RPM 包需要
glibc >= 2.17
、、audit
、semanage
policycoreutils
selinux-policy-targeted
、mde-netfilter
- 对于 DEBIAN,mdatp 包需要
libc6 >= 2.23
、uuid-runtime
、auditd
、mde-netfilter
- 对于 Mariner,mdatp 包需要
attr
、、audit
、diffutils
libacl
、libattr
libselinux-utils
、selinux-policy
、、policycoreutils
mde-netfilter
mde-netfilter 包还具有以下包依赖项:
- 对于 DEBIAN,mde-netfilter 包需要
libnetfilter-queue1
、libglib2.0-0
- 对于 RPM,mde-netfilter 包需要
libmnl
、libnfnetlink
、libnetfilter_queue
、glib2
- 对于 Mariner,mde-netfilter 包需要
libnfnetlink
、libnetfilter_queue
如果Microsoft Defender for Endpoint安装由于缺少依赖项错误而失败,可以手动下载先决条件依赖项。
日志安装问题
有关如何在发生错误时查找安装程序创建的自动生成的日志的详细信息,请参阅 日志安装问题 。
如何从 Insiders-Fast 迁移到生产渠道
Insiders-Fast channel
卸载 Linux 上的 Defender for Endpoint 版本。sudo yum remove mdatp
禁用 Linux Insiders-Fast 存储库上的 Defender for Endpoint
sudo yum repolist
注意
输出应显示
packages-microsoft-com-fast-prod
。sudo yum-config-manager --disable packages-microsoft-com-fast-prod
使用生产通道在 Linux 上重新部署Microsoft Defender for Endpoint。
卸载
有关如何从客户端设备中删除 Linux 上的 Defender for Endpoint 的详细信息,请参阅 卸载 。
另请参阅
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。