在本文中,我们将讨论 Azure 标识管理和访问控制安全最佳做法的集合。 根据我们在Microsoft Entra ID上的经验,以及像您这样的客户的经验,总结出这些最佳实践。
对于每项最佳做法,本文将说明:
- 最佳实践是什么
- 为何要启用该最佳实践
- 如果无法启用该最佳实践,可能的结果是什么
- 最佳实践的可能替代方案
- 如何学习启用最佳实践
本文撰写时,此 Azure 标识管理和访问控制安全最佳做法文章基于共识意见和 Azure 平台功能和功能集。
本文撰写的目的是在部署后提供更可靠的安全状况的一般路线图,由“保护标识基础结构的 5 个步骤”清单指导,该清单将引导你完成一些核心功能和服务。
意见和技术随时间而变化,本文将定期更新,以反映这些更改。
本文中讨论的 Azure 标识管理和访问控制安全最佳做法包括:
- 将身份视为主要安全边界
- 集中身份管理
- 管理连接的租户
- 启用单一登录
- 启用条件访问
- 规划例行安全改进
- 启用密码管理
- 对用户强制执行多重身份验证
- 使用基于角色的访问控制
- 降低特权帐户的曝光率
- 控制资源所在的位置
- 使用 Microsoft Entra ID 进行存储身份验证
将身份视为主要的安全边界
许多人认为身份是安全的主要边界。 这是从传统关注网络安全的转变。 网络外围不断变得多孔,外围防御不能像 在 BYOD 设备和云应用程序爆炸前那样有效。
Microsoft Entra ID 是用于标识和访问管理的 Azure 解决方案。 Microsoft Entra ID 是来自Microsoft的多租户基于云的目录和标识管理服务。 它将核心目录服务、应用程序访问管理和标识保护融入一个解决方案中。
以下部分列出了使用 Microsoft Entra ID 标识和访问安全性的最佳做法。
最佳做法:围绕用户和服务身份进行安全控制和检测。 详细信息:使用 Microsoft Entra ID 并置控件和标识。
集中身份管理
在混合标识方案中,建议集成本地目录和云目录。 集成使 IT 团队能够从一个位置管理帐户,而不考虑创建帐户的位置。 集成还提供用于访问云和本地资源的通用标识,从而帮助用户提高工作效率。
最佳做法:建立单个Microsoft Entra 实例。 一致性和单个权威源将提高清晰度,并降低人为错误和配置复杂性的安全风险。
详细信息:将单个Microsoft Entra 目录指定为企业和组织帐户的权威来源。
最佳做法:将本地目录与 Microsoft Entra ID 集成。
详细信息:使用 Microsoft Entra Connect 将本地目录与云目录同步。
注释
有 一些因素会影响 Microsoft Entra Connect 的性能。 确保 Microsoft Entra Connect 具有足够的容量,以防止性能不佳的系统影响安全性和工作效率。 大型或复杂的组织(预配超过 100,000 个对象的组织)应遵循 建议 来优化其Microsoft Entra Connect 实现。
最佳做法:不要将帐户同步到在现有 Active Directory 实例中具有高特权的 Microsoft Entra ID。
详细信息:不要更改筛选掉这些帐户的默认 Microsoft Entra Connect 配置 。 此配置可缓解攻击者从云到本地资产进行转移(这可能会造成严重事件)的风险。
最佳做法:启用密码哈希同步。
详细信息:密码哈希同步是一项功能,用于将用户密码哈希从本地 Active Directory 实例同步到基于云的Microsoft Entra 实例。 此同步有助于防止重放先前攻击中泄露的凭据。
即使您决定与 Active Directory 联合身份验证服务(AD FS)或其他身份提供者联合使用,也可以选择将密码哈希同步作为备用,以应对本地服务器故障或暂时不可用的情况。 此同步使用户能够使用用于登录到其本地 Active Directory 实例的相同密码登录到服务。 它还允许身份保护通过将同步的密码哈希与已知泄露的密码进行比较来检测凭据是否被泄露,特别是在用户在与 Microsoft Entra ID 无关的其他服务上使用相同的电子邮件地址和密码时。
有关详细信息,请参阅使用 Microsoft Entra Connect Sync 实现密码哈希同步。
最佳做法:对于新的应用程序开发,请使用 Microsoft Entra ID 进行身份验证。
详细信息:使用正确的功能来支持身份验证:
- 面向员工的 Microsoft Entra ID
- 供来宾用户和外部合作伙伴使用的Microsoft Entra B2B
- Microsoft Entra 外部 ID,控制客户在使用应用程序时如何注册、登录和管理其个人资料
不将其本地标识与其云标识集成的组织在管理帐户时可能会产生更多的开销。 这种开销增加了出错和安全漏洞的可能性。
注释
你需要选择哪些关键帐户将驻留在哪些目录,以及所使用的管理工作站是由新的云服务还是现有进程管理。 使用已有的管理和身份管理流程可能会降低一些风险,但也可能导致攻击者入侵本地帐户并转而攻击云服务的风险。 你可能想要对不同的角色使用不同的策略(例如,IT 管理员与业务部门管理员)。 你有两个选项。 第一个选项是创建未与您本地 Active Directory 实例同步的 Microsoft Entra 帐户。 将您的管理员工作站加入 Microsoft Entra ID,并使用 Microsoft Intune 来管理和修补它。 第二个选项是通过同步到本地 Active Directory 实例来使用现有管理员帐户。 使用 Active Directory 域中的现有工作站进行管理和安全性。
管理连接的租户
安全组织需要可见性来评估风险,并确定组织的策略以及是否遵循任何法规要求。 应确保安全组织能够查看连接到生产环境和网络的所有订阅(通过 Azure ExpressRoute 或 站点到站点 VPN)。 Microsoft Entra ID 中的 全局管理员 可以提升他们对 用户访问管理员 角色的访问权限,并查看连接到环境的所有订阅和托管组。
查看 提升访问权限以管理所有 Azure 订阅和管理组 ,以确保你和安全组可以查看连接到环境的所有订阅或管理组。 评估风险后,应删除此提升的访问权限。
启用单一登录
在移动优先的云优先世界中,你希望从任何位置启用设备、应用和服务的单一登录(SSO),以便用户随时随地都能高效工作。 如果有多个标识解决方案要管理,这不仅对 IT,而且对于必须记住多个密码的用户,这将成为一个管理问题。
通过对所有应用和资源使用相同的标识解决方案,可以实现 SSO。 用户可以使用同一组凭据登录和访问所需的资源,无论资源位于本地还是云中。
最佳做法:启用 SSO。
详细信息:Microsoft Entra ID 将本地 Active Directory 扩展到 云。 用户可以将其主要工作或学校帐户用于其已加入域的设备、公司资源以及他们需要完成作业的所有 Web 和 SaaS 应用程序。 用户不必记住多个用户名和密码集,并且可以根据其组织组成员身份及其作为员工的状态自动预配其应用程序访问权限(或取消预配)。 您可以控制图库应用的访问权限,或者控制通过 Microsoft Entra 应用程序代理开发和发布的您自己的本地应用的访问权限。
使用 SSO,用户可以基于其工作或学校帐户在 Microsoft Entra ID 中访问其 SaaS 应用程序 。 这不仅适用于Microsoft SaaS 应用,也适用于 Google Apps 和 Salesforce 等其他应用。 可以将应用程序配置为将 Microsoft Entra ID 用作 基于 SAML 的标识 提供者。 作为安全控制措施,除非用户已通过 Microsoft Entra ID 获得访问权限,否则 Microsoft Entra ID 不会颁发允许用户登录应用程序的令牌。 可以直接授予访问权限,也可以通过用户所属的组授予访问权限。
不为用户和应用程序创建通用标识以建立单点登录(SSO)的组织会更容易遇到用户拥有多个密码的风险。 这些方案增加了用户重用密码或使用弱密码的可能性。
启用条件访问
用户可以从任意位置使用各种设备和应用来访问组织的资源。 作为一名 IT 管理员,你需要确保这些设备符合安全性和符合性标准。 仅专注于谁可以访问资源就不够了。
为了平衡安全性与工作效率,在做出访问控制决策之前,需要考虑如何访问资源。 使用 Microsoft Entra 条件访问时,可以满足此要求。 使用条件访问,可以根据访问云应用的条件做出自动访问控制决策。
最佳做法:管理和控制对公司资源的访问。
详细信息:根据 SaaS 应用和 Microsoft Entra ID 连接的应用的组、位置和应用程序敏感度配置常见Microsoft Entra 条件访问策略 。
最佳做法:阻止旧身份验证协议。
详细信息:攻击者每天都在利用旧协议中的弱点,尤其是密码喷射攻击。 配置条件访问以 阻止旧协议。
计划常规安全改进
安全性始终在不断演变,重要的是在您的云和身份管理框架中构建一种机制,以便定期展示进展并发现新的方法来保护您的环境。
身份安全评分是一组由 Microsoft 发布的建议的安全控制措施,用于提供一个数字分数,从而客观衡量您的安全态势,并帮助规划未来的安全改进。 您还可以查看与其他行业的分数比较,以及自己的历史趋势。
最佳做法:根据行业最佳做法规划例行安全评审和改进。
详细信息:使用“标识安全评分”功能对改进进行一段时间内的排名。
启用密码管理
如果你有多个租户,或者希望允许用户 重置自己的密码,请务必使用适当的安全策略来防止滥用。
最佳做法:为用户设置自助密码重置(SSPR)。
详细信息:使用 Microsoft Entra ID 自助密码重置 功能。
最佳做法:监视是否在使用 SSPR 及其使用情况。
详细信息:使用 Microsoft Entra ID 密码重置注册活动报告监视正在注册的用户。 Microsoft Entra ID 提供的报表功能可帮助使用预生成的报告来回答问题。 如果有相应的授权,还可以创建自定义查询。
最佳做法:将基于云的密码策略扩展到本地基础结构。
详细信息:通过执行与基于云的密码更改相同的检查来增强组织中的密码策略。 为本地 Windows Server Active Directory 代理安装 Microsoft Entra 密码保护 ,以将受禁密码列表扩展到现有基础结构。 需要更改、设置或重置本地密码的用户和管理员符合与仅限云用户相同的密码策略。
对用户强制执行多重身份验证
建议对所有用户要求进行双重验证。 这包括组织中的管理员和其他人员,如果他们的帐户泄露,可能会产生重大影响(例如,财务官员)。
要求双重验证有多种选项。 最佳选择取决于目标、正在运行的 Microsoft Entra 版本和许可计划。 请参阅 “如何要求用户进行双重验证 ”,以确定最适合你的选项。 有关许可证和定价的详细信息,请参阅 Microsoft Entra ID 和 Microsoft Entra 多重身份验证 定价页。
以下是启用双重验证的选项和优势:
选项 1:使用 Microsoft Entra Security Defaults 为所有用户和登录方法启用 MFA
权益:此选项使你能够使用严格的策略轻松快速地为环境中的所有用户强制实施 MFA:
- 质询管理帐户和管理登录机制
- 要求通过 Microsoft Authenticator 对所有用户进行 MFA 质询
- 限制旧身份验证协议。
此方法可用于所有许可层,但不能与现有的条件访问策略混合使用。 可以在 Microsoft Entra Security Defaults 中找到详细信息
选项 2: 通过更改用户状态启用多重身份验证。
优点:这是要求双重验证的传统方法。 它适用于 云中的 Microsoft Entra 多重身份验证和 Azure 多重身份验证服务器。 使用此方法要求用户在每次登录时都执行双重验证,并且会替代条件访问策略。
若要确定需要启用多重身份验证的位置,请参阅哪个版本的 Microsoft Entra 多重身份验证适合我的组织?
选项 3: 使用条件访问策略启用多重身份验证。
权益:此选项允许使用 条件访问在特定条件下提示进行双重验证。 特定条件可以是用户从不同位置、不受信任的设备或你认为存在风险的应用程序登录。 定义要求双重验证的特定条件可以避免不断提示用户这种令人不快的用户体验。
这是为用户启用双重验证最灵活的方式。 “启用条件访问”策略只适用于云中的 Microsoft Entra 多重身份验证,这是 Microsoft Entra ID 的一项高级功能。 可以在 Deploy cloud-based Microsoft Entra 多重身份验证中找到有关此方法的详细信息。
选项 4:启用多重身份验证,并通过评估基于风险的条件访问策略实施条件访问策略。
权益:使用此选项可以:
- 检测影响组织标识的潜在漏洞。
- 配置自动响应以检测到与组织标识相关的可疑作。
- 调查可疑事件,并采取适当的措施进行解决。
此方法使用“Microsoft Entra ID 标识保护”风险评估来确定是否需要基于所有云应用程序的用户和登录风险进行双重验证。 此方法需要 Microsoft Entra ID P2 许可。 可以在 Microsoft Entra ID Protection 中找到有关此方法的详细信息。
注释
选项 2 是“通过更改用户状态启用多重身份验证”,它替代了条件访问策略。 因为选项 3 和 4 使用条件访问策略,所以无法将选项 2 与这两个选项结合使用。
不添加额外的标识保护层的组织(例如双重验证)更容易受到凭据盗窃攻击。 凭据窃取攻击可能导致数据泄漏。
使用基于角色的访问控制
云资源的访问管理对于使用云的任何组织都至关重要。 Azure 基于角色的访问控制 (Azure RBAC) 可帮助你管理谁有权访问 Azure 资源、他们可以对这些资源执行哪些操作以及他们有权访问哪些区域。
指定负责 Azure 中特定函数的组或单个角色有助于避免混淆,从而导致人为和自动化错误,从而造成安全风险。 根据 需要知道 和 最低特权 安全原则限制访问对于想要强制实施数据访问安全策略的组织来说,这一点至关重要。
安全团队需要了解 Azure 资源,以便评估和修正风险。 如果安全团队具有作职责,则需要其他权限才能完成其工作。
可以使用 Azure RBAC 将权限分配给特定范围内的用户、组和应用程序。 角色分配的范围可以是订阅、资源组或单个资源。
最佳做法:在团队中分离职责,并仅授予他们执行作业所需的用户访问权限。 不要在 Azure 订阅或资源中为每个人提供不受限制的权限,而只允许特定范围内的某些作。
详细信息:使用 Azure 中的 Azure 内置角色 向用户分配特权。
注释
特定的权限会造成不必要的复杂性和混乱,进而积累为很难在不担心造成破坏的情况下进行修复的“旧”配置。 避免资源特定的权限。 而是将管理组用于企业范围的权限,而资源组则用于订阅中的权限。 避免使用用户特定的权限。 而是向 Microsoft Entra ID 中的组分配权限。
最佳做法:授予具有 Azure 职责的安全团队查看 Azure 资源的权限,以便他们可以评估和修正风险。
详细信息:向安全团队授予 Azure RBAC 安全读取者 角色。 可以使用根管理组或段管理组,具体取决于职责范围:
- 根管理组适用于负责所有企业资源的团队
- 细分管理组适用于范围有限的团队(通常是因为监管或其他组织边界)
最佳做法:向具有直接作责任的安全团队授予适当的权限。
详细信息:查看 Azure 内置角色以获取相应的角色分配。 如果内置角色不符合组织的特定需求,则可以创建 Azure 自定义角色。 与内置角色一样,可以在订阅、资源组和资源范围内向用户、组和服务主体分配自定义角色。
最佳做法:向 Microsoft Defender for Cloud 授予对需要它的安全角色的访问权限。 Defender for Cloud 允许安全团队快速识别和修正风险。
详细信息:将具有以下需求的安全团队添加到 Azure RBAC 安全管理员 角色,以便他们可以查看安全策略、查看安全状态、编辑安全策略、查看警报和建议,以及消除警报和建议。 可以使用根管理组或段管理组来执行此作,具体取决于职责范围。
使用 Azure RBAC 等功能不强制实施数据访问控制的组织可能会为其用户提供比必要权限更多的权限。 这可能会导致数据泄露,方法是允许用户访问他们不应拥有的数据类型(例如业务影响较高)。
降低特权帐户的曝光率
保护特权访问是保护业务资产的关键第一步。 减少拥有访问权限的人员以保护信息或资源安全,这样可以减小恶意用户获得访问权限,或者已授权用户无意中影响敏感资源的可能性。
特权帐户是指掌控和管理 IT 系统的帐户。 网络攻击者会攻击这些帐户来获取组织数据和系统的访问权限。 为了保护特权访问,应隔离此类帐户和系统,使其免受恶意用户的威胁。
建议制定并遵循路线图来保护针对网络攻击者的特权访问。 若要了解如何创建详细的路线图来保护Microsoft Entra ID、Microsoft Azure、Microsoft 365 和其他云服务中托管或报告的标识和访问,请查看 Microsoft Entra ID 中混合和云部署的安全特权访问。
下面总结了在 Microsoft Entra ID 中保护混合部署和云部署的特权访问中的最佳做法:
最佳做法:管理、控制和监视对特权帐户的访问。
详细信息:打开 Microsoft Entra Privileged Identity Management。 启用 Privileged Identity Management 以后,会收到有关特权访问角色更改的通知电子邮件。 当将其他用户添加到目录中的高特权角色时,这些通知会提供早期警告。
最佳做法:确保所有关键管理员帐户都是托管的 Microsoft Entra 帐户。 详细信息:从关键管理员角色中删除所有使用者帐户(例如,hotmail.com、live.com 和 outlook.com 等 Microsoft 帐户)。
最佳做法:确保所有关键管理员角色都有一个单独的帐户来执行管理任务,以免发生网络钓鱼和其他入侵管理权限的攻击。
详细信息:创建一个单独的管理员帐户,向其分配执行管理任务所需的权限。 禁止将这些管理帐户用于日常效率提升工具(如 Microsoft 365 电子邮件)或任意 Web 浏览。
最佳做法:对特许权限高的角色中的帐户进行标识和分类。
详细信息:启用 Microsoft Entra Privileged Identity Management 后,查看角色为全局管理员、特权角色管理员和其他高特权角色的用户。 请删除在这些角色中不再需要的任何帐户,并对剩余的分配给管理员角色的帐户分类:
- 单独分配给管理用户,可用于非管理目的(例如个人电子邮件)
- 单独分配给管理用户,按规定只能用于管理目的
- 跨多个用户共享
- 适用于紧急访问情况
- 适用于自动化脚本
- 适用于外部用户
最佳做法:实行“实时”(JIT) 访问可进一步降低特权的曝光时间,并提高对特权帐户使用情况的可见性。
详细信息:Microsoft Entra Privileged Identity Management 可以让您:
- 限制用户只接受他们的权限 JIT。
- 分配时限更短的角色,确信权限会自动撤消。
最佳做法:定义至少两个紧急访问帐户。
详细信息:紧急访问帐户可帮助组织限制现有Microsoft Entra 环境中的特权访问。 这些帐户具有很高的特权,不会分配给特定个人。 紧急访问帐户仅限于无法使用普通管理帐户的方案。 组织必须仅将紧急帐户的使用限制为必要的时间量。
评估已分配或有资格获得全局管理员角色的帐户。 如果未看到任何仅限云的帐户,请使用 *.onmicrosoft.com
域(用于紧急访问)创建它们。 有关详细信息,请参阅 Microsoft Entra ID 中管理紧急访问管理帐户。
最佳做法:在紧急情况下执行“破玻璃”过程。
详细信息:请按照Microsoft Entra ID中确保特权访问安全的步骤进行混合和云部署。
最佳做法:要求所有关键管理员帐户无密码(首选),或要求多重身份验证。
详细信息:使用 Microsoft Authenticator 应用 在不使用密码的情况下登录到任何Microsoft Entra 帐户。 与 Windows Hello 企业版一样,Microsoft Authenticator 使用基于密钥的身份验证来启用绑定到设备并使用生物识别身份验证或 PIN 的用户凭据。
对于永久分配到一个或多个Microsoft Entra 管理员角色的单个用户,需要在登录时Microsoft Entra 多重身份验证:全局管理员、特权角色管理员、Exchange Online 管理员和 SharePoint Online 管理员。 为管理员帐户启用多重身份验证,并确保管理员帐户用户已注册。
最佳实践:针对关键管理员帐户,应设置一个禁止执行生产任务的工作站(例如,浏览网页和使用电子邮件)。 这将保护管理员帐户免受使用浏览和电子邮件的攻击途径,并显著降低重大事件的风险。
详细信息:使用管理工作站。 选择工作站安全性级别:
- 高度安全的生产力设备为浏览和其他生产力任务提供了高级安全性。
- 特权访问工作站(PAWs) 提供一个专用操作系统,使其免受互联网攻击的影响,并保护其执行敏感任务时免受威胁途径的侵害。
最佳做法:在员工离开组织时取消预配管理员帐户。
详细信息:在员工离开您的组织时,有一个流程来禁用或删除管理员帐户。
最佳做法:使用当前攻击技术定期测试管理员帐户。
详细信息:使用 Microsoft 365 攻击模拟器或第三方产品/服务在组织中运行现实攻击方案。 这有助于在发生实际攻击之前查找易受攻击的用户。
最佳做法:采取措施缓解最常用的受攻击技术。
详细信息:确定管理角色中需要切换到工作或学校帐户的 Microsoft 帐户
获取Microsoft 365 安全功能分数(如果使用 Microsoft 365)
查看 Microsoft 365 安全指南(如果使用 Microsoft 365)
配置 Microsoft 365 活动监视(如果使用 Microsoft 365)
如果不保护特权访问,你可能会发现拥有过多的用户具有高特权角色,并且更容易受到攻击。 恶意参与者(包括网络攻击者)通常以管理员帐户和其他特权访问元素为目标,以使用凭据盗窃获取对敏感数据和系统的访问权限。
控制创建资源的位置
使云作员能够执行任务,同时防止它们违反管理组织资源所需的约定非常重要。 想要控制资源创建位置的组织应对这些位置进行硬编码。
可以使用 Azure 资源管理器 创建安全策略,其定义描述了专门拒绝的作或资源。 在所需范围内分配这些策略定义,例如订阅、资源组或单个资源。
注释
安全策略与 Azure RBAC 不同。 他们实际上使用 Azure RBAC 授权用户创建这些资源。
未有效控制资源创建的组织更容易受到滥用服务的影响,因为用户可能会创建超出需求的资源。 强化资源创建过程是保护多租户方案的重要步骤。
主动监视可疑活动
活动标识监视系统可以快速检测可疑行为,并触发警报进行进一步调查。 下表列出了可帮助组织监视其标识的Microsoft Entra 功能:
最佳做法:有一种方法来标识:
详细信息:使用 Microsoft Entra ID P1 或 P2 异常报告。 让 IT 管理员每天或按需运行这些报告(通常是在事件响应方案中),并制定流程和过程。
最佳做法:有一个主动监视系统,通知你风险,并且可以根据业务需求调整风险级别(高、中或低)。
详细信息:使用Microsoft Entra ID Protection,它会在其仪表板上识别当前风险,并通过电子邮件发送每日摘要通知。 为了帮助保护组织的标识,可以配置基于风险的策略,这些策略可在达到指定的风险级别时自动响应检测到的问题。
未主动监视其标识系统的组织面临用户凭据泄露的风险。 如果不知道通过这些凭据执行可疑活动,组织无法缓解此类威胁。
使用 Microsoft Entra ID 进行存储身份验证
Azure 存储 支持使用 Microsoft Entra ID 对 Blob 存储和队列存储进行身份验证和授权。 使用 Microsoft Entra 身份验证,可以使用 Azure 基于角色的访问控制向用户、组和应用程序授予特定的权限,这些权限会缩小到单个 Blob 容器或队列的范围。
建议使用 Microsoft Entra ID 对存储的访问权限进行身份验证。
后续步骤
请参阅 Azure 安全最佳做法和模式 ,了解在使用 Azure 设计、部署和管理云解决方案时要使用的更多安全最佳做法。