65.9K
CodeProject 正在变化。 阅读更多。
Home

Azure Arc 启用服务器 第 3 部分:设置安全、Sentinel 和 Runbook

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3投票s)

2022 年 1 月 24 日

CPOL

9分钟阅读

viewsIcon

6011

本文将介绍如何设置安全、Sentinel 和 Runbook。

在本系列文章的前两篇中,我们了解了 Azure Arc 及其功能,并讨论了 如何将新服务器接入 Azure Arc。一旦将服务器添加到 Azure Arc,我们就可以利用集成其他 Azure 和非 Azure 资源(如安全、监视和管理解决方案)的优势。

对于 DevOps 而言,保护、监视和管理虚拟机 (VM) 及其他计算机至关重要。在本篇 Azure Arc 启用服务器系列文章的最后一篇中,我们将演示 Azure Arc 如何通过在上一篇文章中添加到 Azure Arc 的计算机上设置 Microsoft Defender for Cloud(以前称为 Azure 安全中心)和 Microsoft Sentinel 来赋能 DevOps。最后,借助 Runbook,我们将能够为服务器推出额外的配置和自定义,让您初步了解 Azure Arc 的强大功能。

您只需要具备一点 Python 知识即可 mengikuti 本教程。其余的我们将为您演示。

与 Microsoft Defender for Cloud 集成

Microsoft Defender for Cloud 提供了一个 完整的安全解决方案。我们可以获得大量信息、评估、快速修复和缓解措施,以帮助确保我们的服务器安全。

通常,Microsoft Defender for Cloud 会在 Azure 门户中显示一个直接链接。如果没有,请搜索“Defender for Cloud”。然后,单击链接以打开该窗格。

我们需要将服务器添加到清单中才能启用集成。因此,请单击“清单”链接。然后,单击“添加非 Azure 服务器”。下面的屏幕截图显示了清单页面。

如果您尚未启用 Microsoft Defender for Cloud,则需要创建一个工作区。工作区至关重要。它将收集 Microsoft Defender for Cloud 保护服务器所需的所有事件和其他信息。

载入屏幕看起来与下面的屏幕截图相似。重要的是,要使用 Defender for Cloud 的功能,我们必须在服务器上安装另一个代理:Log Analytics Agent,这与 Connected Machine Agent 类似。我们稍后会看到,甚至可以通过 Connected Machine Agent 来安装 Log Analytics Agent。

单击“创建新工作区”并填写表单,如下所示。

如果您在使用该表单时遇到问题并且无法创建工作区,也可以使用 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 Agent。该命令使用了直接托管在 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 会更详细地描述问题并提供补救步骤。我们也可以应用快速修复。请注意,即使我们部署了潜在的修复,该问题也可能仍然处于活动状态。

我们需要牢记新鲜度间隔,对于给定的示例建议,该间隔为八小时。通常,这意味着 Microsoft Defender for Cloud 会在该时间后重新检查问题。

此外,尽管可能提供了修复程序,但在给定情况下它可能不起作用。无论如何,如果我们认为警报指向紧急威胁,我们应该自己处理,以确保其得到正确修复。

在 Windows VM 上安装 Microsoft Defender for Cloud

我们可以像 Ubuntu VM 一样载入我们的 Windows VM。我们可以直接安装并启动代理。但是,由于我们在 第二篇文章中已经安装了 Connected Machine Agent,因此我们可以利用它。

首先,在 Azure 门户的“Azure Arc”窗格中打开“服务器”页面。然后,转到将要安装 Log Analytics Agent 的 VM。在 VM 概述中,在左侧菜单的“设置”下方选择“扩展”。您现在可以“+ 添加” Log Analytics Agent - Azure Arc 扩展。您的“扩展”页面应如下所示。

安装代理后,Microsoft Defender for Cloud 应该会收集数据。因此,您会在 Microsoft Defender for Cloud 的清单中找到该服务器。

虽然 Microsoft Defender for Cloud 集成是朝着正确方向迈出的重要一步,但这并不是我们可以—或应该—做的唯一可以改进系统安全性的事情。我们的下一个重要步骤是集成 Microsoft Sentinel 解决方案。

与 Microsoft Sentinel 集成

Microsoft Sentinel(以前称为 Azure Sentinel)是一个可扩展的、云原生的安全信息事件管理和安全编排自动化响应解决方案。它能理解来自服务器的事件,并能在实时中识别威胁并响应事件,即使我们向系统发送大量事件。

我们需要一个 Log Analytics 工作区才能将 Azure Arc 启用服务器连接到 Microsoft Sentinel。幸运的是,我们已经在上一节中创建了该工作区,并且可以重复使用它。您可以在 Microsoft 的文档中找到完整的入门指南。

当我们查看 Azure 门户中的 Microsoft Sentinel 信息时,目前应该会看到一个空的表,如下所示。

