0

I've setup FreeIpa POC (centos7, freeipa 4.7, two freeipa servers as multimaster with some clients). Added OTP's for several users and made it work with RADIUS for vpn access authentication purposes. Next, I've added AD trust and I am able to log in as AD user. All groovy. Now I'd like to enforce MFA for AD users by adding OTP tokens for them. Is it possible at all? Since AD user authenticates against AD, shouldn't it be AD who provides MFA?

FreeIPA behaves strangely when it comes to AD users (mapped via external group and POSIX group): AD user 'ipatest' is visible with 'id' command (and has it's own UID GID and so on) but cannot be found via 'ipa user-find' command even with specific UID provided:

admin@ipa-poc-1 ~ $ id [email protected] uid=748801177([email protected]) gid=748801177([email protected]) groups=748801177([email protected]),748800513(domain [email protected]),748801180([email protected]),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
----------------------------

I reckon it is due to th one-way trust with AD domain but not sure here. Since "ipa otptoken-add' command requires 'owner' parameter (type string and doesn't work with UID) I cannot add OTP token for this user.

Another approach I've tried (since ipa otptoken-add command by default uses current user as owner) was to log on as AD user and create OTP token 'for myself', but it didn't work either:

 [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

So, to make it short:

  1. Is it possible to add OTP token to external AD user?
  2. How to do it?

rgrds

noob

1 Answer 1

2

Unfortunately, looks like it is not possible. Below is the answer I got from RedHat's Engineer Alexander Bokovoy on Free-Ipa mailing list:

"Authentication of trusted Active Directory users is done by Active Directory domain controllers, not IdM. Microsoft implementation of Active Directory does not support 2FA on Kerberos level and as such it is not possible to use the same technology as described in RFC 6560 with Active Directory users.

We used to have https://bugzilla.redhat.com/show_bug.cgi?id=1195696 RFE that tracks some sort of a solution to the problem. However, it is not going to be achieved anytime soon and thus was closed until a work in upstream communities gets to the point that it could be productised.

Documentation explicitly says OTP are not supported for AD users. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_identity_management/logging-in-to-the-ipa-web-ui-using-one-time-passwords_configuring-and-managing-idm#prerequisites

-- / Alexander Bokovoy Sr. Principal Software Engineer Security / Identity Management Engineering Red Hat Limited, Finland "

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .