【发布时间】:2016-05-17 06:44:50
【问题描述】:
请耐心等待我解释这个场景的意义。我们现有的远程访问基础架构使用 RADIUS 进行 2FA - LDAP (AD) 和第 3 方 TOTP 提供程序。 TOTP 提供者可以是 RSA、Yubikey、Google、Azure 等 - RADIUS 服务器已经配置为允许多个可能的 TOTP 提供者作为第二个身份验证因素。
现在我们想为我们的一些服务提供商实施 ADFS,因为它具有强大的授权声明规则;但我们希望拥有第二个身份验证因素的安全性,以及我们目前在 RADIUS 设置中拥有的灵活性。与其为 ADFS MFA 设置相同的 TOTP 提供程序,这将是多余的,因为它已经在 RADIUS 中配置,我们认为可以使用 RADIUS 身份验证的结果作为 ADFS 中身份验证的第二个因素。除此之外,出于明显的安全原因,我们希望在我们的网络中有一个单一的入口点,因此我们不能在外围同时拥有 ADFS 和 RADIUS。我们当然希望维护基于 SAML 的 SSO,因此不能单独依赖 RADIUS。我想明确表示我们不想替换 RADIUS,因为已经有太多系统依赖于它;我们想要的是使用 ADFS MFA 的现有功能。
我们目前在 F5 APM SAML-IdP 上设置了此场景,因此这并不是什么新鲜事。我只想知道这对于 ADFS 是否可行,以及即使考虑替换当前的 F5 设置,实施起来会有多困难。如果 F5 APM 可以做到;那么也许ADFS也可以?好吧,至少这是我的推理。
我查看了可能的选项,发现有必要创建一个自定义身份验证提供程序,如以下链接所述:
https://blogs.technet.microsoft.com/cloudpfe/2014/02/01/how-to-create-a-custom-authentication-provider-for-active-directory-federation-services-on-windows-server-2012-r2-part-2/
该指令足够详细,可以实现此进行测试;但我发现它在很大程度上取决于身份验证的第二个因素的实际来源。我找到了使用 Google Authenticator 和 Yubikey 实现此功能的明确说明(除了易于支持的 MFA 提供程序);但我找不到有关为 RADIUS 创建身份验证提供程序的说明。
这甚至可能吗?谁能指出我正确的方向?
【问题讨论】:
标签: c# .net authentication adfs radius