我已经设置了 FreeIpa POC(centos7、freeipa 4.7、两个 freeipa 服务器与一些客户端作为多主机)。为多个用户添加了 OTP,并使其与 RADIUS 一起用于 VPN 访问身份验证目的。接下来,我添加了 AD 信任,并且能够以 AD 用户身份登录。都很时髦。现在,我想通过为 AD 用户添加 OTP 令牌来强制执行 MFA。有可能吗?既然AD用户针对AD进行身份验证,那么提供MFA的不应该是AD吗?
当涉及到 AD 用户时,FreeIPA 的行为很奇怪(通过外部组和 POSIX 组映射):AD 用户“ipatest”通过“id”命令可见(并且有自己的 UID GID 等),但无法通过“ipa 用户”找到-find' 命令,即使提供了特定的 UID:
admin@ipa-poc-1 ~ $ id[电子邮件受保护] uid=748801177([电子邮件受保护]) gid=748801177([电子邮件受保护]) 组=748801177([电子邮件受保护]),748800513(域名[电子邮件受保护]),748801180([电子邮件受保护]),793600008(ad_users)
admin@ipa-poc-1 ~ $ ipa user-find ipatest
---------------
0 users matched
---------------
----------------------------
Number of entries returned 0
----------------------------
admin@ipa-poc-1 ~ $ ipa user-find [email protected]
---------------
0 users matched
---------------
----------------------------
Number of entries returned 0
----------------------------
admin@ipa-poc-1 ~ $ ipa user-find ipatest@TRUSTEDOMAIN-LAB
---------------
0 users matched
---------------
----------------------------
Number of entries returned 0
admin@ipa-poc-1 ~ $ ipa user-find uid=748801177
---------------
0 users matched
---------------
----------------------------
Number of entries returned 0
----------------------------
我认为这是由于对 AD 域的单向信任,但这里不确定。由于“ipa otptoken-add”命令需要“owner”参数(类型字符串且不适用于 UID),因此我无法为此用户添加 OTP 令牌。
我尝试过的另一种方法(因为 ipa otptoken-add 命令默认使用当前用户作为所有者)是以 AD 用户身份登录并“为自己”创建 OTP 令牌,但它也不起作用:
[email protected]@ipa-poc-1 ~ $ kinit [email protected]
Password for [email protected]:
[email protected]@ipa-poc-1 ~ $ ipa otptoken-add --type='TOTP'
ipa: ERROR: cannot connect to 'any of the configured servers': https://ipa-poc-1.lab/ipa/json, https://ipa-poc-2.lab/ipa/json
所以,简而言之:
- 是否可以向外部 AD 用户添加 OTP 令牌?
- 怎么做?
rgds
小白
答案1
不幸的是,看起来这是不可能的。以下是我从 RedHat 工程师 Alexander Bokovoy 在 Free-Ipa 邮件列表中得到的答案:
“受信任的 Active Directory 用户的身份验证是由 Active Directory 域控制器完成的,而不是 IdM。Microsoft 的 Active Directory 实现不支持 Kerberos 级别的 2FA,因此不可能将 RFC 6560 中描述的技术与 Active Directory 一起使用用户。
我们曾经有过https://bugzilla.redhat.com/show_bug.cgi?id=1195696RFE 跟踪一些某种问题的解决方案。然而,它不会很快实现,因此在上游社区的工作达到可以产品化的程度之前一直关闭。
-- / Alexander Bokovoy Sr. 首席软件工程师安全/身份管理工程红帽有限公司,芬兰“