创建 Sentinel 非常简单,只需选择一个工作区即可。由于我们已经创建了一个工作区,我们可以直接选择它来设置 Microsoft Defender for Cloud。如果我们想创建一个新的工作区,我们还需要将事件分派到这个新的 Log Analytics 工作区。对我们而言,分派到单个工作区就足够了。

如果我们一切都做得正确,事件应该会出现在 Microsoft Sentinel 的“概述”页面上。更好的是,每个服务器安全选项卡中的建议和事件应该比我们之前看到的更丰富。

您可能仍然不确定 Microsoft Sentinel 是否“看到”了您的服务器。在这种情况下,只需检查事件日志。一种方法是单击上方事件图表中的“更新”。在那里,您应该会找到来自所有服务器的事件。在我们的例子中,我们只有之前载入的两个服务器。

这就是如何通过在 Azure 门户中进行一次选择来设置 Azure Sentinel。这已经非常简单了!

在本文的最后部分,让我们探讨如何使用 Python Runbook 进一步利用 Azure 来管理我们的非 Azure 服务器。

使用 Python 3 Runbook

在撰写本文时,Python 3 Runbook 仍处于预览状态。尽管如此,由于 Python 2 已弃用,因此使用 Python 3 而非 Python 2 Runbook 是有意义的。无论如何,Python 3 Runbook 使我们能够直接从 Azure 门户或 Azure CLI 对服务器进行额外的配置和自定义,这对于基础架构维护的可伸缩性来说非常棒。

Runbook 本身将在托管的 Azure 资源中运行,我们可以在其中访问和修改所有资源。

创建 Runbook

要创建新的 Runbook,我们首先需要创建一个自动化账户。我们在“自动化账户”窗格中执行此操作。您应该会看到类似以下的页面。

Runbook”页面已经包含两个教程。它们已发布,但您可以查看或编辑它们。我们目前不感兴趣(图形化)PowerShell Runbook,所以我们不想这样做。相反,我们将创建一个新的 Python Runbook。

要创建新的 Python Runbook,请单击“Runbook”菜单项,然后单击“+ 创建 Runbook”。选择运行时“Python”和版本“3.8.0 (preview)”。然后,指定名称和描述。

我们需要设置一个 Run As 账户才能使用 Runbook 执行任何有用的操作。否则,Python 脚本将无法访问我们的资源。因此,单击“Run As 账户”(在已创建 Runbook 的“账户设置”下方)。添加 Azure Run As 账户实际上会在 Azure Active Directory 中创建一个新的服务主体用户。

创建混合工作器

之前,我们提到 Runbook 在 Azure 中运行,这在一定程度上是正确的。如果您因为某种原因希望在专用计算机上运行,例如本文设置的 Ubuntu 或 Windows VM,那么您可以创建一个混合工作器。

首先,打开“混合工作器组”菜单项并添加一个新的混合工作器组。您可以在其中通过选择将运行 Runbook 的计算机来创建新的混合工作器。

完成后,我们将看到 Arc 启用的服务器作为混合工作器的一部分。

我们现在可以使用这样的混合工作器组来选择在哪里运行工作器。例如,考虑以下工作器代码,它只是打印当前计算机的主机名。

#!/usr/bin/env python3
 
import socket
print(socket.gethostname())

下面的屏幕截图显示了在工作器组上调用此 Runbook 的结果。我们得到了我们选择作为工作器的 Ubuntu VM 的主机名。

当我们在 Azure 上运行相同的作业时,它会输出“CLIENT”。

借助 Runbook,我们可以创建脚本来帮助我们自动化整个基础架构。需要快速收集所有服务器的信息?使用 Runbook。需要将某些资源部署到某些服务器?Runbook 也可以提供帮助。它简化了附加配置和自定义的自动化。

后续步骤

使用 Azure Arc 可以轻松地保护我们的非 Azure 服务器。通过将 Log Analytics Agent 引入我们的服务器,我们可以利用 Microsoft Defender for Cloud 和 Microsoft Sentinel 的高级功能。这两种服务提供事件报告、警报和建议,以帮助保护我们的所有服务器安全,无论它们位于云端还是本地。

Python 3 Runbook 方便地满足了自动化需求,使我们能够快速将解决方案部署到多台服务器。这些服务器现在都已安全、经过良好监控且可伸缩,并通过 Runbook 提供了潜在的有用自动化。

Azure Arc 使您和您的组织能够在一个统一的视图下管理您的多云和混合云服务器。现在您知道设置 Azure Arc 启用服务的简便性,您就可以在您的架构中实现安全、事件报告和 Runbook 启用的自动化。 注册以免费试用 Azure Arc,无缝地将您的服务扩展到云端和跨云。

要了解更多关于 Azure Arc 启用服务器的信息,请查看 Azure Arc 启用服务器概述

© . All rights reserved.