排查 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 |
对于 手动部署,请确保选择了正确的发行版和版本。
由于依赖项错误,安装失败
如果Microsoft Defender for Endpoint安装因缺少依赖项错误而失败,可以手动下载先决条件依赖项。
mdatp 包存在以下外部包依赖项:
- mdatp RPM 包需要“glibc >= 2.17”、“audit”、“policycoreutils”、“semanage”、“selinux-policy-targeted”、“mde-netfilter”
- 对于 RHEL6,mdatp RPM 包需要“audit”、“policycoreutils”、“libselinux”、“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。
确保包含 wdavdaemon 的文件系统未使用“noexec”进行装载。
如果 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 文件的路径将显示为输出。 使用这些日志联系我们的客户支持。