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

安全设计原则

必须使用零信任方法构建 Well-Architected 工作负载。 除了满足业务目标外,安全工作负荷 还能够应对攻击 ,并纳入 机密性、完整性和可用性 (也称为 CIA 三合会)相关的安全原则。 任何安全事件都有可能成为损害工作负荷或组织的品牌和声誉的重大违规行为。 若要衡量工作负荷总体策略的安全性有效性,请从以下问题开始:

  • 防御性投资是否能有效增加成本和阻力,从而防止攻击者入侵并妨碍你的工作负载?

  • 安全措施是否会在限制事件的爆破半径方面有效?

  • 你是否了解控制工作负荷对攻击者有何价值? 如果工作负荷及其数据被盗、不可用或被篡改,是否了解对业务的影响?

  • 工作负载和操作能否快速检测、响应中断并从中断中恢复?

在设计系统时,使用 Microsoft 零信任模型作为指南针来降低安全风险:

  • 显式验证,以便仅受信任的身份执行预期和允许的操作,这些操作源自预期位置。 此保护措施让攻击者更难冒充合法用户和帐户。

  • 正确的标识使用最低特权访问权限,配以合适的权限集,在合适的持续时间内,并且适用于正确的资产。 限制权限可帮助防止攻击者滥用合法用户实际不需要的权限。

  • 假设违反 安全控制措施,并设计补偿控制,以在主要防御层失败时 限制风险和损坏 。 这样做可以让您像一个对成功感兴趣的攻击者一样思考(无论他们如何获得成功),从而帮助更好地保护您的工作负荷。

安全性不是一次努力就能实现的。 您必须定期实施本指南的方法。 不断提升你的防御能力和安全知识,以便在攻击者不断获得和利用创新攻击向量并将其加入自动化攻击工具包之际,更好地保护你的系统安全。

设计原则旨在建立持续的安全思维模式,帮助你在攻击者的尝试不断演变时不断改善工作负荷的安全态势。 这些原则应会指导您的体系结构、设计选择和操作过程的安全性。 从建议的方法开始,并 证明一组安全要求的好处是正当的。 设置策略后,使用 安全清单 付诸行动,作为下一步的措施。

如果这些原则应用不当,会对业务运营和收入产生负面影响。 一些后果可能是显而易见的,比如针对监管工作负荷的处罚。 其他问题可能不太明显,并且在被检测到之前可能会导致持续的安全问题。

在很多关键任务工作负荷中,安全性和可靠性是首要考虑因素,因为一些攻击途径(如数据外泄)不会影响可靠性。 安全性和可靠性可能会将工作负荷拉向相反的方向,因为关注安全性的设计可能会引入故障点并增加操作复杂性。 安全性对可靠性的影响往往是间接的,是由操作约束引起的。 认真考虑安全性和可靠性之间的权衡问题。

遵循这些原则,您可以提高安全性,强化工作负荷资产,并建立用户信任。

规划安全就绪情况

目标图标 尽量在体系结构设计决策和作中采用和实施安全做法,同时尽量减少摩擦。

作为工作负荷所有者,你与组织共同负责保护资产。 创建符合业务优先级 的安全准备计划 。 这将导致明确定义的流程、足够的投资和适当的问责。 该计划应向组织提供工作负荷要求,该组织还负责保护资产。 安全计划应纳入可靠性、运行状况建模和自我保护的策略。

除了组织资产,工作负荷本身还需要受到入侵和外泄攻击的保护。 零信任和中情局三重奏的所有方面都应纳入该计划。

功能和非功能要求、预算约束和其他注意事项不应限制安全投资或稀释保证。 同时,需要考虑到这些约束和限制来设计和规划安全投资。

方法 益处
使用分段作为策略来规划 工作负荷环境、流程和团队结构中的安全边界, 以隔离访问和功能

分段策略应由业务需求驱动。 你可以将其基于组件的关键性、分工、隐私问题和其他因素。
通过定义角色并建立明确的责任线,可以最大程度地减少运营摩擦。 本练习还有助于确定每个角色 的访问级别 ,尤其是对关键影响帐户的访问级别。

通过隔离,可以将 敏感流公开 限制为仅需要访问权限的角色和资产。 过度暴露可能会导致信息流泄露。

总之,可以根据每个细分的需求 来正确调整安全工作规模
通过基于角色的安全培训持续构建技能,以满足组织的要求和工作负荷的用例。 高度熟练的团队可以设计、实施和监视 安全控制,这些控制措施对攻击者保持有效 ,攻击者不断寻找利用系统的新方法。

组织范围的培训通常侧重于开发更广泛的技能集来保护通用元素。 通过基于角色的培训,你将专注于在平台功能和应对工作负载挑战的安全特性方面建立深入的专业知识。

你需要实施这两种方法,通过 良好的设计和有效的作来抵御对手。
确保你的工作负荷有事件响应计划。

使用行业框架来定义准备、检测、遏制、缓解和事件后活动的标准操作程序。
在危机发生时,必须避免混乱。

如果你有一个记录完善的计划,负责任的职能可以专注于执行,而无需在不确定的活动上浪费时间。 此外,全面的计划可以帮助你确保 满足所有修正要求
了解组织策略、法规合规性和行业标准等工作负荷团队外部因素施加的安全符合性要求,以此增强您的安全态势。 明确合规性要求将有助于你 设计正确的安全保证防止不合规 问题,这可能会导致处罚。

行业标准可以提供基线并影响你选择的工具、策略、安全措施、准则、风险管理方法和培训。

如果你知道工作负载符合要求,你将能够在用户群中灌输信心。
在整个工作负荷的生命周期和作中定义并强制实施团队级安全标准

在编码、封闭审批、发布管理和数据保护和保留等作中,努力实现一致的做法
定义良好的安全做法可以 最大程度地减少疏忽 和潜在错误的攻击面。 团队将 优化工作,结果可预测 ,因为方法更加一致。

随着时间推移观察安全标准,可以 识别改进机会,可能包括自动化,这将进一步简化工作并提高一致性。
将事件响应与组织中的 安全作中心(SOC)集中功能 保持一致。 集中事件响应功能使你能够利用专门的 IT 专业人员来实时检测事件,以尽快应对潜在威胁。

保护机密性的设计

目标图标 通过访问限制和模糊处理技术防止暴露隐私、法规、应用程序和专有信息。

工作负荷数据可以按用户、使用情况、配置、合规性、知识产权等进行分类。 无法共享或访问超出已建立的信任边界的数据。 保护机密性的努力应侧重于访问控制、不透明度以及保留与数据和系统相关的活动的审核线索。

方法 益处
实现 强访问控制 ,仅在需要时授予访问权限。 最低特权

工作负荷将受到 未经授权的访问 和禁止的活动的保护。 即使访问来自受信任的身份,访问权限和暴露时间也将缩短到最小,因为通信路径只在有限时间内开放。
根据数据类型、敏感度和潜在风险对数据进行分类。 为每个级别分配机密级别。

包括标识级别范围内的系统组件。
显式验证

此评估可帮助你正确调整安全措施大小。

你还将能够识别具有 较高潜在影响 和/或风险暴露的数据和组件。 本练习为信息保护策略增添 了清晰性 ,并帮助确保 达成一致
使用 加密保护静态、传输中和处理过程中的数据。 根据分配的机密级别制定策略。 假设存在违规

即使攻击者获得访问权限,他们 也无法读取正确加密的 敏感数据。

敏感数据包含用于获得系统内部进一步访问权限的配置信息。 数据加密可以帮助你 控制风险
防范 可能导致信息泄露不合理的攻击。 显式验证

至关重要的是,尽量减少身份验证和授权的实现、代码、配置、操作以及源自系统用户社交习惯的漏洞。

最新的安全措施使你能够 阻止已知的安全漏洞 进入系统。 还可以通过在整个开发周期内实施常规作来缓解一段时间内可能出现 的新漏洞 ,从而持续提高安全保证。
防范因恶意或无意访问数据而导致的数据外泄 假设存在违规

