你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

强化资源的建议

适用于此 Azure Well-Architected 框架安全清单建议:

SE:08 通过减少无关外围应用并收紧配置来强化所有工作负载组件,从而增加攻击者成本。

本指南介绍在工作负载中开发本地化控件并维护这些控件以抵御重复攻击来强化资源的建议。

安全强化是一种有意的自我保护练习。 目标是 减少攻击面增加攻击者在其他方面的成本,从而限制恶意行动者利用漏洞的机会。 若要保护工作负荷,请实施安全最佳做法和配置。

安全强化是一个持续的过程 ,需要持续监视并适应不断变化的威胁和漏洞。

定义

术语 定义
强化 通过删除无关资源或调整配置来减少受攻击面区域的做法。
特权访问工作站 (PAW) 用于执行敏感任务的专用安全计算机,可降低泄露风险。
安全管理工作站 (SAW) 关键影响帐户使用的专用 PAW。
外围应用 包含漏洞的工作负荷的逻辑占用空间。

关键设计策略

安全强化是一种高度本地化的练习,可 加强组件级别的控制,无论是资源还是进程。 当加强每个组件的安全性时,它会改进工作负载的聚合安全保证。

安全强化不考虑工作负荷的功能,也不会检测威胁或执行自动扫描。 安全强化侧重于采用假设漏洞和深层防御的心态进行配置优化。 目标是使攻击者难以控制系统。 强化不应更改工作负荷或其操作的预期效用。

强化过程的第一步是收集所有硬件、软件和数据资产的综合清单。 通过添加新资产并删除已解除授权的资产,使库存记录保持最新。 对于清单中的所有资产,请考虑以下最佳做法:

  • 减少占用空间。 移除无关的外围应用或缩小范围。 消除简单目标或廉价且完善的攻击途径,例如未修补的软件攻击和暴力攻击。 在生产部署之前,应从源树中清除标识、生成组件和其他非必需资产。

  • 微调配置。 评估并 收紧剩余外围应用。 强化资源后,攻击者使用的已尝试和测试的方法不再成功。 它强制攻击者获取和使用高级或未经测试的攻击方法,这会增加其成本。

  • 维护防御。 通过执行 持续威胁检测 来维护保护措施,以帮助确保强化工作随时间推移是可靠的。

另请考虑以下因素。

受信任的源。 强化练习的一部分涉及软件供应链。 本指南假定 所有组件都是从受信任的源获取的。 你的组织必须批准从第三方供应商采购的软件。 此批准适用于操作系统、映像和其他第三方工具的来源。 如果没有受信任的资源,强化可能会无限耗尽对不受信任的源的安全保证。

有关供应链安全性的建议,请参阅 保护开发生命周期的建议

培训。 强化是一种专业技能。 这是有条不紊的,需要高水平的能力。 需要了解组件的功能以及更改如何影响组件。 团队成员必须能够识别来自行业专家和平台的指导,以便将其与不确定来源的指导区分开来。 教育团队成员创建安全意识文化。 确保你的团队 精通安全最佳做法,了解潜在威胁,并从事后回顾中吸取教训

文档。 记录和发布强化要求、决策和定义的方法。 为了提高透明度,还要 记录异常或偏离 这些要求。

强化可能很麻烦,但这是一项必须记录的关键安全练习。 首先强化核心组件,然后扩展到其他领域,例如自动化流程和人工流程,以缩小潜在的差距。 对更改一丝不苟。 例如,必要的步骤是禁用默认设置,因为对默认值的更改不会影响系统的稳定性。 即使替换配置与默认值相同,也必须定义它。 以下部分介绍强化的常见目标。 评估工作负载的关键设计领域,并遵循关键策略在组件级别强化。

网络

将网络划分为多个段 ,以将关键资产和敏感数据与不太安全的资产隔离开来,从而减少攻击者的横向移动。 在这些段中,应用 默认拒绝 方法。 仅当允许列表合理时,才添加对允许列表的访问权限。

