你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
安全设计原则
必须使用零信任方法生成 Well-Architected 工作负荷。 安全工作负载 可复原攻击 ,除了满足业务目标外,还包含 保密性、完整性和可用性 (也称为 CIA 三合会) 等相互关联的安全原则。 任何安全事件都有可能成为重大违规行为,损害工作负载或组织的品牌和声誉。 若要衡量工作负荷的总体策略的安全有效性,请从以下问题开始:
防御性投资是否提供有意义的成本和摩擦来防止攻击者破坏工作负载?
安全措施在限制事件的爆炸半径方面是否有效?
你是否了解控制工作负载对攻击者有何价值? 你是否了解工作负载及其数据被盗、不可用或被篡改对业务的影响?
工作负载和操作能否快速检测、响应中断并从中断中恢复?
设计系统时,请使用 Microsoft 零信任 模型作为指南针来缓解安全风险:
显式验证,以便仅受信任的标识执行源自预期位置的预期和允许的操作。 这种安全措施使得攻击者更难模拟合法用户和帐户。
在适当的持续时间内,对正确的标识、具有适当权限集的标识和正确的资产使用最低特权访问权限。 限制权限有助于防止攻击者滥用合法用户甚至不需要的权限。
假设在主要防御层发生故障时,会违反安全控制和设计补偿控制,以限制风险和损害。 这样做有助于你更好地保护工作负载,就像一个对成功 (感兴趣的攻击者,不管他们如何) 。
安全性不是一次性工作。 必须定期实施本指南。 持续改进防御和安全知识,以帮助保护工作负载免受攻击者的侵害,这些攻击者在开发创新攻击途径并将其添加到自动化攻击工具包时不断获取这些攻击途径。
设计原则旨在建立持续的安全思维模式,以帮助你在攻击者的尝试不断发展时持续改进工作负载的安全状况。 这些原则应指导体系结构、设计选择和操作过程的安全性。 从建议的方法开始,并 证明一组安全要求的好处。 设置策略后,使用 安全清单 作为下一步来推动操作。
如果未正确应用这些原则,则可能会对业务运营和收入产生负面影响。 某些后果可能很明显,例如对监管工作负载的处罚。 其他问题可能不太明显,并可能导致在检测到安全问题之前持续出现。
在许多任务关键型工作负载中,安全性与可靠性是主要考虑因素,因为某些攻击途径(如数据外泄)不会影响可靠性。 安全性和可靠性可能会将工作负载拉向相反的方向,因为以安全为中心的设计可能会引入故障点并增加操作复杂性。 安全性对可靠性的影响通常是间接的,通过操作约束引入。 仔细考虑安全性和可靠性之间的权衡。
通过遵循这些原则,可以提高安全有效性,强化工作负载资产,并与用户建立信任。
规划安全就绪情况
努力在体系结构设计决策和操作中采用和实施安全做法,并将摩擦降到最低。 |
---|
作为工作负荷所有者,你与组织共同负责保护资产。 创建与业务优先级一致的 安全就绪计划 。 这将导致明确定义的流程、足够的投资和适当的责任。 该计划应向组织提供工作负载要求,组织也分担保护资产的责任。 安全计划应将可靠性、运行状况建模和自我保存策略纳入考虑。
除了组织资产外,还需要保护工作负载本身免受入侵和外泄攻击。 零信任和中情局三合会的所有方面都应纳入计划。
功能和非功能要求、预算约束和其他注意事项不应限制安全投资或稀释保证。 同时,你需要在设计和规划安全投资时考虑到这些约束和限制。
方法 | 好处 |
---|---|
使用分段作为策略来规划 工作负载环境、流程和团队结构中的安全边界,以 隔离访问和功能。 分段策略应受业务需求驱动。 可以基于组件的关键性、分工、隐私问题以及其他因素。 |
你将能够通过定义角色和建立明确的责任线来最大程度地减少操作摩擦。 此练习还有助于确定每个角色 的访问级别 ,尤其是对关键影响帐户的访问级别。 隔离使你能够 将敏感流仅公开 给需要访问的角色和资产。 过度暴露可能会无意中导致信息流泄露。 总之,你将能够根据每个细分市场的需求 调整安全工作的大小 。 |
通过满足组织要求和工作负载用例的基于角色的安全培训,持续培养技能。 | 高技能团队可以设计、实施和监视 安全控制,这些控制措施对攻击者仍然有效 ,攻击者不断寻找利用系统的新方法。 组织范围的培训通常侧重于开发更广泛的技能集,以保护通用元素。 但是,通过基于角色的培训,可以专注于开发平台产品/服务和安全功能方面的 深入专业知识 ,以解决工作负载问题。 你需要实施这两种方法,通过 良好的设计和有效的操作来防御对手。 |
确保为工作负载制定事件响应计划。 使用行业框架来定义准备、检测、遏制、缓解和事件后活动的标准操作过程。 |
在危机发生时,必须避免混乱。 如果你有一个有据可查的计划,负责任的角色可以 专注于执行 ,而不会将时间浪费在不确定的操作上。 此外,全面的计划可以帮助你确保 满足所有修正要求。 |
通过了解工作负载团队外部的影响(如组织策略、法规合规性和行业标准)施加的安全合规性要求来增强安全态势。 | Clarity符合性要求将有助于设计正确的安全保障,并防止可能导致处罚的不合规问题。 行业标准可以提供基线,并影响你选择的工具、策略、安全措施、指南、风险管理方法和培训。 如果你知道工作负载符合性,你将能够向用户群 灌输信心 。 |
在整个工作负载的生命周期和操作中定义并强制实施团队级安全标准。 努力在编码、封闭审批、发布管理以及数据保护和保留等操作中实现一致的做法。 |
定义良好的安全做法可以 最大程度地减少疏忽 和潜在错误的外围应用。 团队将 优化工作,结果可预测, 因为方法更加一致。 随着时间的推移,遵守安全标准将帮助你 识别改进的机会,可能包括自动化,这将进一步简化工作并提高一致性。 |
将事件响应与 安全操作中心 (SOC) 组织中的集中式功能保持一 致。 | 集中事件响应功能使你能够利用专业 IT 专业人员,他们能够实时检测事件,以尽快解决潜在威胁。 |
保护机密性的设计
通过访问限制和模糊处理技术防止泄露隐私、法规、应用程序和专有信息。 |
---|
工作负载数据可以按用户、使用情况、配置、合规性、知识产权等进行分类。 不能在建立的信任边界之外共享或访问该数据。 保护机密性的工作应侧重于访问控制、不透明度以及保留与数据和系统相关的活动的审核线索。
方法 | 好处 |
---|---|
实施 强访问控制 ,仅根据需要知道的方式授予访问权限。 |
最小特权。 工作负载将受到保护,防止 未经授权的访问 和禁止的活动。 即使访问来自受信任的标识, 访问权限和公开时间也会最小化 ,因为通信路径在有限的时间内开放。 |
根据数据的类型、敏感度和潜在风险对数据进行分类。 为每个级别分配机密级别。 包括标识级别范围内的系统组件。 |
显式验证。 此评估有助于调整安全措施的大小。 你还将能够识别具有 较高潜在影响 和/或风险暴露的数据和组件。 本练习使信息保护策略 更加清晰 ,有助于确保 达成一致。 |
使用 加密保护静态、传输中和处理期间的数据。 策略基于分配的机密级别。 |
假定存在安全漏洞。 即使攻击者获得访问权限,他们 也无法读取正确加密的 敏感数据。 敏感数据包括用于在系统内进一步访问的配置信息。 数据加密可以帮助你 控制风险。 |
防范 可能导致信息无端泄露的漏洞。 |
显式验证。 尽量减少身份验证和授权实现、代码、配置、操作以及源自系统用户社交习惯的漏洞至关重要。 通过最新的安全措施,可以 阻止已知安全漏洞 进入系统。 还可以通过在整个开发周期实施常规操作来缓解随时间推移而出现的 新漏洞 ,从而持续改进安全保障。 |
防范恶意或无意访问数据而导致的数据外泄。 |
假定存在安全漏洞。 你将能够通过 阻止未经授权的数据传输来包含爆炸半径。 此外,应用于网络、标识和加密的控制将保护不同层的数据。 |
当数据流经系统的各个组件时,保持机密性级别。 |
假定存在安全漏洞。 在整个系统中强制实施机密性级别可提供一致的强化级别。 这样做可以防止将数据移动到较低安全层可能导致 的漏洞 。 |
维护所有类型的访问活动的 审核线索 。 |
假定存在安全漏洞。 审核日志支持在发生事件时 更快地进行检测和恢复 ,并帮助进行持续的安全监视。 |
保护完整性的设计
防止设计、实现、操作和数据损坏,以避免中断,从而阻止系统交付其预期实用程序或导致其运行超出规定限制。 系统应在整个工作负载生命周期中提供信息保证。 |
---|
关键是实现防止业务逻辑、流、部署过程、数据甚至较低堆栈组件(如操作系统和启动序列)遭到篡改的控制。 缺乏完整性可能会导致漏洞,从而导致机密性和可用性泄露。
方法 | 好处 |
---|---|
实施强访问控制,对系统的访问权限进行身份验证和授权。 根据特权、范围和时间最大程度地减少访问权限。 |
最小特权。 根据控件的强度,你将能够 防止或降低未经批准的修改的风险。 这有助于确保数据一致且可信。 最小化访问会限制潜在损坏的程度。 |
持续防范漏洞,并在供应链中检测漏洞 ,以阻止攻击者将软件故障注入基础结构、构建系统、工具、库和其他依赖项。 供应链应在 生成时和运行时扫描漏洞。 |
假定存在安全漏洞。 了解软件的来源并在整个生命周期内验证其真实性将提供 可预测性。 你将 提前了解漏洞 ,以便可以主动修正这些漏洞,并在生产环境中保持系统安全。 |
使用证明、代码签名、证书和加密等加密技术建立信任和验证。 通过允许信誉良好的解密来保护这些机制。 |
显式验证最小特权。 你将知道,对数据的更改或对系统的访问 由受信任的源进行验证。 即使加密数据在传输过程中被恶意参与者截获,该参与者也无法解锁或破译内容。 可以使用数字签名来确保数据在传输过程中不会被篡改。 |
确保在复制或传输数据时备份数据不可变且已加密。 | 显式验证。 你将能够放心地恢复数据,即备份 数据不会在静态、无意或恶意中更改。 |
避免或缓解允许工作负载超出预期限制和目的运行的系统实现。 | 显式验证。 如果系统具有强大的安全措施,检查使用情况是否符合其预期限制和目的,则计算、网络和数据存储的潜在滥用或篡改范围会减小。 |
用于保护可用性的设计
使用强大的安全控制,防止或最大程度地减少发生安全事件时系统和工作负载的停机时间和降级。 必须在事件期间和系统恢复后保持数据完整性。 |
---|
需要在可用性体系结构选择与安全体系结构选择之间进行平衡。 系统应具有可用性保证,以确保用户有权访问数据并且可访问该数据。 从安全角度来看,用户应在允许的访问范围内操作,并且数据必须受信任。 安全控制应阻止恶意参与者,但不应阻止合法用户访问系统和数据。
方法 | 好处 |
---|---|
防止泄露的标识误用访问权限 来获取系统的控制权。 检查 过度普遍的范围和时间限制 ,以最大程度地减少风险暴露。 |
最小特权。 此策略可降低对关键资源 的访问权限过多、不必要或滥用的风险 。 风险包括未经授权的修改,甚至删除资源。 利用平台提供的实时 (JIT) 、恰时访问 (JEA) 和基于时间的安全模式,尽可能替换长期权限。 |
使用安全控制和设计模式 来防止攻击和代码缺陷导致资源耗尽 和阻止访问。 |
显式验证。 系统不会遇到由恶意操作(如分布式拒绝服务 (DDoS) 攻击)导致的停机。 |
对利用应用程序代码、网络协议、标识系统、恶意软件防护和其他领域的 漏洞的攻击途径实施预防措施 。 |
假定存在安全漏洞。 实施代码扫描程序,应用最新的安全修补程序,更新软件,并持续使用有效的反恶意软件保护系统。 你将能够减少攻击面,以确保业务连续性。 |
确定 系统中易受风险 影响的关键组件和流的 安全控制优先级。 |
假设存在违规, 请显式验证。 定期检测和优先顺序练习可帮助你 将安全专业知识应用于系统的关键方面 。 你将能够专注于最可能和最具破坏性的威胁,并在最需要关注的领域开始风险缓解。 |
在 恢复资源和进程中 至少应用与在主环境中相同的安全严格级别,包括安全控制和备份频率。 |
假定存在安全漏洞。 灾难恢复中应具有保留的安全系统状态。 如果这样做,可以故障转移到安全的辅助系统或位置,并还原不会引入威胁的备份。 设计良好的流程可以防止安全事件阻碍恢复过程。 损坏的备份数据或无法解密的加密数据可能会减慢恢复速度。 |
维持和发展安全态势
纳入持续改进并保持警惕,以领先于不断演变其攻击策略的攻击者。 |
---|
安全状况不得随时间推移而降级。 必须不断改进安全操作,以便更有效地处理新的中断。 努力使改进与行业标准定义的阶段保持一致。 这样做可以更好地做好准备,缩短事件检测时间,并有效遏制和缓解。 持续改进应基于从过去事件中吸取的教训。
必须衡量安全状况,强制实施策略来维持这种态势,并定期验证安全缓解措施和补偿控制措施,以便在面临不断演变的威胁时持续改善安全状况。
方法 | 好处 |
---|---|
创建和维护全面的资产清单 ,其中包括有关资源、位置、依赖项、所有者和其他与安全性相关的元数据的机密信息。 尽可能 自动清 点,以便从系统派生数据。 |
组织良好的清单提供了 环境的整体视图,这使你处于针对攻击者的有利位置,尤其是在事后活动期间。 它还创建了一个业务节奏来推动通信、维护关键组件以及解除孤立资源。 |
执行威胁建模 以识别和缓解潜在威胁。 | 你将获得按其严重性级别确定优先级 的攻击途径的报告 。 你将能够快速识别威胁和漏洞并设置对策。 |
定期 捕获数据,根据 已建立的安全基线量化当前状态,并 设置修正优先级。 利用平台提供的功能进行安全态势管理和强制实施外部和内部组织实施的合规性。 |
你需要准确的报告,使重点领域清晰明了并达成一致。 你将能够立即 执行技术修正,从优先级最高的项目开始。 你还将 确定差距,从而提供改进的机会。 实施强制措施有助于防止冲突和回归,从而保持安全态势。 |
运行由工作负载团队外部的专家执行的定期安全测试,这些专家尝试在道德上攻击系统。 执行常规和集成的 漏洞扫描 ,以检测基础结构、依赖项和应用程序代码中的漏洞。 |
这些测试使你能够使用渗透测试等技术 模拟真实世界的攻击 来验证安全防御。 威胁可以作为变更管理的一部分引入。 通过将扫描程序集成到部署管道中,可以自动检测漏洞,甚至隔离使用情况,直到漏洞被删除。 |
通过快速有效的安全操作进行检测、响应和恢复。 | 此方法的主要好处是,它可以在攻击期间和攻击后 保留或恢复 CIA 三合会的安全保证 。 你需要在检测到威胁后立即收到警报,以便可以开始调查并采取适当的措施。 |
执行事后活动 ,例如根本原因分析、事后分析和事件报告。 | 这些活动提供对漏洞的影响和解决方案措施的见解,从而推动防御和操作的改进。 |
获取最新状态并保持最新状态。 随时了解更新、修补和安全修补程序。 根据审核报告、基准测试和测试活动的经验,持续评估系统并对其进行改进。 根据需要考虑自动化。 使用由安全分析提供支持的威胁情报来动态检测威胁。 定期查看工作负载是否符合安全开发生命周期 (SDL) 最佳做法。 |
你将能够确保 安全状况不会随着时间的推移而降级。 通过整合真实攻击和测试活动的结果,你将能够打击不断改进和利用新类别漏洞的攻击者。 重复任务的自动化 可降低人为错误的可能性 ,这些错误可能会带来风险。 SDL 评审使安全功能清晰明了。 SDL 可以帮助你维护工作负载资产及其安全报告的清单,其中包括来源、使用情况、运营弱点和其他因素。 |