可以通过 阻止未经授权的数据传输来控制影响范围。 此外,应用于网络、标识和加密的控件将保护各个层的数据。
当数据流经系统的各个组件时,保持保密级别 假设存在违规

通过在整个系统中强制实施机密性级别,可以确保系统安全性的一致性。 这样做可以防止可能导致将数据移动到较低安全层的 漏洞
维护所有类型的访问活动的 审计日志 假设存在违规

审核日志支持在发生事件时 更快地检测和恢复 ,并帮助进行持续的安全监视。

保护完整性的设计

目标图标 防止设计、实现、作和数据损坏,以避免中断,从而阻止系统交付其预期实用工具或导致其运行超出规定的限制。 系统应在整个工作负荷生命周期中提供信息保证。

关键是实现控制措施,防止篡改业务逻辑、流、部署过程、数据,甚至较低堆栈组件,例如作系统和启动序列。 缺乏完整性可能会引入可能导致机密性和可用性泄露的漏洞。

方法 益处
实现对系统进行身份验证和授权的强访问控制。

基于特权、范围和时间最大程度地减少访问。
最低特权

根据控件的强度,你将能够 防止或降低未经批准的修改的风险。 这有助于确保数据一致且可信。

最大程度地减少访问限制潜在的损坏程度。
持续防范漏洞,并检测供应链中的漏洞, 以阻止攻击者将软件故障注入基础结构、生成系统、工具、库和其他依赖项。

供应链应在 生成时间和运行时扫描漏洞。
假设存在违规

了解软件的来源并在整个生命周期内验证其真实性将提供 可预测性。 提前 了解漏洞 ,以便主动修正这些漏洞,并使系统在生产环境中保持安全。
使用证明、代码签名、证书和加密等加密技术建立信任和验证

通过允许信誉良好的解密来保护这些机制。
显式验证最小特权。

你将知道对数据的更改或对系统的访问 是由受信任的源验证的

即使恶意参与者在传输中截获加密数据,执行组件也无法解锁或解码内容。 可以使用数字签名来确保在传输过程中数据不会被篡改。
确保在复制或传输数据时备份数据不可变且加密 显式验证。

你将能够放心地恢复数据,确保备份数据在静止状态下未被更改,无论是无意还是恶意的更改。
避免或缓解允许工作负荷在其预期限制和目的之外运行的系统实现。 显式验证。

如果系统具有强大的安全措施,检查使用情况是否符合其预期限制和目的,则会减少计算、网络和数据存储的潜在滥用或篡改范围。

保护可用性的设计

目标图标 使用强大的安全控制来防止或最小化在发生安全事件时系统与工作负载的停机和性能降级。 必须在事件期间和系统恢复后维护数据完整性。

需要平衡可用性体系结构选择与安全体系结构选择。 系统应提供可用性保证,以确保用户有权访问数据,并且可以访问该数据。 从安全角度,用户应该在允许的访问范围内操作,并且数据必须可信。 安全控制应阻止不良参与者,但他们不应阻止合法用户访问系统和数据。

方法 益处
防止被破坏的身份滥用访问权限以获取系统控制权

检查 过度普遍的范围和时间限制 ,以尽量减少风险暴露。
最低特权

此策略 可降低对关键资源的过度、不必要的或滥用访问权限的风险 。 风险包括未经授权的修改,甚至删除资源。 充分利用平台提供的及时访问(JIT)、最小必要访问(JEA)和基于时间的安全模式,以尽可能替换固有权限。
使用安全控制和设计模式 防止攻击和代码缺陷导致资源耗尽 和阻止访问。 显式验证

系统不会经历恶意作导致的停机,例如分布式拒绝服务(DDoS)攻击。
对利用应用程序代码、网络协议、标识系统、恶意软件防护和其他领域的 漏洞的攻击途径实施预防措施 假设存在违规

实现代码扫描程序,应用最新的安全修补程序,更新软件,并持续使用有效的反恶意软件保护系统。

你将能够减少攻击面,以确保业务连续性。
确定 系统中易受风险 的关键组件和流的 安全控制优先级。 假设已被攻破显式验证