禁用未主动使用的端口和协议。 例如,在 Azure 应用服务 上,如果不需要通过 FTP 进行部署,则可以禁用它。 或者,如果通过内部网络执行管理操作,则可以禁用从 Internet 进行管理访问。

删除或禁用旧协议。 攻击者利用使用旧版本的系统。 使用 Azure 检测服务查看日志并确定协议使用情况。 删除协议可能很困难,因为它可能会中断系统的功能。 在实现之前测试所有更改,以降低操作中断的风险。

将公共 IP (PIP) 地址视为高风险资产 ,因为它们易于访问且具有广泛的全球影响力。 若要减少风险,请删除对工作负载的不必要的 Internet 访问。 使用 Microsoft 服务(如 Azure Front Door)提供的共享公共 IP 地址。 这些服务设计为面向 Internet,并阻止访问不允许的协议。 许多此类服务对网络边缘的传入请求执行初始检查。 使用专用 PIP,你负责管理其安全方面、允许或阻止端口,以及扫描传入请求以确保其有效性。

对于面向 Internet 的应用程序,请通过添加可以筛选无效流量的第 7 层服务来限制访问 。 探索强制实施分布式拒绝服务的本机服务 (DDoS) 保护、具有 Web 应用程序防火墙并在流量到达应用程序层之前在边缘提供保护。

域名系统 (DNS) 强化是另一种网络安全做法。 若要确保 DNS 基础结构安全,建议 使用受信任的 DNS 解析程序。 若要验证来自 DNS 解析程序的信息并提供额外的安全层,请尽可能为高度敏感的 DNS 区域使用 DNS 安全协议。 若要防止 DNS 缓存中毒、DDoS 攻击和放大攻击等攻击,请浏览其他与 DNS 相关的安全控制措施,例如查询速率限制、响应速率限制和 DNS Cookie。

标识

删除未使用或默认帐户。 禁用未使用的身份验证和授权方法。

禁用旧身份验证方法 ,因为它们经常是攻击途径。 旧协议通常缺少攻击-反措施,例如帐户锁定。 将身份验证要求外部化到标识提供者 (IdP) ,例如Microsoft Entra ID。

首选联合身份验证,而不是创建重复标识。 如果标识遭到入侵,在集中管理标识时,可以更轻松地撤销其访问权限。

了解用于增强身份验证和授权的平台功能。 利用多重身份验证、无密码身份验证、条件访问以及Microsoft Entra ID 提供的其他功能来验证身份,从而强化访问控制。 可以围绕登录事件添加额外的保护,并缩小攻击者发出请求的范围。

尽可能使用不带凭据的托管标识和工作负载标识。 凭据可能会泄露。 有关详细信息,请参阅 保护应用程序机密的建议

对管理过程使用最低特权方法。 删除不必要的角色分配,并定期执行Microsoft Entra访问评审。 使用角色分配说明来保留理由的书面线索,这对审核至关重要。

云资源

上述有关网络和标识的强化建议适用于单个云服务。 对于网络,请特别注意 服务级别防火墙,并评估其入站规则。

发现并禁用其他组件可能涵盖的未使用的功能 或功能,例如未使用的数据平面访问和产品功能。 例如,App 服务支持 Kudu,它提供 FTP 部署、远程调试和其他功能。 如果不需要这些功能,请将其关闭。

始终 跟上 Azure 路线图和工作负载路线图。 应用 Azure 服务提供的修补和版本控制更新。 允许平台提供的更新,并订阅自动更新通道。

风险:云资源通常对限额有要求,或者必须在记录的配置中运行才能被视为 受支持。 某些强化技术(例如主动阻止出站流量)可能会导致服务超出受支持的配置,即使服务正常运行也是如此。 从平台了解每个云资源的运行时要求,以确保保持对资源的支持。

应用程序

