使用 Microsoft Defender for Endpoint 保护 Linux 和 macOS 端点
2024年10月14日
本技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师在 Linux 和 macOS 操作系统上部署和配置 Microsoft Defender for Endpoint (MDE)。在日益多样化的企业环境中,端点保护超越了 Windows 环境。 MDE 将其威胁检测和响应 (EDR) 功能扩展到非 Windows 平台,提供统一的安全态势视图并针对整个组织的技术园区的网络攻击提供强大的防御 [1]。
简介
在开发人员、设计师和其他专业人士的推动下,Linux 和 macOS 设备在企业环境中的激增给安全团队带来了新的挑战。这些系统虽然通常被认为不太容易受到攻击,但它们越来越成为复杂攻击的目标。需要跨所有主要平台的端点安全解决方案对于保持一致且有效的安全态势至关重要。 Microsoft Defender for Endpoint 通过为 Linux 和 macOS 提供高级保护、检测和响应功能来弥补这一差距,并与 Microsoft Defender XDR 门户无缝集成以进行集中管理 [2]。
本实用指南将涵盖先决条件、将 Linux 和 macOS 设备载入 MDE 的过程、配置安全策略、管理排除、执行检测测试和验证保护。将提供分步说明、示例终端命令和说明,以便读者可以在异构环境中部署和管理 Microsoft Defender for Endpoint,增强端点的安全性并确保符合公司安全策略。
为什么 Microsoft Defender for Endpoint 对于 Linux 和 macOS 至关重要?
- 全面保护:为 Linux 和 macOS 提供下一代防病毒、端点检测和响应 (EDR)、漏洞管理和访问控制功能。
- 统一可见性:集中安全监控和管理 Microsoft Defender XDR 门户中的所有端点(Windows、Linux、macOS、Android、iOS)。
- 高级威胁检测:利用 Microsoft 威胁情报和机器学习来识别和缓解复杂的、特定于平台的威胁。
- 快速事件响应:使安全团队能够跨所有平台快速有效地调查和响应安全事件。
- 合规性和治理:帮助确保所有端点(无论操作系统如何)都符合安全策略和法规。
- Microsoft 生态系统集成:与其他 Microsoft 解决方案集成,例如 Microsoft Sentinel 和 Microsoft Intune,以实现整体安全方法。
先决条件
要在 Linux 和 macOS 上部署 Microsoft Defender for Endpoint,您将需要以下项目:
- 许可:Microsoft Defender for Endpoint 许可证(例如 Microsoft 365 E5、带有安全附加组件的 Microsoft 365 E3 或 MDE 独立许可证)[3]。
- 管理访问权限:在 Microsoft Defender XDR 门户 (
https://security.microsoft.com) 中具有“安全管理员”或“全局管理员”角色的帐户。 - Root/Sudo 访问:目标设备上的 Root (Linux) 或 sudo (macOS) 权限用于安装和配置。
- 网络连接:设备必须连接到 MDE 服务端点以进行通信和定义更新。
- 支持的操作系统:查看 Microsoft 文档以了解受支持的 Linux 和 macOS 发行版的特定版本 [4]。
分步:在 Linux 和 macOS 上加入和配置 MDE
让我们介绍一下这两个平台的入门流程和基本设置。
1. Microsoft Defender for Endpoint 中的设备启用
加入过程涉及从 Microsoft Defender XDR 门户获取集成包并将其部署到设备。
-
访问 Microsoft Defender X 门户博士:
- 打开浏览器并导航至“https://security.microsoft.com”。
- 使用具有必要权限的帐户登录。
-
获取入门包:
- 在左侧导航窗格中,选择 设置 > 端点。
- 在“设备管理”下,选择集成。
- 在`1 节中。选择要启动集成过程的操作系统,选择“Linux Server”或“macOS”。
- 在`2 节中。选择“部署方法”,选择“本地脚本”进行手动安装,或选择“配置管理工具”(例如适用于 Linux 的 Puppet、Ansible;适用于 macOS 的 Intune、JAMF)。
- 点击“下载集成包”。
1.1。 Linux 中的入门(手动)
-
安装先决条件:确保安装了所需的软件包。对于大多数发行版,这包括“curl”、“wget”、“gnupg”、“apt-transport-https”(Debian/Ubuntu)或“yum-utils”(RHEL/CentOS)。 ````bash # Ubuntu/Debian 的示例 sudo apt-get 更新 sudo apt-get install -y curl wget apt-transport-https gnupg
RHEL/CentOS 示例
sudo yum install -y curl wget yum-utils gnupg ````
-
添加 Microsoft 存储库:这允许您使用发行版的包管理器安装 MDE。 ````bash # Ubuntu/Debian 的示例 wget -qO- https://packages.microsoft.com/keys/microsoft.asc | wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main" > /etc/apt/sources.list.d/microsoft-prod.list' sudo rm packages.microsoft.gpg sudo apt-get 更新
RHEL/CentOS 示例
sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/rhel/8/prod.repo ````
-
安装MDE:安装
mdatp包。 ````bash # Ubuntu/Debian 的示例 sudo apt-get install -y mdatpRHEL/CentOS 示例
须藤 yum install -y mdatp ````
-
使用Onboarding Package配置MDE:将下载的“WindowsDefenderATPOnboardingPackage.zip”文件复制到Linux服务器,解压并使用onboarding脚本。 ````bash # 将.zip文件复制到Linux服务器 # scp WindowsDefenderATPOnboardingPackage.zip user@your_linux_server:~/
解压 WindowsDefenderATPOnboardingPackage.zip -d mde_onboarding sudo mdatp 船上高级操作 --path mde_onboarding/MicrosoftDefenderATPOnboardingScript.sh ````
-
检查状态:检查 MDE 是否正在运行并已上线。
bash mdatp 健康
1.2。 macOS 上的入门(手动)
-
安装 MDE:将下载的“MicrosoftDefenderATPOnboardingPackage.zip”文件复制到您的 macOS 设备。解压它。您将找到一个“.pkg”文件(例如:“wdav.pkg”)。
-
安装软件包:运行
.pkg安装程序。bash sudo 安装程序-pkg wdav.pkg -目标/- 按照屏幕上的说明进行操作。您需要在“系统偏好设置”>“安全和隐私”中向 MDE 授予完整磁盘访问权限和系统扩展权限。
-
使用Onboarding Package配置MDE:使用onboarding脚本。
bash # 将 .zip 文件复制到 Mac # 解压 .zip 文件 sudo /Library/Application\ Support/Microsoft/Defender/uninstall/install.sh --install sudo /Library/Application\ Support/Microsoft/Defender/install.sh --onboard /path/to/MicrosoftDefenderATPOnboardingScript.sh- 注意:入门脚本的确切路径可能会有所不同。检查“.zip”文件的内容。
-
检查状态:检查 MDE 是否正在运行并已上线。
bash mdatp 健康
2. 配置安全策略(Linux 和 macOS)
Linux 和 macOS 上的 MDE 安全策略可以通过 JSON 文件(用于手动/脚本部署)或通过 Intune、JAMF、Puppet、Ansible 等工具进行管理。
让我们使用通过 JSON 文件进行防病毒控制的示例配置。
-
创建 JSON 配置文件:使用所需的设置创建一个
mdatp_config.json文件。 ```json { ”防病毒引擎”:{ “启用”:正确, “扫描”:{ “快速扫描”:{ “启用”:正确, “时间表”:{ “类型”:“每日”, “时间”:“02:00” } }, “全扫描”:{ “启用”:假 } }, “实时保护”:{ “启用”:正确, “scanOnAccess”:真, “扫描修改”:true }, “排除”:[ { “路径”:“/var/log”, “类型”:“目录” }, { “路径”:“/opt/app/data.db”, “类型”:“文件” } ] }, “云服务”:{ “启用”:正确, “诊断级别”:“完整” } } ````- 此示例启用实时保护,配置每日快速扫描,并设置日志目录和数据库文件的排除项。
-
应用配置:使用
mdatp config命令。bash sudo mdatp 配置集 --path mdatp_config.json -
查看已应用的配置:可以查看当前生效的配置。
bash mdatp 配置获取 --json
集中管理的技巧 (Intune/JAMF)
-
Microsoft Intune (macOS):对于 macOS,Intune 是部署和管理 MDE 的首选工具。您可以创建配置文件来部署 MDE 包并配置安全设置(实时保护、排除等)。
-
配置管理工具 (Linux):对于 Linux,Puppet、Ansible 或 Chef 等工具通常用于自动化大规模 MDE 部署和配置管理。
3. 管理排除
排除对于避免与合法应用程序发生冲突或提高 I/O 负载较高的系统的性能非常重要。但是,必须谨慎使用它们,以避免造成安全漏洞。
-
通过命令行添加排除 (Linux/macOS): ````bash # 删除一个文件 sudo mdatp排除添加--path /path/to/file.log --type file
删除一个目录
sudo mdatp排除添加--path /path/to/directory--type目录
按扩展名删除
sudo mdatp排除添加--扩展名.tmp--类型扩展名 ````
-
列出排除:检查配置的排除。
bash mdatp 排除列表 -
删除排除项:删除不再需要的排除项。
bash sudo mdatp排除删除--path /path/to/file.log
验证和测试
在 Linux 和 macOS 上验证 MDE 保护对于确保解决方案按预期工作至关重要。
1. 检查 Microsoft Defender XDR 门户中的状态
- 在 Microsoft Defender XDR 门户 (
https://security.microsoft.com) 中,导航到 资产 > 设备。 - 验证已加载的 Linux 和 macOS 设备是否出现在列表中,并且它们的“健康状态”为“活动”。
- 单击设备可查看其详细信息,包括“防护状态”和“安全建议”。
2. 防病毒检测测试 (EICAR)
使用 EICAR(欧洲计算机防病毒研究所)测试文件来检查您的防病毒软件是否正常工作。
-
生成 EICAR 文件:创建一个文本文件,其内容如下(无多余空格或换行符):
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-标准-防病毒测试文件!$H+H*- Linux:
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar.com - macOS:
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar.com
- Linux:
-
观察检测:如果启用了实时保护,MDE 应立即检测并阻止 EICAR 文件。
-
在 MDE 门户中检查警报:在 Microsoft Defender XDR 门户中,导航到 事件和警报 > 警报。您应该在 Linux/macOS 设备上看到与 EICAR 检测相关的警报。
3. EDR检测测试(攻击模拟)
微软提供了te脚本ste 模拟攻击场景并验证 MDE 的 EDR 功能。
-
对于 Linux:下载并运行适用于 Linux 的 MDE 检测测试脚本。
bash curl -o ~/mde_linux_test.sh https://aka.ms/LinuxMDEtest chmod +x ~/mde_linux_test.sh 〜/ mde_linux_test.sh -
对于 macOS:下载并运行适用于 macOS 的 MDE 检测测试脚本。
bash 卷曲 -o ~/mde_macos_test.sh https://aka.ms/macMDEtest chmod +x ~/mde_macos_test.sh 〜/ mde_macos_test.sh -
检查 MDE 门户中的警报:运行脚本后,检查 事件和警报 > 警报下的 Microsoft Defender XDR 门户。您应该会看到与模拟活动相关的警报,例如“执行可疑命令”或“可疑脚本活动”。
安全提示和最佳实践
- 集中管理:使用配置管理工具(Intune、JAMF、Puppet、Ansible)大规模部署和管理 MDE,确保策略的一致性。
- 保持 MDE 更新:确保您的 MDE 客户端和安全定义始终是最新的,以确保防范最新威胁。
- 仔细管理排除项:检查并最大程度地减少排除项,以避免造成安全漏洞。记录所有排除情况及其理由。
- SIEM/SOAR 集成:将 MDE 警报与安全信息和事件管理 (SIEM) 或安全编排、自动化和响应 (SOAR)(例如 Microsoft Sentinel)集成,以提高可见性和事件响应。
- 持续监控:主动监控 Microsoft Defender XDR 门户以获取针对 Linux 和 macOS 端点的安全警报和建议。
- 用户培训:教育用户端点安全的重要性以及如何报告可疑活动。
- 篡改保护:虽然在 Windows 上更为突出,但请确保存在等效的控件以防止恶意用户在 Linux/macOS 上禁用或更改 MDE 设置。
常见故障排除
- MDE 未安装/板载:检查先决条件(发行版/操作系统版本、所需的软件包)。检查安装日志是否有错误。确保入职包正确且未过期。验证与 Microsoft 端点的网络连接。
- MDE 不向门户报告:检查“mdatp health”命令的“onboarded”和“healthy”状态。确认设备已连接到互联网和 MDE 服务。检查可能阻止通信的任何代理或防火墙设置。
- 高 CPU/内存使用率:检查 MDE 日志以识别可能导致高使用率的进程。查看配置的排除项。优化扫描设置(例如,安排非高峰时间进行全面扫描)。
- 与其他安全解决方案冲突:如果安装其他防病毒或端点安全解决方案,可能会导致冲突。 Microsoft 建议在安装 MDE 之前删除其他解决方案。
- 误报警报:如果 MDE 生成许多误报警报,请调查触发警报的活动。考虑添加合法进程或文件的排除(谨慎)或调整检测策略。
- 权限问题 (macOS):在 macOS 上,确保已在“系统偏好设置”>“安全和隐私”中向 MDE 授予所有系统扩展和完整磁盘访问权限。
结论
Microsoft Defender for Endpoint 提供了下一代端点安全解决方案,可有效扩展到 Linux 和 macOS 环境。通过在单一平台上统一威胁防护、检测和响应,组织可以简化安全管理并加强整个技术园区抵御网络攻击的态势。仔细实施、适当的政策配置和持续监控对于最大化 MDE 效益至关重要。有了这份实用指南,安全专业人员将有能力保护他们的 Linux 和 macOS 端点,确保安全所有设备,无论操作系统如何,都有助于打造更安全、更有弹性的企业环境。
参考资料:
[1] 微软学习。 Linux 上的 Microsoft Defender for Endpoint。位于:https://learn.microsoft.com/pt-br/defender-endpoint/microsoft-defender-endpoint-linux [2] 微软学习。 macOS 上的 Microsoft Defender for Endpoint。位于:https://learn.microsoft.com/pt-br/defender-endpoint/microsoft-defender-endpoint-mac [3] 微软学习。 Microsoft Defender for Endpoint 许可要求。网址:https://learn.microsoft.com/pt-br/defender-endpoint/licensing [4] 微软学习。 Linux 上 Microsoft Defender for Endpoint 的先决条件。位于:https://learn.microsoft.com/pt-br/defender-endpoint/linux-precessions [5] 埃卡。 EICAR 测试文件。网址:https://www.eicar.org/download-anti-malware-testfile/