排查 Linux 上Microsoft Defender for Endpoint的安装问题
希望体验 Defender for Endpoint? 注册免费试用版。
验证安装是否成功
安装中的错误可能会导致或可能不会由包管理器生成有意义的错误消息。 若要验证安装是否成功,请使用以下方法获取并检查安装日志:
sudo journalctl --no-pager|grep 'microsoft-mdatp' > installation.log
grep 'postinstall end' installation.log
microsoft-mdatp-installer[102243]: postinstall end [2020-03-26 07:04:43OURCE +0000] 102216
具有正确安装日期和时间的上一个命令的输出指示成功。
此外,检查客户端配置,以验证产品的运行状况并检测 EICAR 文本文件。
确保具有正确的包
验证要安装的包是否与主机分发版和版本匹配。
package | 分配 |
---|---|
mdatp-rhel8。Linux.x86_64.rpm | Oracle、RHEL 和 CentOS 8.x |
mdatp-sles12。Linux.x86_64.rpm | SUSE Linux Enterprise Server 12.x |
mdatp-sles15。Linux.x86_64.rpm | SUSE Linux Enterprise Server 15.x |
mdatp。Linux.x86_64.rpm | Oracle、RHEL 和 CentOS 7.x |
mdatp。Linux.x86_64.deb | Debian 和 Ubuntu 16.04、18.04 和 20.04 |
对于 手动部署,请确保选择了正确的发行版和版本。
注意
MDE Linux 不再提供适用于 RHEL 6 的解决方案。
由于依赖项错误,安装失败
如果Microsoft Defender for Endpoint安装由于缺少依赖项错误而失败,可以手动下载先决条件依赖项。
mdatp 包存在以下外部包依赖项:
- mdatp RPM 包需要
glibc >= 2.17
、、audit
、policycoreutils
、semanage
selinux-policy-targeted
、mde-netfilter
- 对于 DEBIAN,mdatp 包需要
libc6 >= 2.23
、uuid-runtime
、auditd
、mde-netfilter
mde-netfilter 包还具有以下包依赖项:
- 对于 DEBIAN,mde-netfilter 包需要
libnetfilter-queue1
,libglib2.0-0
- 对于 RPM,mde-netfilter 包需要
libmnl
、libnfnetlink
、libnetfilter_queue
、glib2
安装失败
检查 Defender for Endpoint 服务是否正在运行:
service mdatp status
● mdatp.service - Microsoft Defender for Endpoint
Loaded: loaded (/lib/systemd/system/mdatp.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-03-26 10:37:30 IST; 23h ago
Main PID: 1966 (wdavdaemon)
Tasks: 105 (limit: 4915)
CGroup: /system.slice/mdatp.service
├─1966 /opt/microsoft/mdatp/sbin/wdavdaemon
├─1967 /opt/microsoft/mdatp/sbin/wdavdaemon
└─1968 /opt/microsoft/mdatp/sbin/wdavdaemon
mdatp 服务未运行时进行故障排除的步骤
检查用户是否存在
mdatp
:id "mdatp"
如果没有输出,请运行
sudo useradd --system --no-create-home --user-group --shell /usr/sbin/nologin mdatp
尝试使用以下方法启用和重启服务:
sudo service mdatp start
sudo service mdatp restart
如果在运行上一个命令时找不到 mdatp.service,请运行:
sudo cp /opt/microsoft/mdatp/conf/mdatp.service <systemd_path>
其中
<systemd_path>
用于/lib/systemd/system
Ubuntu 和 Debian 发行版,对于 Rhel、CentOS、Oracle 和 SLES,则为 /usr/lib/systemd/system' 。 然后重新运行步骤 2。如果上述步骤不起作用,检查是否安装了 SELinux 并处于强制模式。 如果是这样,请尝试将其设置为宽松 (最好是) 或禁用模式。 可以通过将 参数
SELINUX
设置为permissive
或disabled
文件,/etc/selinux/config
然后重新启动来执行此操作。 有关更多详细信息,请查看 selinux 的手册页。 现在,请尝试使用步骤 2 重启 mdatp 服务。 不过,出于安全原因,尝试并重新启动后立即还原配置更改。如果
/opt
目录是符号链接,请为/opt/microsoft
创建绑定装载。确保守护程序具有可执行权限。
ls -l /opt/microsoft/mdatp/sbin/wdavdaemon
-rwxr-xr-x 2 root root 15502160 Mar 3 04:47 /opt/microsoft/mdatp/sbin/wdavdaemon
如果守护程序没有可执行权限,请使用:
sudo chmod 0755 /opt/microsoft/mdatp/sbin/wdavdaemon
并重试运行步骤 2。
确保未使用
noexec
装载包含 wdavdaemon 的文件系统。
如果 Defender for Endpoint 服务正在运行,但 EICAR 文本文件检测不起作用
使用 以下命令检查文件系统类型:
findmnt -T <path_of_EICAR_file>
此处列出了当前支持的访问活动文件系统。 不会扫描这些文件系统之外的任何文件。
命令行工具 mdatp 不起作用
如果运行命令行工具
mdatp
时出现错误command not found
,请运行以下命令:sudo ln -sf /opt/microsoft/mdatp/sbin/wdavdaemonclient /usr/bin/mdatp
然后重试。
如果上述步骤都没有帮助,请收集诊断日志:
sudo mdatp diagnostic create
Diagnostic file created: <path to file>
包含日志的 zip 文件的路径显示为输出。 使用这些日志联系我们的客户支持。
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。