评估应用程序可能无意中泄露信息的区域。 例如,假设你有一个用于检索用户信息的 API。 请求可能具有有效的用户 ID,并且应用程序返回 403 错误。 但是,如果客户 ID 无效,请求将返回 404 错误。 然后,你实际上泄露了有关用户 ID 的信息。

可能有更微妙的情况。 例如,具有有效用户 ID 的响应延迟高于无效的客户 ID。

请考虑在以下方面实现应用程序强化:

  • 输入验证和清理:通过验证和清理所有用户输入,防止 SQL 注入和跨站点脚本等注入攻击, (XSS) 。 使用输入验证库和框架自动执行输入清理。

  • 会话管理:使用安全会话管理技术保护会话标识符和令牌免受盗窃或会话固定攻击。 实现会话超时,并强制对敏感操作重新进行身份验证。

  • 错误管理:实现自定义错误处理,尽量减少向攻击者公开敏感信息。 安全地记录错误并监视这些日志中的可疑活动。

  • HTTP 安全标头:通过利用 HTTP 响应中的安全标头(例如内容安全策略 (CSP) 、X-Content-Type-Options 和 X-Frame-Options)来缓解常见的 Web 漏洞。

  • API 安全性:使用适当的身份验证和授权机制保护 API。 若要进一步增强安全性,请对 API 终结点实施速率限制、请求验证和访问控制。

开发和维护应用程序时,请遵循安全编码做法。 定期进行代码评审并扫描应用程序是否存在漏洞。 有关详细信息,请参阅 保护开发生命周期的建议

管理操作

同时强化其他非运行时资源。 例如,通过清点所有资产并从管道中删除未使用的资产来 减少生成操作占用量 。 然后, 拉取由受信任的源发布的任务,并且仅运行经过验证的任务。

确定是需要 Microsoft 托管的生成代理还是自承载生成代理。 自承载生成代理需要额外的管理,必须强化

从可观测性的角度来看, 实施一个流程,用于查看日志 中是否存在潜在违规行为。 根据访问日志定期查看和更新访问控制规则。 与中心团队协作,分析安全信息事件管理 (SIEM) 和安全业务流程自动响应, (SOAR) 日志来检测异常。

请考虑要求 PAW 或 SAW 进行特权管理操作。 PAW 和 SAW 是强化的物理设备,具有显著的安全优势,但它们的实现需要仔细规划和管理。 有关详细信息,请参阅 作为特权访问故事的一部分保护设备

Azure 便利化

Microsoft Defender for Cloud 提供多种强化功能:

Internet 安全中心 (CIS) 在 Azure 市场 中提供强化映像。

可以使用 Azure VM 映像生成器为强化的 OS 映像生成可重复的过程。 Common Base Linux-Mariner 是 Microsoft 开发的强化 Linux 发行版,遵循安全标准和行业认证。 可以将其与 Azure 基础结构产品一起使用,以生成工作负载实现。

示例

以下过程是有关如何强化操作系统的示例:

  1. 减少占用空间。 删除映像中不必要的组件。 仅安装所需内容。

  2. 微调配置。 禁用未使用的帐户。 操作系统的默认配置具有链接到安全组的额外帐户。 如果不使用这些帐户,请在系统中禁用或删除它们。 额外标识是可用于获取服务器访问权限的威胁向量。

    禁用对文件系统的不必要的访问。 加密文件系统并微调标识和网络的访问控制。

    仅运行所需内容。 阻止默认运行的应用程序和服务。 仅批准工作负载功能所需的应用程序和服务。

  3. 维护防御。 使用最新的安全更新和修补程序定期更新操作系统组件,以缓解已知漏洞。

组织遵循情况

Azure 云采用框架提供了有关创建集中式标识和访问管理功能的指导。 有关详细信息,请参阅 Azure 标识和访问管理设计领域

CIS 基准

安全清单

请参阅完整的一组建议。