定期检测和优先顺序练习可帮助你 将安全专业知识应用于系统的关键方面 。 你将能够专注于最有可能和破坏性的威胁,并在需要最关注的领域启动风险缓解。
在恢复资源和进程中应用至少与在主要环境中相同的安全控制级别和频率,包括安全控制和备份频率。 假设存在违规

应在灾难恢复中保留一个已备份的安全系统状态。 如果这样做,可以切换到安全的备用系统或位置,并还原不会带来威胁的安全备份。

设计良好的进程可以防止安全事件妨碍恢复过程。 损坏的备份数据或无法解码的加密数据可能会降低恢复速度。

维持和改善安全状况

目标图标 结合持续改进并保持警惕,以领先于不断演变攻击策略的攻击者。

安全状况不能随着时间的推移而降级。 必须不断改进安全操作,以便更有效地处理新出现的威胁。 努力使改进与行业标准定义的阶段保持一致。 这样做会导致更好的准备、缩短事件检测的时间以及有效的遏制和缓解措施。 持续改进应基于从过去事件中吸取的经验教训。

请务必衡量安全状况、强制实施策略来维护该态势,并定期验证安全缓解措施和补偿控制措施,以便在面临不断演变的威胁时持续改善安全状况。

方法 益处
创建和维护包含 有关资源、位置、依赖项、所有者和其他与安全性相关的元数据的机密信息的综合资产清单。

尽可能自动化 库存,以便从系统派生数据。
组织良好的清单提供了 环境的整体视图,使你处于针对攻击者的有利位置,尤其是在事后活动期间。

它还营造业务节奏,以促进沟通、维护关键组件以及停用无人管理的资源。
执行威胁建模 以识别和缓解潜在威胁。 你将拥有一份攻击向量的报告,按照其严重性级别进行优先级排序。 你将能够快速识别威胁和漏洞,并设置对策。
定期 捕获数据,以 根据已建立的安全基线量化当前状态,并为 修正设置优先级

利用平台提供的功能来进行安全态势管理以及实施由外部和内部组织强制执行的合规管理
您需要准确的报告,以便让重点领域更加清晰,并达成共识。 可以从优先级最高的项开始,立即 执行技术修正。 你还将 确定差距,从而为改进提供机会。

实施强制措施有助于防止冲突和回归,从而保持安全态势。
运行由工作负荷团队外部的专家进行的定期安全测试,这些专家试图对系统进行道德化的渗透测试。

执行例程和集成的 漏洞扫描 ,以检测基础结构、依赖项和应用程序代码中的漏洞。
这些测试使你能够通过使用渗透测试等技术 模拟实际攻击 来验证安全防御。

威胁可以作为变更管理的一部分引入。 通过将扫描程序集成到部署管道中,可以自动检测漏洞,甚至隔离使用情况,直到删除漏洞为止。
通过快速有效的安全作检测、响应和恢复 此方法的主要好处是,它使您能够在攻击期间和之后 保留或还原中情局三合会的安全保证

检测到威胁后,需要立即发出警报,以便启动调查并采取适当的措施。
执行事件后活动 ,例如根本原因分析、事后验尸和事件报告。 这些活动提供了关于安全漏洞影响和解决措施的见解,从而推动对防御和操作的改进。
获取当前状态并保持最新状态。

请随时关注更新、补丁和安全修复。

持续评估系统,并根据测试活动中的审核报告、基准测试和课程对其进行改进。 根据需要考虑自动化。

使用由安全分析提供支持的威胁智能来动态检测威胁。

定期查看工作负荷是否符合安全开发生命周期(SDL)最佳做法。
你将能够确保 安全状况不会随时间推移而下降

通过集成实际攻击和测试活动的发现,你将能够打击不断改进和利用新类别漏洞的攻击者。

重复任务的自动化 可降低可能导致风险的人为错误的可能性

SDL 评审使安全功能更加清晰。 SDL 可帮助你维护工作负荷资产及其安全报表的清单,其中包括源、使用情况、作弱点和其他因素。

后续步骤