使用 Azure Sentinel 中的 Playbook 自动执行事件响应
2024年1月11日
此技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师使用 Microsoft Sentinel 中的 Playbook 自动执行安全事件响应。基于 Azure 逻辑应用的 Playbook 是 Sentinel 安全编排、自动化和响应 (SOAR) 功能的核心组件,使安全团队能够自动执行重复任务、编排复杂的工作流程,并更快、更一致地响应威胁 [1]。
简介
在现代安全运营中心 (SOC) 中,警报和事件的数量可能会非常多。安全分析师花费大量时间执行手动重复性任务,例如分类警报、丰富数据、通知利益相关者以及执行基本补救措施。这种开销不仅增加了平均响应时间 (MTTR),而且还分散了分析人员对更复杂的威胁和深入调查的注意力。 Microsoft Sentinel 凭借其 SOAR 功能,通过 Playbooks 实现事件响应自动化来应对这一挑战 [2]。
本实用指南将涵盖 Sentinel 中 Playbook 和自动化规则的基本概念、使用 Azure 逻辑应用创建 Playbook 的过程、将 Playbook 与分析和自动化规则集成以及实用的自动化示例,例如发送通知、阻止恶意 IP 地址和隔离受感染的主机。将提供分步说明和示例工作流程,以便读者可以实施和验证事件响应自动化、优化安全操作并加强组织的防御态势。
为什么 Sentinel 中的 Playbook 自动化至关重要?
- 减少响应时间 (MTTR):自动立即采取补救措施,例如阻止 IP 或禁用用户帐户,从而减少威胁保持活动状态的时间。
- 提高 SOC 效率:将安全分析师从重复性任务中解放出来,使他们能够专注于复杂的调查和威胁搜寻。
- 一致性和标准化:确保事件响应遵循标准化和记录的流程,减少人为错误并确保合规性。
- 可扩展性:允许 SOC 处理不断增加的警报量,而无需按比例增加团队。
- 工具编排:与各种服务和工具(Azure、Microsoft 365 和第三方解决方案)集成,以编排整个安全生态系统的响应。
- 数据丰富:自动从多个来源(例如威胁情报、用户信息、设备数据)收集上下文信息,以加速分类和调查。
先决条件
要使用 Azure Sentinel 中的 Playbook 自动响应,您将需要以下项目:
- 活动 Microsoft Sentinel 工作区:启用了 Microsoft Sentinel 解决方案的 Log Analytics 工作区。
- 管理访问权限:有权在 Azure 中创建和管理资源(包括逻辑应用)的帐户,并在 Sentinel 工作区中担任“Microsoft Sentinel Contributor”或“Microsoft Sentinel Responder”角色 [3]。
- 配置的数据连接器:连接到 Sentinel 以生成警报和事件的数据源(例如 Azure Active Directory、Microsoft Defender for Cloud 等)。
- 启用分析规则:配置分析规则以检测威胁并根据摄取的数据创建事件。
一步一步:使用 Playbook 自动响应
让我们创建并自动化 Playbook 以响应安全事件。
1. 了解 Sentinel 自动化组件
- Playbook:这些是可以从 Microsoft Sentinel 运行以响应警报或事件的过程集合。 Playbook 构建在 Azure 逻辑应用之上,可以包括一系列操作,例如发送电子邮件、在 ITSM 系统中创建票证、在防火墙中阻止 IP 等 [4]。
- 自动化规则:这些规则允许您管理 inci 的自动化哨兵中的牙齿。它们可用于分配事件、更改其状态、添加标签,最重要的是运行 Playbook。自动化规则充当 Playbook 的集中“触发器”[5]。
2. 创建 Playbook(Azure 逻辑应用程序)
让我们创建一个简单的 Playbook,当 Sentinel 事件触发时,它会发送包含事件详细信息的电子邮件通知。
- 打开浏览器并导航到 Azure 门户:“https://portal.azure.com”。
- 在顶部搜索字段中,输入“逻辑应用”并从结果中选择它。
- 单击“+添加”创建新的逻辑应用程序。
-
基础知识:
- 订阅:选择您的订阅。
- 资源组:选择一个资源组(建议使用与您的 Sentinel 工作区相同的资源组)。
- 逻辑应用程序名称:为您的 Playbook 命名(例如:“NotifyIncidentSentinel”)。
- 区域:选择区域。
- 计划类型:为即用即付模式选择“消费”,非常适合大多数 Playbook 场景。
-
单击“查看 + 创建”,然后单击“创建”。
- 部署后,单击“转到资源”以打开逻辑应用设计器。
3. 配置 Playbook 触发器和操作
逻辑应用设计器将打开并显示模板屏幕。选择“空白逻辑应用程序”。
-
配置触发器:在设计器搜索字段中,输入“Microsoft Sentinel”并选择“创建 Microsoft Sentinel 事件时”触发器。
-
连接到 Sentinel:如果这是您第一次,您将需要创建到 Sentinel 工作区的连接。使用具有必要权限的帐户进行身份验证。
-
添加操作(发送电子邮件):单击“+ 新步骤”。
-
在搜索字段中,键入“发送电子邮件”,然后从“Office 365 Outlook”连接器(或您选择的其他电子邮件提供商)选择“发送电子邮件 (V2)”操作。
-
配置电子邮件操作:使用 Sentinel 事件触发器中的动态内容填充电子邮件字段:
- 收件人:输入收件人的电子邮件地址(例如:
[email protected])。 - 主题:“新哨兵事件:”并从动态内容中选择“事件标题”。
- 正文:创建内容丰富的电子邮件正文,包括事件详细信息:
标题:(选择事件标题) “严重性:”(选择“事件严重性”) “描述:”(选择“事件描述”) *“事件链接:”(选择“事件 URL”)
- 收件人:输入收件人的电子邮件地址(例如:
-
单击 保存 以保存 Playbook。
4. 授予 Playbook 权限
Playbook 需要权限才能与 Sentinel 和其他资源交互。最简单的方法是将“Microsoft Sentinel Contributor”角色分配给逻辑应用托管标识。
- 在 Azure 门户中,导航到 Azure Sentinel 工作区。
- 在左侧导航窗格中,选择访问控制 (IAM)。
- 单击“+添加”>“添加角色分配”。
- 角色:选择“Microsoft Sentinel 贡献者”。
- 成员:在“分配访问权限”下,选择“托管身份”。
- 单击“+选择成员”。
-
托管身份:选择“逻辑应用程序”并搜索您的 Playbook (“NotifyIncidentSentinel”)。选择它并单击“选择”。
-
单击“审核+分配”完成。
5. 创建自动化规则来触发 Playbook
现在,让我们在 Sentinel 中创建一个自动化规则,以便在创建新事件时运行 Playbook。
- 在 Azure 门户中,导航到 Azure Sentinel 工作区。
- 在左侧导航窗格中,选择自动化。
- 单击“+ 创建”>“自动化规则”。
- 自动化规则名称:为其命名(例如:“通知新事件”)。
- 触发器:选择“事件创建时”。
- 条件:您可以添加条件,以便仅针对特定事件触发规则(例如:“严重性”“等于”“高”)。在此示例中,我们不会添加条件,因此该规则将应用于所有新事件。
- 操作:在“操作”下,选择“运行 playbook”。
-
从下拉菜单中选择 P您创建的laybook(“NotifyIncidentSentinel”)。
-
顺序:定义规则执行顺序(如果有多个规则)。
- 规则过期:定义规则是否应在某个时刻过期。
- 单击“应用”以创建自动化规则。
验证和测试
要验证自动化,您需要在 Sentinel 中触发事件的创建。
1. 触发测试事件
- 在 Azure 门户中,导航到 Azure Sentinel 工作区。
- 在左侧导航窗格中,选择事件。
- 单击“+ 创建事件(预览)”。
- 填写测试事件详细信息(标题、描述、严重性等),然后单击“创建”。
2. 验证 Playbook 执行
-
检查电子邮件:检查您在 Playbook 中设置的收件人收件箱。您应该会收到一封电子邮件,其中包含您创建的测试事件的详细信息。
-
检查 Playbook 执行历史记录:在 Azure 门户中,导航到您的逻辑应用程序 (
NotifyIncidentSentinel)。 - 在左侧导航窗格中,选择“概述”,然后选择“运行历史记录”选项卡。
- 您应该看到与测试事件相对应的成功执行。单击它可查看每个步骤的详细信息(触发器和操作)。
高级实用示例:阻止恶意 IP
让我们创建一个更高级的 Playbook,在收到恶意 IP 地址的事件后,将该 IP 添加到 Azure 网络安全组 (NSG) 的阻止规则中。
- 创建新的 Playbook:按照第 2 部分中的步骤创建新的逻辑应用程序(例如:
BloquearIPMalicioso)。 - 配置触发器:使用“创建 Microsoft Sentinel 事件时”触发器。
-
添加操作(获取事件实体):添加新步骤并从“Microsoft Sentinel”连接器查找“实体 - 获取 IP”操作。这将提取事件 IP 地址。
-
添加操作(针对每个 IP 循环):由于事件可以有多个 IP,因此添加“对于每个”控件以迭代上一个操作返回的 IP 列表。
-
添加操作(将 IP 添加到 NSG):在“For every”循环内,添加名为“更新网络安全组”的“Azure NSG”连接器操作。
- 资源组:选择您的 NSG 的资源组。
- 网络安全组名称:选择要更新的 NSG。
- 安全规则:添加具有以下属性的新安全规则:
- 名称:
BlockIP-(并添加来自For every循环的动态IP)。 - 优先级:设置高优先级(例如:100)。
- 方向:
输入。 - 访问:
拒绝。 - 协议:“任何”。
- 源端口范围:
*。 - 目标端口范围:
*。 - 源地址:选择“Foreach”循环的动态IP。
- 目标地址:
*。
- 名称:
-
保存并授予权限:保存 Playbook 并向逻辑应用托管标识授予必要的权限(例如 NSG 范围中的“网络贡献者”)。
- 创建自动化规则:在 Sentinel 中创建新的自动化规则,以在事件包含恶意 IP 时触发此 Playbook(例如,基于分析规则名称或标签)。
安全提示和最佳实践
- 使用托管身份:始终使用托管身份来验证 Playbook,而不是存储凭据或 API 密钥。
- Playbook 的最小权限原则:仅授予 Playbook 执行其操作所必需的权限。例如,如果 Playbook 仅需要读取数据,则不要授予写入权限。
- 在开发环境中测试:在生产中部署 Playbook 之前,请在开发或测试环境中对其进行彻底测试,以避免出现意外后果。
- Playbooks 监控:监控 Playbooks 的运行历史记录以检测故障或意外运行。配置 Playbook 失败警报。
- 文档:清楚地记录每个 Playbook 的作用、拥有哪些权限以及如何触发。这对于维护和审计至关重要。
- 版本控制:使用版本控制系统版本(例如 Git)来管理逻辑应用程序的源代码(导出 ARM 模型),从而允许更改跟踪和协作。
- 对破坏性操作的人工批准:对于可能影响生产的补救措施(例如隔离关键服务器),请考虑在 Playbook 中添加人工批准步骤(例如通过自适应卡发送包含批准/拒绝选项的电子邮件)。
常见故障排除
- Playbook 未触发:检查 Sentinel 中的自动化规则。确保事件满足规则条件。验证 Playbook 触发器配置是否正确。
- Playbook 无法运行:检查逻辑应用运行历史记录以识别失败的步骤和错误消息。常见原因包括权限不足、参数不正确或连接问题。
- 权限错误:验证逻辑应用托管标识对其尝试访问的资源(例如 Sentinel、NSG、Azure AD)是否具有所需的 RBAC 权限。
- 无限循环:请注意,Playbook 不会执行会再次触发同一事件的操作,从而创建无限循环。使用自动化规则中的条件来防止这种情况发生。
- 连接器问题:检查您正在使用的逻辑应用连接器的文档以了解任何已知的限制或问题。检查连接是否健康。
结论
使用 Azure Sentinel 中的 Playbook 自动执行事件响应对于任何安全团队来说都是一项变革性功能。通过自动化重复任务和协调补救措施,组织可以显着缩短威胁响应时间,提高 SOC 效率,并确保一致、标准化的事件响应。 Azure 逻辑应用的灵活性允许你跨多个工具创建从简单通知到复杂补救链的自动化工作流。通过本实用指南,安全专业人员将能够充分利用 Microsoft Sentinel 中 SOAR 的强大功能,使他们的安全操作更加敏捷、有效,并准备好迎接不断变化的威胁形势的挑战。
参考资料:
[1] 微软学习。 使用 Microsoft Sentinel 中的自动化规则自动进行威胁响应。位于:https://learn.microsoft.com/pt-br/azure/sentinel/automate-incident-handling-with-automation-rules [2] 微软学习。 什么是 SOAR(安全编排、自动化和响应)?。网址:https://learn.microsoft.com/pt-br/azure/sentinel/what-is-soar [3] 微软学习。 Microsoft Sentinel 中的权限。位于:https://learn.microsoft.com/pt-br/azure/sentinel/roles [4] 微软学习。 创建和管理 Microsoft Sentinel 行动手册。位于:https://learn.microsoft.com/pt-br/azure/sentinel/automation/create-playbooks [5] 微软学习。 创建并使用 Azure Sentinel 自动化规则来管理响应。位于:https://learn.microsoft.com/pt-br/azure/sentinel/create-manage-use-automation-rules