你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
强化资源的建议
适用于此 Azure 架构良好的框架安全清单建议:
SE:08 | 通过减少多余的外围应用并收紧配置来提高攻击者成本,强化所有工作负荷组件。 |
---|
本指南介绍了通过在工作负荷中开发本地化控件并维护资源来抵御反复攻击来强化资源的建议。
安全强化是一种有意的自我保护练习。 目标是减少攻击面,并增加攻击者在其他领域的成本,从而限制恶意参与者利用漏洞的机会。 若要保护工作负荷,请实施安全最佳做法和配置。
安全强化是一个持续的过程 ,需要持续监视和适应不断演变的威胁和漏洞。
定义
术语 | 定义 |
---|---|
强化 | 通过删除多余的资源或调整配置来减少攻击外围应用的做法。 |
特权访问工作站 (PAW) | 用于执行敏感任务的专用安全计算机,可降低泄露风险。 |
安全管理工作站 (SAW) | 关键影响帐户使用的专用 PAW。 |
表面积 | 包含漏洞的工作负荷的逻辑占用。 |
关键设计策略
安全强化是高度本地化的练习,可 增强组件级别的控制,无论是资源还是进程。 当收紧每个组件的安全性时,它会提高工作负荷的聚合安全保证。
安全强化不考虑工作负荷的功能,也不会检测威胁或执行自动扫描。 安全强化侧重于配置优化,采用假设漏洞和深层防御心态。 目标是使攻击者难以控制系统。 强化不应更改工作负荷或其操作的预期实用工具。
生成工作负荷资产清单
强化过程的第一步是收集所有硬件、软件和数据资产的综合清单。 通过添加新资产并删除已解除授权的资产,使库存记录保持最新。 对于库存中的所有资产,请考虑以下最佳做法:
减少占用空间。 删除多余的外围应用或缩小范围。 消除简单的目标,或廉价和完善的攻击途径,如未修补的软件攻击和暴力攻击。 在生产部署之前,应从源树清理标识、生成组件和其他未获得的资产。
微调配置。 评估和收紧剩余外围应用。 资源强化后,攻击者使用的尝试和测试方法不再成功。 它强制攻击者获取和使用高级或未经测试的攻击方法,从而增加其成本。
维护防御。 通过执行 持续威胁检测 来维护保护措施,以帮助确保随着时间的推移,强化工作是可靠的。
另请考虑以下因素。
受信任的源。 强化练习的一部分涉及软件供应链。 本指南假定 所有组件都从受信任的源获取。 组织必须批准从第三方供应商采购的软件。 此审批适用于操作系统、映像和其他第三方工具的来源。 如果没有受信任的资源,强化可能会无限耗尽对不受信任的源的安全保证。
有关供应链安全性的建议,请参阅 有关保护开发生命周期的建议。
训练。 强化是一项专门技能。 这是有条不紊的,需要高水平的能力。 你需要了解组件的功能以及更改如何影响组件。 团队成员必须能够辨别来自行业专家和平台的指导,以便将其与不确定来源的指南区分开来。 教育团队成员创造一种安全意识文化。 确保团队 精通安全最佳做法,了解潜在威胁,并从事后回顾中学习。
文档 记录和发布强化要求、决策和定义的方法。 为了提高透明度,还 记录了与这些要求的异常或偏差 。
强化可能很麻烦,但必须记录这是一项关键的安全练习。 首先强化核心组件,然后扩展到其他领域,如自动化流程和人工流程,以收紧潜在的差距。 一丝不苟地了解变化。 例如,必要的步骤是禁用默认设置,因为对默认值的更改可能会影响系统的稳定性。 即使替换配置与默认值相同,也必须定义它。 以下部分介绍强化的常见目标。 评估工作负荷的关键设计领域,并遵循关键策略在组件级别强化。
强化网络组件
将网络划分为细分市场 ,以隔离关键资产和敏感数据,避免安全性较低的资产,从而减少攻击者的横向移动。 在这些段中,应用 默认 拒绝方法。 仅当允许列表合理时,才添加对允许列表的访问权限。
禁用未主动使用的端口和协议。 例如,在Azure App 服务上,如果不需要通过 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 是一种强化的 Linux 分发版,由遵循安全标准和行业认证的Microsoft开发。 可以将它与 Azure 基础结构产品一起使用,以生成工作负载实现。
示例
以下过程是如何强化操作系统的示例:
减少占用空间。 删除映像中不必要的组件。 仅安装所需的内容。
微调配置。 禁用未使用的帐户。 操作系统的默认配置具有链接到安全组的额外帐户。 如果不使用这些帐户,请禁用或删除这些帐户。 额外的标识是可用于获取服务器访问权限的威胁向量。
禁用对文件系统的不必要的访问。 加密文件系统并微调标识和网络的访问控制。
仅运行所需的内容。 阻止默认运行的应用程序和服务。 仅批准工作负荷功能所需的应用程序和服务。
维护防御。 使用最新的安全更新和修补程序定期更新操作系统组件,以缓解已知漏洞。
相关链接
社区链接
安全清单
请参阅完整的建议集。