本文档概述了 部署 Microsoft Entra 外部 ID 的安全作注意事项,这是一种可扩展解决方案,用于向应用添加客户标识和访问管理(CIAM)解决方案。 本文档重点介绍边缘计算攻击,特别是针对注册和登录终结点的机器人的攻击。 这些向量通常在外部标识系统中被利用,并要求分层、主动、防御策略。
涵盖的关键主题包括:
特别注意防范注册和登录过程免受自动欺诈的影响,例如凭据填充和国际收入份额欺诈(IRSF)。 查找有关监视和警报、持续验证、使用情况跟踪和异常检测的重要性的信息。 这些作对于早期威胁检测和响应至关重要。 请参阅安全作流的下图。
具有边缘防护以防御 DDoS 和机器人攻击的租户安全性
Microsoft Entra 租户 通过互联网公开可访问的终结点,以启用用户身份验证和服务访问。 这些领域包括身份验证和元数据终结点。 终结点是匿名访问的;因此,分布式拒绝服务(DDoS)攻击和恶意自动化活动的潜在目标,例如欺诈帐户创建。 基于边缘的保护策略有助于确保服务可用性和用户安全性。
若要防止服务中断并确保安全、可靠的访问,请使用分层防御策略。 Microsoft通过与领先的第三方 WAF 和机器人缓解提供商集成来增强标识保护。 集成方案可以在流量到达标识终结点之前实时分析和筛选高风险或恶意流量。
此深度防御模型有助于防范凭据填充、帐户接管和大规模 DDoS 攻击,同时保持合法用户的无缝体验。
为了增强保护,我们建议实现 WAF。 使用此配置可将安全控制置于 CIAM 终结点的前面。 提高复原能力,降低自动威胁导致服务中断的风险。
对用户流使用基于 Web 的重定向时,使用者会看到身份验证终结点的域名。 默认情况下,此终结点使用 tenantprefix.ciamlogin.com< 格式>,其中 <tenantprefix> 是租户名称前缀。 例如,对于 contoso.onmicrosoft.com,租户前缀为 contoso。
域详细信息
在 Microsoft Entra 外部 ID 中,你可以将域名更改为你拥有的域名,并且客户可以关联到你服务的域名。 例如,可以使用 login.contoso.com。
通过品牌功能,使用自定义域名来启用 WAF 解决方案的集成,从而提供更好的防护,以抵御机器人和恶意行为者。
详细了解 外部租户中的自定义 URL 域。
在下图中,请参阅自定义域示例。
WAF 配置注意事项
使用下表了解安全控件及其说明。
安全控制 | DESCRIPTION |
---|---|
速率限制和自适应调节 | 速率限制是针对批量和低速攻击的有效可配置防御。 领先的 WAF 支持细粒度策略,可限制每秒或每分钟的请求数量,并在不同级别上实施此限制:如每个 IP、终结点或会话。 自适应限制会自动收紧约束,以响应突发流量高峰、已知攻击模式或行为异常。
例如,在短时间内为一组身份验证尝试配置登录终结点。 这一努力可降低凭据填充和暴力攻击的风险。 此外,根据上下文信号(如地理位置、请求标头或设备指纹)动态调整速率限制。 |
DDOS 保护 | 此控制可确保针对网络层(第 3 层)和应用程序层(第 7 层)DDoS 攻击的内置防御。 帮助吸收或筛选边缘的恶意流量,并确保即使在大量攻击尝试期间,身份验证终结点仍可供合法用户使用。 |
机器人防护 | 我们建议使用由机器学习提供支持的集成机器人保护。 这些功能有助于使用一系列强制选项检测和防止自动攻击,从无提示阻止到 CAPTCHA 或 reCAPTCHA 等交互式挑战。 |
地理(地理)围栏 | 评估是否接受来自所有地理区域的流量。 否则,地理封锁或限流可降低对高风险或无关区域的曝光度。 对于全局访问,请按区域分析合法客户流量的大致百分比分布,以指导策略设计。 根据业务需求和威胁情报,可以阻止或限速来自未服务地理区域的流量。 |
IP 和 ASN 限速 | 与地理隔离类似,可以根据 IP 地址或自治系统编号(ASN)限制或速率限制流量。 虽然客户身份通常来源于不同但低流量的 IP 地址,但需要查看的异常情况有:例如展台或高吞吐量系统,例如保险代理。 异常地,来自单个 IP 或 ASN 的高请求量会引发审查。 |
阻止流向默认域的流量 | 使用 WAF 保护时,阻止访问默认 ciamlogin.com 域名。 否则,攻击者使用域名并绕过 WAF 保护。 |
应用程序安全性:凭据和机密管理
CIAM 应用程序使用 OAuth 2.0 或安全断言标记语言 (SAML) 2.0 等协议通过 Microsoft Entra 外部 ID 进行身份验证。 这使得安全应用程序凭据管理至关重要。 在下表中,查找关于应用程序凭据和机密的关键安全注意事项。
安全注意事项 | 详细信息 |
---|---|
首选证书而不是机密 | 如果可能,请使用 X.509 证书凭据,而不是密码机密。 虽然机密更易于设置,但证书提供更强大的安全性,并且可以是获取令牌的默认方法。
目前,托管标识和工作负荷标识在 Microsoft Entra 外部 ID 中不可用。 |
强制实施凭据使用策略 | 配置应用程序身份验证方法策略以限制或阻止机密的使用。 如果使用机密,请设置过期时间以最大程度地减少曝光。 |
避免在公共客户端应用中使用凭据 | 对于公共客户端应用的应用程序,请确保在应用注册上未配置任何凭据。 例如,具有通过公共终结点进行用户登录功能的应用程序。 这些应用不应要求客户端机密或证书。 |
定期审核凭据 | 若要确保使用凭据且尚未过期,请定期查看分配给应用程序的凭据。 删除过时或未使用的凭据,避免在应用程序之间共享凭据,并限制每个应用的凭据。 |
扫描应用程序代码以查找敏感数据 | 若要检测应用程序凭据,请使用静态分析工具,例如凭据扫描程序。 使用该工具获取源代码中的其他敏感信息。 在提交或部署项目之前生成项目。 |
通过令牌生存期管理来降低风险
配置令牌生存期,以帮助最大程度地减少受入侵令牌的暴露。
安全控制 | 详细信息 |
---|---|
配置令牌生存期 | 减少访问令牌生存期,以帮助降低风险。 恶意参与者使用泄露的访问或 ID 令牌。 无法撤销令牌。
令牌需要频繁刷新,因此需要在性能的潜在影响之间进行权衡。 |
自定义身份验证扩展
部署规划的一个重要组成部分是保护自定义身份验证扩展。 支持这些扩展的 REST API 基于业务和运营要求进行托管,因此针对安全性、可用性和复原能力进行了设计。 恶意活动或其他故障导致这些 API 的性能或可用性下降都可能会影响相关的注册和登录流。 此类中断会降低用户体验,但可能会阻碍Microsoft Entra 外部 ID 实现的整体可靠性。 使用下表查看规模和安全性等注意事项。
注意事项 | 详细信息 |
---|---|
规模 | - 根据自定义扩展指南,匹配来自 Microsoft Entra 外部 ID 的 RPS - 在超时窗口中使用 HTTP 代码进行响应 |
安全 | - 确保请求来自 Microsoft Entra 外部 ID。 微软的数据中心范围已被文档记录。 若要限制传入的请求,请使用范围。
- 若要保护 API 免受 DDoS 等攻击,请使用 REST API 前面的 WAF。 如果针对 REST API 终结点,则此努力可确保缓解攻击。 - 若要针对遇到安全相关挑战(如 DDoS)的 REST API 或 API 发出警报,请使用审核和日志记录进行监视。 |
复原能力 | - 无缝 扩展和缩小 - 以确保对服务质量的影响降到最低或无影响,保持 REST API 服务和故障恢复能力 |
用户安全性:注册保护
在本部分中,了解如何保护用户免受注册欺诈。 用户流设计有助于确定注册欺诈的可能性。 执行最小用户验证的注册流程容易遭受欺诈活动影响。 控制措施(如高级欺诈保护)将人类用户与机器人区分开来。 此外,还可以阻止自动滥用。 Microsoft Entra 外部 ID 支持引入不同程度的用户摩擦的各种控件。 下表包含用于用户安全的安全控制列表
安全控制 | 详细信息 |
---|---|
WAF:机器人保护 | 此保护是防范国际收入份额欺诈(IRSF)攻击的前线,通常是由在注册过程中生成大量流量以触发 OTP 消息的机器人驱动。 |
信誉电子邮件筛选 | 若要降低欺诈性电子邮件帐户的风险,请实施域验证。 限制从信誉不佳的电子邮件地址或与恶意活动的已知关联进行注册。 Microsoft Entra 外部 ID 在注册期间支持自定义扩展。 若要评估电子邮件域的信誉,在注册流期间调用 REST API。 根据信誉分数,系统允许或阻止注册请求。 |
IP 电子邮件筛选 | 为了降低创建欺诈帐户的风险,我们建议限制与组织业务区域外部的自治系统号码(ASN)关联的匿名代理或 IP 地址的注册。 此策略有助于减少对高风险或不受信任的流量源的暴露。
Microsoft Entra 外部 ID 支持在注册过程中调用的自定义身份验证扩展。 使用这些扩展调用 REST API 来评估发起注册请求的 IP 地址的信誉或地理位置。 在电子邮件一次性密码(OTP)验证期间使用此过程。 |
来自一个 IP 地址或 ASN 的 OTP 过多 | 当大量电子邮件 OTP 请求源自同一 IP 地址、ASN 或位置时,实现监视和警报。 例如,如果电子邮件 OTP 在短时间内来自单个 IP 或类似的地理坐标,则触发警报。 |
为了加强防御,Microsoft Entra 外部 ID 具有高级欺诈防护功能,目前以个人预览版提供。 将来计划扩展可用性。 此功能与受信任的第三方提供商 Human Security 集成,用于高级机器人和虚假帐户检测。 此功能具有用户友好的按下和按住挑战。 组织可以在没有重大用户摩擦的情况下增强保护。
国际收入份额欺诈
国际收入份额欺诈(IRSF)是一种经济驱动的攻击,这种攻击可能发生在您将短信服务(SMS)的验证暴露于易受攻击的公开可访问终结点时。 在 Microsoft Entra 外部 ID 上启用 Microsoft Entra 多重身份验证(MFA), 可能会发生 IRSF 攻击。 启用短信验证后,Microsoft Entra 具有两个内置保护:
- 电话限制 有助于降低服务中断和性能下降的风险
- 基于短信的 MFA 的 CAPTCHA 通过区分人类用户与机器人来帮助抵御自动攻击。 如果用户被视为高风险,则会阻止访问,或者在发送短信验证码之前显示 CAPTCHA 质询。
作为另一层防御层,建议查看下表,考虑一些安全控制措施。
安全控制 | DESCRIPTION |
---|---|
WAF:机器人保护 | 为在注册时触发 OTP 验证消息并开启抵御 IRSF 攻击的防线,通常这些攻击由产生大量流量的机器人发起。 |
需要 MFA 电话验证选择加入的区域 | 帮助防止基于电话的欺诈:Microsoft不会自动为某些国家或地区代码启用基于电话的 MFA 验证。 为了支持从这些区域登录,管理员提交支持请求,以选择加入并启用这些代码的电话验证。 若要允许来自已停用区域的流量,请使用 Microsoft图形 API 激活它们。 |
来自一个 IP 地址或 ASN 的短信 OTP 过多。 | 针对来自同一 IP 地址、ASN 或地理位置的大量短信一次性密码(OTP)请求实施监视和警报。 例如,在短时间内触发来自单个 IP 或地理坐标的过多 SMS OTP 的警报。 这种情况可能表明 IRSF 攻击。
若要提高准确性并减少干扰,请优化警报条件。 关注用户失败的 OTP 请求。 在 IRSF 方案中,攻击者通常不会完成身份验证。 然后,想要生成短信流量到电话号码,以获得财务收益。 使用此方法可查看潜在的恶意活动,同时最大程度地减少误报。 |
登录保护:账户盗用
帐户接管意味着用户帐户遭到入侵。 攻击者更改帐户凭据,例如电子邮件、密码或电话号码。 这些作可防止帐户所有者重新获得控制权。 这些攻击是通过密码喷射完成的。
使用多层防御来降低帐户泄露率。 使用以下安全控制的组合。
安全控制 | 详细信息 |
---|---|
Microsoft Entra 条件访问策略:从身份验证上下文采用 MFA | 应用程序可以使用条件访问策略中的身份验证上下文动态强制Microsoft Entra 多重身份验证(MFA)。 在需要时应用分步身份验证,例如高价值活动(如财务交易、对敏感数据的访问或特权作)。 同时,为低风险的交互保持无摩擦的体验。
例如,用户浏览到电子商务网站,将商品添加到购物车。 他们看不到 MFA 的提示。 但是,在结帐或付款之前,策略会重新评估身份验证上下文,并需要 MFA。 如果用户在初始登录期间完成了 MFA,则会出现这种情况。 这种有针对性的方法在安全性和可用性之间取得平衡。 |
条件访问策略:按位置进行访问控制 | 可以根据地理位置限制用户登录。 使用国家或地区筛选器或 IP 地址范围配置条件访问策略。 你可以阻止来自组织不预期合法用户活动的地区的访问。 建议将此控件与 WAF 地理隔离配合使用。 WAF 在用户登录之前会阻止边缘的流量。 条件访问是身份级别的强制层。 |
监控:认证失败次数过多 | 监视并生成来自用户帐户的过度失败身份验证尝试的警报。
例如,如果用户身份验证失败率超过阈值(例如每小时 10%),则触发警报。 此度量可提高对潜在帐户泄露或自动攻击活动的可见性和意识。 |
审核和监视
审计是对系统、其用户活动和相关流程的行为进行了解。 监视是一项持续的活动,可通知你正在发生的情况。 监视通常涉及警报和自动化。
审计和日志
Microsoft Entra 外部 ID 存储登录和审核日志 30 天。 对于保留和分析,请将此信息导出到外部存储或工具。
将 Azure Monitor 配置为用于导出日志的网桥。 请参阅以下关于 Microsoft Entra 外部 ID 日志导出与 Azure Monitor 的示意图。
此配置需要将 Microsoft Azure 资源组 从企业租户投影到 Microsoft Entra 租户中。
监视和警报
监视有助于确保标识和关联系统的高效作。 这些作包括建立监视基础结构、定义监视过程、设置仪表板或警报,以及创建用于处理警报的响应协议。 请参阅以下说明以及要监视的内容的列表。
注释
监视日志中的标识服务的异常和错误。 还应监视依赖服务,例如调用自定义扩展的 WAF 和 API。
- 可用性 - 发现服务是否正常运行。 有时称为心跳或健康终结点。 请在监控系统上进行设置,以便它可以在使用中的组件上频繁运行。 对于自定义扩展 API,建议实现健康检查端点监控。 如果使用 .NET 开发 API,请使用 ASP.NET Core 中的运行状况检查来公开运行状况终结点。 监视可用性至关重要,但它可能只指示服务故障。
- 功能 - 使用模拟端到端用户或系统交互的综合事务来监控功能,这些交互涉及依赖项:UI、API 调用、日志记录。 许多监视工具具有自动执行多步骤 Web 体验的功能,例如注册、配置文件编辑和 MFA。
- 性能 - 使用模拟事务和服务器端监测工具来跟踪性能,以收集与性能相关的遥测数据。 在分布式系统中,例如具有依赖项的标识访问管理(IAM),识别并解决性能问题。 跨客户位置部署性能探测,并为标识体验建立基线。 设置触发器和通知以检测基线的偏差。 如果系统可用,但性能不佳,则系统并不有益。
认证和身份请求附带会话关联 ID。 当标识系统调用外部自定义扩展时,此标识符位于身份验证上下文中。 若要诊断问题,请记录自定义扩展中的标识符。
注释
Microsoft的目标是使用 Google Analytics 和 Adobe Analytics 等分析工具启用客户端遥测。
下图演示了监视和警报设置。
服务降级和故障警报设置
在大型系统中,某些事务将失败。 由于用户注意力不集中、电信故障和浏览器崩溃,不完整的标识体验(有时称为不完整的转换)可能会发生。 大规模地解决每个故障是不切实际的。 为典型故障事件设置基线。 此外,还设置监视和警报来检测偏差,例如性能监视。 使用以下工作辅助工具记录故障指标。
失败 | 基线 |
---|---|
身份验证 | |
登录 | |
注册 | |
MFA 按类型:电子邮件 OTP、电话 OTP | |
浏览器类型:Google Chrome、 Microsoft Edge、 Mozilla Firefox、Apple Safari |
|
移动作系统:Android、iOS |
持续系统验证
环境的变化是不可避免的。 自动化持续验证环境有助于捕获由更改引起的问题。 可以使用相同的语法监视基础结构来设置此验证自动化。
综合事务可以引用用于令牌获取、验证和集成组件的应用程序和 API,这些应用程序和 API 包括 API 管理器和服务总线。 建议维护受支持的服务、作系统和运行时环境的版本。 每个组件持续报告测试成功或失败。 此作可确保标识服务可用性和提前检测潜在故障。
仪表板:运营遥测和安全见解
Microsoft Entra 外部 ID 具有内置仪表板,其中包含来自关键领域的有用遥测数据,例如身份验证趋势、MFA 使用情况以及与短信验证相关的保护。 使用分析来保持对您的标识系统健康和威胁状态的可见性。 对于您的部署和运营策略,建议纳入常规指标监测。 检测异常、评估风险暴露并确保安全控制的有效性。 使用下表查看指标和详细信息。
指标 | 详细信息 |
---|---|
认证 | 身份验证仪表板的摘要中包含租户的每日和每月身份验证数据。
- 30天的每日身份验证 - 按操作系统的每日身份验证 - 按位置的12个月的每月身份验证 |
MFA 用法 | MFA 使用仪表板摘要提供应用程序每月的 MFA 身份验证性能。 查看以下趋势: - 注册 MFA 的用户 - 使用的 MFA 类型,在 12 个月内的成功和失败计数 - 30 天内 CAPTCHA 的触发和活动 |
Telecom | 若要了解电信 MFA 性能,请使用仪表板指标来深入了解 SMS MFA 使用情况。 请注意以下状态。
允许 - 在登录或注册期间收到短信的用户。 已阻止 - 未收到短信的用户。 如果阻止了电信 MFA,系统会通知用户尝试备用身份验证。 挑战 - 此功能适用于异常行为。 当 CAPTCHA 质询在短信发送之前出现时,请查看。 还会显示以下指标: - 用户无法完成 CAPTCHA - 跟踪未通过 CAPTCHA 质询的用户。 如果需要,可以评估 CAPTCHA 对于合法用户来说是否太困难。 进行必要的调整,以平衡安全性和可访问性。 - 完成 CAPTCHA 的用户 - 查看已完成 CAPTCHA 质询的用户。 深入了解 CAPTCHA 如何保护用户免受自动攻击,同时使合法用户能够进行身份验证。 |
Microsoft Entra 外部 ID 核心产品和附加组件
Microsoft Entra 外部 ID 定价由核心套餐和高级加载项组成。 核心产品计费基于每月活跃用户(MAUs),也就是在一个日历月内,对您的租户进行身份验证的独立外部用户数。 总计来自于链接到订阅的员工和外部租户的月活跃用户的组合。
请查看有关 Microsoft Entra 外部 ID 的定价结构和计费模型的详细信息。
成本和分析
查看链接到 Microsoft Entra 外部 ID 租户的订阅/资源组的成本分析区域中的已产生成本。 如果 MAU 计数低于免费层,则帐单为 $0。 免费层以下的使用数据会显示在成本分析中。
在 Microsoft Entra 管理中心中,对于 Microsoft 外部 ID 租户,使用使用情况和分析仪表板查看利用率详细信息,即使使用量低于免费层级时也是如此。
请参阅 dailyUserInsigntMetricsRoot 资源类型中的图形的资源类型。
注释
API 返回的数据不是实时的,可能会受到计划的处理。
下表展示了指标与 Microsoft Graph 参考之间的关系。
指标 | 图形参考 | DESCRIPTION |
---|---|---|
活跃用户 | activeUsersMetric | |
认证 | authenticationsMetric | |
mfaCompletions | mfaCompletionMetric | |
注册 | userSignUpMetric | |
摘要 | insightSummary | |
用户数量 | userCountMetric |
使用情况和见解仪表板
在 Microsoft Entra 管理中心的“监视和运行状况”下,选择“ 使用情况和见解”。 查看用户数据随时间的变化,以及身份验证和 MFA 使用情况等其他领域。