目录
在Ubuntu VM上安装Microsoft Defender for Cloud
在Windows VM上安装Microsoft Defender for Cloud
下面,我们将演示如何在上一篇文章中添加到Arc的两台服务器上设置Azure安全中心,演示如何在两台计算机上设置Azure Sentinel,以及如何使用Python 3运行手册在两台服务器上执行其他配置和自定义。
在这个由三部分组成的系列的前两篇文章中,我们详细了解了Azure Arc及其功能,并讨论了如何将新服务器载入Azure Arc。将服务器添加到Azure Arc后,我们可以利用集成其他Azure和非Azure资源(例如安全性、监视和管理解决方案)的优势。
保护、监视和管理虚拟机(VM)和其他计算机对于DevOps至关重要。在已启用Azure Arc的服务器系列的最后一篇文章中,我们将演示Azure Arc如何通过在上一篇文章中添加到Azure Arc的计算机上设置Microsoft Defender for Cloud(以前称为Azure安全中心)和Microsoft Sentinel来增强DevOps。最后,在Runbook的帮助下,我们将能够向服务器推出其他配置和自定义项,让你了解Azure Arc可以执行的操作。
你只需要有一点Python知识就可以学习本教程。我们将向您展示如何完成其余的工作。
与云Microsoft Defender集成
Microsoft Defender for Cloud提供完整的安全解决方案。我们获得大量信息、评估、快速修复和缓解措施,以帮助确保我们的服务器安全。
通常,Microsoft Defender for Cloud会在Azure门户中显示直接链接。如果没有,请搜索“Defender for Cloud”。然后,单击链接以打开边栏选项卡。
我们需要将服务器添加到清单中以启用集成它们。因此,单击“库存”链接。然后,单击“添加非Azure服务器”。下面的屏幕截图显示了清单页面。
如果尚未使用适用于云Microsoft Defender,则需要创建一个工作区。工作空间至关重要。它将收集Microsoft Defender for Cloud保护您的服务器所需的所有事件和其他信息。
载入屏幕如下图所示。重要的是,要使用Defender for Cloud的功能,我们必须在服务器上安装另一个代理:Log Analytics Agent,类似于Connected Machine代理。稍后我们将看到,我们甚至可以在连接的计算机代理的帮助下安装Log Analytics代理。
单击创建新工作区并填写表单,如下所示。
如果在使用该窗体时遇到问题,并且它不会创建工作区,则还可以使用Azure CLI。使用此命令创建新的Log Analytics工作区:
az monitor log-analytics workspace create --resource-group arc-sample --workspace-name arc-log-analytics
现在,工作区应在Azure门户中可见。可以选择它来添加新的非Azure服务器。
工作区页面包含载入Windows和基于Linux的服务器的快速指南。
在Ubuntu VM上安装Microsoft Defender for Cloud
我们使用以下命令直接在Ubuntu VM的控制台中安装Log Analytics代理。该命令使用直接托管在Microsoft GitHub存储库上的脚本,用于在Linux上运行的代理。
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -w <WORKSPACE-ID> -s <WORKSPACE-PRIMARY-KEY>
下载脚本后,它会使用给定的工作区ID和主密钥设置代理。之后,可以针对给定的工作区ID重新启动服务:
sudo /opt/microsoft/omsagent/bin/service_control restart [<WORKSPACE-ID>]
完成所有操作后,Microsoft Defender for Cloud边栏选项卡的清单页应包含非Azure VM。
我们可能会在系统的详细信息中找到一些建议。在我们的例子中,如下面的屏幕截图所示,我们收到了一条警报,提示我们应该在计算机上安装端点保护解决方案。除此之外,我们还收到了一些通用信息。
我们的下一步是检查特定的建议,例如提到的有关端点保护的建议。这些链接到每个项目的描述。在这里,Microsoft Defender for Cloud更详细地描述了该问题,并提供了修正步骤。我们也可以应用快速解决方案。请注意,即使在我们部署潜在修补程序后,该问题也可能保持活动状态。
我们需要记住新鲜度间隔,对于给定的示例建议,新鲜度间隔为8小时。通常,这意味着Microsoft Defender for Cloud将在该时间之后重新检查问题。
此外,尽管修复程序可能可用,但在给定情况下可能无法正常工作。无论如何,如果我们认为警报指向紧急威胁,我们应该自己处理它以确保它被正确修复。
在Windows VM上安装Microsoft Defender for Cloud
我们可以像Ubuntu VM一样载入我们的Windows VM。我们可以安装并启动代理。但是,由于我们已经在第二篇文章中安装了连接的计算机代理,因此我们可以将其改为工作。
首先,在Azure门户的“Azure Arc”边栏选项卡中打开“服务器”页。然后,转到将在其中安装Log Analytics代理的VM。在VM概述中,选择左侧菜单中的“扩展”(可在“设置”下找到它)。现在可以 + 添加日志分析代理——Azure Arc扩展。“扩展”页面应如下所示:
代理就位后,Microsoft Defender for Cloud 应收集数据。因此,您可以在Microsoft Defender for Cloud的库存中找到服务器。
虽然Microsoft Defender for Cloud集成是朝着正确方向迈出的良好一步,但这并不是我们可以或应该为提高系统安全性所做的唯一事情。我们的下一个重要步骤是集成Microsoft哨兵解决方案。
与Microsoft哨兵集成
Microsoft Sentinel(以前称为Azure Sentinel)是一种可缩放的云原生安全信息事件管理和安全业务流程自动响应解决方案。它可以理解来自服务器的事件,并且可以实时获取威胁并响应事件,即使我们用事件轰炸系统也是如此。
我们需要一个Log Analytics工作区来将已启用Azure Arc的服务器连接到Microsoft Sentinel。幸运的是,我们已经在上一节中创建了该工作区,并且可以重用它。您可以在 Microsoft 的文档中找到完整的入门指南。
当我们在Azure门户中查看Microsoft Sentinel的信息时,我们当前应该看到如下所示的空表:
创建哨兵就像选择工作区一样简单。由于我们已经制作了一个工作区,因此我们可以选择该工作区来设置Microsoft Defender for Cloud。如果想要创建一个新的工作区,还需要将事件调度到这个新的Log Analytics工作区。就我们的目的而言,调度到单个工作区就足够了。
如果我们做对了一切,事件应该显示在Microsoft Sentinel 概述页面上。更好的是,每个服务器的安全选项卡中的建议和事件应该超出我们以前看到的范围。
您可能仍然不确定Sentinel是否Microsoft“看到”您的服务器。在这种情况下,只需检查事件日志。一种方法是在上面显示的事件图表中单击更新。在那里,您应该找到来自所有服务器的事件。在我们的例子中,我们只有之前加入的两台服务器。
这就是在Azure门户中使用单个选择设置Azure Sentinel的方式。没有比这更直接的了!
在本文的最后一部分,让我们探讨如何使用Python运行手册进一步将Azure用于非Azure服务器。
使用Python 3运行手册
在撰写本文时,Python 3运行手册仍处于预览状态。尽管如此,由于Python 2的弃用,使用Python 3而不是Python 2运行手册是有意义的。在任何情况下,Python 3运行手册使我们能够直接从Azure门户或Azure CLI将其他配置和自定义项放到我们的服务器上,这对于基础结构维护可伸缩性非常有用。
运行手册本身将在托管Azure资源中运行,我们可以在其中访问和修改所有资源。
创建运行手册
若要创建新的Runbook,我们首先需要创建一个自动化帐户。我们在“自动化帐户”边栏选项卡上执行此操作。您应该看到如下所示的页面:
“运行手册”页已包含两个教程。它们已发布,但您可以查看或编辑它们。我们不想这样做,因为我们目前对(图形)PowerShell运行手册不感兴趣。相反,我们将创建一个新的Python运行手册。
若要创建新的Python运行手册,请单击“运行手册”菜单项,然后单击“+ 创建运行手册”。 选择运行时 Python 和版本 3.8.0(预览版)。然后,指定名称和说明。
我们需要设置运行方式帐户,以便对Runbook执行任何有用的操作。否则,Python脚本无法访问我们的资源。因此,请单击“运行方式帐户”(在创建的Runbook中的“帐户设置”下方)。添加Azure运行方式帐户可以有效地在Azure Active Directory中创建新的服务主体用户。
创建Hybrid Worker
之前,我们提到运行手册在Azure中运行,这在某种程度上是有效的。如果出于某种原因想要在专用计算机上运行,例如我们为本文设置的Ubuntu或Windows VM,则可以创建Hybrid Worker。
首先,打开“Hybrid Worker组”菜单项并添加新的Hybrid Worker组。可以通过选择将运行Runbook的计算机来创建新的Hybrid Worker。
完成后,我们将启用Arc的服务器视为Hybrid Worker的一部分。
现在,我们可以选择使用此类Hybrid Worker组运行工作线程的位置。例如,请考虑以下工作线程代码,该代码仅打印当前计算机的主机名:
#!/usr/bin/env python3
import socket
print(socket.gethostname())
下面的屏幕截图显示了在辅助角色组上调用此Runbook的结果。我们取回我们选择作为辅助角色的Ubuntu VM的主机名。
当我们在Azure上运行相同的作业时,它会生成“CLIENT”作为输出。
在Runbooks的帮助下,我们可以创建脚本来帮助我们自动化整个基础架构。需要快速收集所有服务器上的一些信息?使用运行手册。需要将一些资源部署到某些服务器?运行手册也可以在这里提供帮助。它简化了其他配置和自定义的自动化。
后续步骤
使用Azure Arc保护我们的非Azure服务器非常简单。我们可以使用Microsoft Defender for Cloud和Microsoft Sentinel的高级功能,方法是将Log Analytics代理引入我们的服务器。这两项服务提供事件报告、警报和建议,以帮助确保我们所有服务器的安全,无论它们位于云中还是本地。
Python 3运行手册方便地满足了自动化的需求,使我们能够快速将解决方案部署到多个服务器。这些服务器现在都是安全的、受到良好监控和可扩展的,并有可能通过运行手册实现有用的自动化。
Azure Arc使你和你的组织能够将多云和混合云服务器统一在单一管理平台后面。了解设置已启用Azure Arc的服务是多么简单后,可以在体系结构上实现安全性、事件报告和启用Runbook的自动化。注册以免费试用Azure Arc,将服务无缝扩展到云中和跨云。
若要详细了解已启用Azure Arc的服务器,请查看已启用Azure Arc的服务器概述。
https://www.codeproject.com/Articles/5321655/Azure-Arc-Enabled-Servers-Part-3-Setting-up-Securi