sssd issues on upgrade to EL 8.1
by John Beranek
So, I've started testing upgrading EL 8.0 to 8.1, in my case with Oracle
Linux 8.
I spotted 2 issues during/after upgrade, both seem related to sssd.
The first is that during the upgrade, sssd is updated and therefore
restarted, but sssd fails to restart successfully.
Nov 15 22:33:31 devzitsol8 systemd[1]: Stopping System Security Services
Daemon...
Nov 15 22:33:31 devzitsol8 sssd[nss][11571]: Shutting down
Nov 15 22:33:31 devzitsol8 sssd[autofs][11574]: Shutting down
Nov 15 22:33:31 devzitsol8 sssd[be[AD]][11570]: Shutting down
Nov 15 22:33:31 devzitsol8 sssd[sudo][11573]: Shutting down
Nov 15 22:33:31 devzitsol8 sssd[pam][11572]: Shutting down
Nov 15 22:33:31 devzitsol8 sssd[be[implicit_files]][11569]: Shutting down
Nov 15 22:33:31 devzitsol8 systemd[1]: Stopped System Security Services
Daemon.
Nov 15 22:33:31 devzitsol8 systemd[1]: Starting System Security Services
Daemon...
Nov 15 22:33:31 devzitsol8 sssd[33205]: Starting up
Nov 15 22:33:31 devzitsol8 sssd[be[AD]][33207]: Starting up
Nov 15 22:33:31 devzitsol8 sssd[be[implicit_files]][33206]: Starting up
Nov 15 22:33:31 devzitsol8 sssd[be[AD]][33208]: Starting up
Nov 15 22:33:33 devzitsol8 sssd[be[AD]][33209]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[nss][33211]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[autofs][33214]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[sudo][33213]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[pam][33212]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[nss][33215]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[autofs][33216]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[sudo][33217]: Starting up
Nov 15 22:33:36 devzitsol8 sssd[pam][33218]: Starting up
Nov 15 22:33:37 devzitsol8 sssd[be[AD]][33219]: Starting up
Nov 15 22:33:37 devzitsol8 sssd[33205]: Exiting the SSSD. Could not restart
critical service [AD].
Nov 15 22:33:37 devzitsol8 sssd[be[implicit_files]][33206]: Shutting down
Nov 15 22:33:37 devzitsol8 systemd[1]: sssd.service: Main process exited,
code=exited, status=1/FAILURE
Nov 15 22:33:37 devzitsol8 systemd[1]: sssd.service: Failed with result
'exit-code'.
Nov 15 22:33:37 devzitsol8 systemd[1]: Failed to start System Security
Services Daemon.
This appears to be due to this:
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [be_res_get_opts] (0x0100):
Lookup order: ipv4_first
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [recreate_ares_channel] (0x0100):
Initializing new c-ares channel
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [sss_names_init_from_args]
(0x0100): Using re
[(((?P<domain>[^\\]+)\\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\\]+)$))].
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [sss_fqnames_init] (0x0100):
Using fq format [%1$s@%2$s].
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [sbus_signal_handler] (0x0020):
We do not listen to this signal!
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [sbus_signal_handler] (0x0020):
We do not listen to this signal!
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [id]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [auth]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [access]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [chpass]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [sudo]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [autofs]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [selinux]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [hostid]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [subdomains]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_configuration] (0x0100):
Using [ad] provider for [session]
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_module_open_lib] (0x0010):
Unable to load module [ad] with path [/usr/lib64/sssd/libsss_ad.so]:
libwbclient.so.0: cannot open shared object file: No such file or directory
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_module] (0x0020): Unable
to create DP module.
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_target_init] (0x0010): Unable
to load module ad
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_load_targets] (0x0020):
Unable to load target [id] [80]: Accessing a corrupted shared library.
(Fri Nov 15 22:33:37 2019) [sssd[be[AD]]] [dp_init_done] (0x0020): Unable
to initialize DP targets [1432158209]: Internal Error
After the 8.1 update completed though, I could happily start sssd.
The second issue is more subtle, and comes due to our use of the autofs
provider, using Active Directory for the map location. On bootup autofs
takes a long time to start, which means that autofs-provided mounts are
unavailable when the system first boots. This looks a lot like this Fedora
bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1648521
Nov 16 10:27:46 devzitsol8 oddjob-mkhomedir[1513]: error creating /nethome:
Permission denied
Nov 16 10:29:04 devzitsol8 automount[1124]: lookup_read_master:
lookup(sss): getautomntent_r: Invalid argument
Nov 16 10:29:04 devzitsol8 automount[1124]: lookup(file): failed to read
included master map auto.master
Nov 16 10:29:04 devzitsol8 automount[1124]: lookup(file): failed to read
included master map auto.master
Nov 16 10:29:04 devzitsol8 automount[1124]: mounted indirect on /misc with
timeout 300, freq 75 seconds
Nov 16 10:29:04 devzitsol8 automount[1124]: mounted indirect on /net with
timeout 300, freq 75 seconds
Nov 16 10:29:04 devzitsol8 automount[1124]: mounted indirect on /nethome
with timeout 300, freq 75 seconds
Nov 16 10:29:04 devzitsol8 systemd[1]: Started Automounts filesystems on
demand.
Nov 16 10:29:04 devzitsol8 systemd[1]: Reached target Multi-User System.
Nov 16 10:29:04 devzitsol8 systemd[1]: Starting Update UTMP about System
Runlevel Changes...
Nov 16 10:29:04 devzitsol8 systemd[1]: Started Update UTMP about System
Runlevel Changes.
Nov 16 10:29:04 devzitsol8 systemd[1]: Startup finished in 1.207s (kernel)
+ 5.624s (initrd) + 1min 37.318s (userspace) = 1min 44.150s.
Nov 16 10:30:18 devzitsol8 systemd[1503]: Starting Mark boot as
successful...
Happy to provide more logs if it helps diagnose these issues.
Cheers,
John
--
John Beranek To generalise is to be an idiot.
http://redux.org.uk/ -- William Blake
1 year, 4 months
how to say name of daemon? "S-S-S-D" or "TRIPLE-S-D"?
by Spike White
All,
S-S-S-D does not seem to roll off the tongue. When I say that, co-workers
think I'm discussing solid-state drives (SSD). When I call it triple-S-D,
someone invariably corrects me.
Which is correct? Are both pronunciations correct?
Spike
1 year, 4 months
managing authorization without AD/LDAP
by JOULAUD François
Hello,
I have a use case of ssh authentication to some server which for
various reasons (one of them being network isolation) cannot access to
Directory.
With ssh I can use ssh certificates to do the authentication part
"offline" without the need for the server to access any centralized
service.
But I still need LDAP connexion to get directory information (numeric
uid, groups, etc.)
I would like a mechanic which allows to transmit this information
along with the connexion initiation.
For example the ssh certificate could have some extension options like
uid(a)example.com=1234 and groups(a)example.com=wheel,admin,mygroup and
this certificate would create the corresponding entries in SSSD in
passwd and groups databases which would be valid for the duration of
the certificate.
Do anyone knows of such a setup or have any pointer to similar ideas ?
Do you think it would be possible for SSSD to be extended to support
this use case ? Would it be easy to implement ? (a bunch of
AuthorizedKeyCommand shell scripts interacting with SSSD D-Bus
interface would suit me)
François
1 year, 5 months
GID numbers showing up rather than group names using groups command.
by Abhisheyk Deb
Hi,
This issue might have been already fixed. And my configuration might not be
right.
So we have a Active directory domain which has two domain controllers, and
a linux system which is joined to that domain.
For some users, when we use the groups <username> command, we are getting
all the proper information, but for some users, groups command gives error
like "cannot find name for group ID XXXXXXXX"
The /etc/sssd/sssd.conf file is as follows:
[sssd]
domains = ad.example.com
config_file_version = 2
services = nss, pam
[pam]
offline_credentials_expiration = 1
[domain/ad.example.com]
ad_domain = ad.example.com
krb5_realm = ad.example.com
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
access_provider = ad
override_homedir = /user/%u
account_cache_expiration = 1
entry_cache_timeout = 180
Can somebody help me with this issue?
Thank you
Abhishek Deb
1 year, 5 months
Any way to get sssd to ignore gidNumber (Posix attribute) when auto_private_group set to true?
by Spike White
All,
We're replacing a commercial product that ignores whatever GID is used in
gidNumber posix attribute, when auto_private_groups is set to true.
However, we find in sssd that even when we set auto_private_groups = True,
that in additional to all the supplemental groups defined by memberOf, it
also appends as the supplemental group the group whose GID is in gidNumber.
Is that any way to disable this? To have sssd list only "memberOf" groups
as supplemental groups when auto_private_groups == True?
Spike White
1 year, 5 months
SSSD strangeness
by simonc99@hotmail.com
Hi All
We've got SSSD 1.13.0 installed as part of a Centos 7.2.1511 installation.
We've used realmd to join the host concerned to our 2008R2 AD system. This went really well, and consequently we've been using SSSD to provide login services and kerberos integration for our fairly large hadoop system.
The authconfig that's implicitly run as part of realmd produces the following sssd.conf:
[sssd]
domains = <joined domain>
config_file_version = 2
services = nss, pam
[pam]
debug_level = 0x0080
[nss]
timeout = 20
force_timeout = 600
debug_level = 0x0080
[domain/<joined domain>]
ad_domain = <joined domain>
krb5_realm = <JOINED DOMAIN>
realmd_tags = manages-system joined-with-samba
cache_credentials = true
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = simple
simple_allow_groups = <AD group allowing logins>
krb5_use_kdc_info = False
entry_cache_timeout = 300
debug_level = 0x0080
ad_server = <active directory server>
As I've said - this works really well. We did have some stability issues initially, but they've been fixed by defining the 'ad_server' rather than using autodiscovery.
Logins work fine, kerberos TGTs are issued on login, and password changes are honoured correctly.
However, in general day to day use, we have noticed a few anomalies, that we just can't track down.
Firstly (this has happened a few times), a user will change their AD password (via a Windows PC).
Subsequent logins - sometimes with specific client software - fail with
pam_sss(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=<remote PC name> user=<username>
pam_sss(sshd:auth): received for user <username>: 17 (failure setting user credentials)
So in this example, the person concerned has changed their AD password. Further attempts to access this system via SSH work fine. However, using SFTP doesn't work (the above is output into /var/log/secure).
There are no local controls on sftp logins, and the user concerned was working fine (using both sftp and ssh) until they updated their password.
There is no separate sftp daemon running, and it only affects one individual currently (but we have seen some very similar instances before)
The second issue we have is around phantom groups in AD.
Hadoop uses an id -Gn command to see group membership for authorisation.
With some users - we've seen 6 currently - we see certain groups failing to be looked up:
id -Gn <username>
id: cannot find name for group ID xxxxyyyyy
<group name> <group name> <group name> <group name> <etc...>
The xxxxyyyyy indicates:
xxxx = hashed realm name
yyyyy = RID from group in AD
We can't find any group with that number on the AD side!
We can work around this by adding a local group (into /etc/group) for the GIDs affected. This means the id -Gn runs correctly, and the hadoop namenode can function correctly - but this is a workaround and we'd like to get to the bottom of the issue.
Rather than flooding this post now with logfiles, just thought I'd see if this looked familiar to anyone. Happy to upload any logs, amend logging levels, etc.
Many thanks
Simon
1 year, 5 months
sssd PKINIT smartcard auth on RHEL7?
by James Ralston
I am struggling to get smartcard authentication working on RHEL7,
using sssd-1.16.4-21.el7 and krb5 PKINIT against Microsoft Active
Directory KDCs.
Has anyone actually gotten this working? If so, what behavior
differences do you see from various login mechanisms (gdm, login,
et. al.)?
Because I see *no* visual differences in any login mechanism. gdm,
login, et. al. prompt for a username/password, exactly as before.
Both after I enter the username, and after I enter the PIN (at the
"password" prompt), there is a delay while sssd pokes at the card. I
can also tell this from watching the light on the card reader blink.
But then the login fails.
I mean, these documents:
https://docs.pagure.org/SSSD.sssd/design_pages/smartcard_authentication_p...
https://docs.pagure.org/SSSD.sssd/design_pages/smartcard_multiple_certifi...
…make it sound like the gdm login screen should prompt me to insert a
smartcard, or least differentiate *somehow* that smartcard
authentication is in play. Both features claim to be implemented in
sssd-1.16.4-21.el7. But I see nothing that indicates these features
are working.
If it's really the case that we have to train our users to type their
username into the "username" prompt and enter their smartcard PIN into
the "password" prompt, we can do that, but that doesn't seem to be how
it's supposed to work based on the above documents. And that's going
to seem completely horrible to users in contrast to how Windows works,
where you walk up, insert your smartcard, and the login screen
identifies you and then prompts for your PIN.
I mean, I get it that /usr/bin/login running on a virtual console
can't engage in a nifty interactive dialog like Windows does. But is
really the case that gdm is that dumb with smartcards as well?
Or am I misunderstanding how gdm+sssd+smartcard+PKINIT is supposed to
work?
I can supply (somewhat redacted) configuration files if need be, but I
have everything set correctly that I know to set:
* krb5.conf is configured correctly; I can kinit using the
smartcard+PIN.
* We use pam_sss.so in all of (password-auth, system-auth,
smartcard-auth), so no matter how a program enters the PAM stack, it
should get pam_sss.so and PKINIT.
* I touched /var/lib/sss/pubconf/pam_preauth_available into existence
and restarted sssd.
* I set enable-smartcard-authentication to true in dconf (for
org.gnome.login-screen).
* I set "pam_cert_auth = true" in the [domain/example.org] section of
/etc/sssd/sssd.conf.
* I extracted the correct certificate from my smartcard (the one that
krb5.conf is configured to find) and added it to my userCertificate
attribute in Active Directory.
* I even populated /etc/pki/nssdb with all of the same certificates
that update-ca-trust maintains, even though I'm not sure that's
necessary, as I think krb5 pkinit.so should handle that.
* I increased various sssd timeouts to work around this bug in sssd
that was derailing the nss responder:
#4103 slow smartcard interactions break sssd when PKINIT is configured
https://pagure.io/SSSD/sssd/issue/4103
I'm open to suggestions for anything that I missed.
1 year, 5 months
Re: sssd - ssh and ticket renewal
by Sumit Bose
On Mon, Nov 04, 2019 at 04:01:20PM +0000, Jay McCanta wrote:
> I've been working with SSSD for a good while and I could have sworn I knew how to get this working, but....
>
> Login on workstations via GDM and my Kerberos tickets get renewed automatically. As I type this, I realize that I do lock/unlock my screen at least once a day. My tickets never seem to expire on my workstation.
> From my workstation, I ssh to a server with sssd enabled authentication (Ubuntu bionic on both ends). I use a different account on the remote server and am asked for a password. Ssh is configured to use PAM and has it's own password authentication disabled. (PasswordAuthentication no; UsePAM yes; ChallengeResponseAuthentication yes). Home folders are kerberized NFS and upon initial login, all is well. However the ticket for this session never renews on its own. sudo will refresh the ticket. It's about the only other thing we have sssd enable for besides ssh. Without any sudo activity, the Kerberos ticket expires and we lose access to home folders. Current workaround is a user cron job that tries to refresh the key every hour. I have to sudo on this server several times a day so my tickets were being renewed. CO-workers don't have sudo access and they are the ones losing their tickets.
>
> Is my assumption that one should be able to ssh to a server and have that server refresh tickets (like on a workstation) a valid one? If so, where should I concentrate my efforts to get this working?
Hi,
please have a look at the krb5_renew_interval option explained in the
sssd-krb5 man page.
HTH
bye,
Sumit
>
> Thanks to all in this group.
>
> [cid:image001.jpg@01D592E5.F6CEED20]<https://f5.com/>
> Jay McCanta | Principal Systems Administrator
> D +1 (206) 272-7998 M +1-206-434-1080
>
>
> _______________________________________________
> sssd-users mailing list -- sssd-users(a)lists.fedorahosted.org
> To unsubscribe send an email to sssd-users-leave(a)lists.fedorahosted.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedorahosted.org/archives/list/sssd-users@lists.fedorahoste...
1 year, 5 months
sssd - ssh and ticket renewal
by Jay McCanta
I've been working with SSSD for a good while and I could have sworn I knew how to get this working, but....
Login on workstations via GDM and my Kerberos tickets get renewed automatically. As I type this, I realize that I do lock/unlock my screen at least once a day. My tickets never seem to expire on my workstation.
From my workstation, I ssh to a server with sssd enabled authentication (Ubuntu bionic on both ends). I use a different account on the remote server and am asked for a password. Ssh is configured to use PAM and has it's own password authentication disabled. (PasswordAuthentication no; UsePAM yes; ChallengeResponseAuthentication yes). Home folders are kerberized NFS and upon initial login, all is well. However the ticket for this session never renews on its own. sudo will refresh the ticket. It's about the only other thing we have sssd enable for besides ssh. Without any sudo activity, the Kerberos ticket expires and we lose access to home folders. Current workaround is a user cron job that tries to refresh the key every hour. I have to sudo on this server several times a day so my tickets were being renewed. CO-workers don't have sudo access and they are the ones losing their tickets.
Is my assumption that one should be able to ssh to a server and have that server refresh tickets (like on a workstation) a valid one? If so, where should I concentrate my efforts to get this working?
Thanks to all in this group.
[cid:image001.jpg@01D592E5.F6CEED20]<https://f5.com/>
Jay McCanta | Principal Systems Administrator
D +1 (206) 272-7998 M +1-206-434-1080
1 year, 5 months
smartcard mapping via msUPN SAN (OID 1.3.6.1.4.1.311.20.2.3)?
by James Ralston
I was reviewing the documentation for the "certificate mapping and
matching rules for all providers" feature that landed in sssd 2.0:
https://docs.pagure.org/SSSD.sssd/design_pages/certmaps_for_LDAP_AD_file....
However, I'm not sure how to use this feature to map certificates to
AD users based on the msUPN SAN.
For smartcards used with Microsoft Active Directory, the certificate
with the "Microsoft Smartcardlogin" X509v3 Extended Key Usage object
(EKU) will typically have additional X509v3 Subject Alternative Name
objects:
$ pkcs15-tool --read-certificate 01 | openssl x509 -noout -text | grep
-A 1 'X509v3 Subject Alternative Name'
Using reader with a card: SCM Microsystems Inc. SCR 3310 [CCID Interface] 00 00
X509v3 Subject Alternative Name:
othername:<unsupported>, othername:<unsupported>
The OpenSSL x509 tool doesn't parse the othername attributes, but we
can use asn1parse to do so:
$ pkcs15-tool --read-certificate 01 | openssl asn1parse
Using reader with a card: SCM Microsystems Inc. SCR 3310 [CCID Interface] 00 00
0:d=0 hl=4 l=1296 cons: SEQUENCE
4:d=1 hl=4 l=1016 cons: SEQUENCE
8:d=2 hl=2 l= 3 cons: cont [ 0 ]
…
874:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Subject Alternative Name
879:d=5 hl=2 l= 81 prim: OCTET STRING [HEX DUMP]:DEADBEEFDEADBEEF…
962:d=4 hl=2 l= 27 cons: SEQUENCE
Decoding the hex blob at offset 879 yields:
$ pkcs15-tool --read-certificate 01 | openssl asn1parse -strparse 879
Using reader with a card: SCM Microsystems Inc. SCR 3310 [CCID Interface] 00 00
0:d=0 hl=2 l= 79 cons: SEQUENCE
2:d=1 hl=2 l= 36 cons: cont [ 0 ]
4:d=2 hl=2 l= 10 prim: OBJECT :Microsoft Universal
Principal Name
16:d=2 hl=2 l= 22 cons: cont [ 0 ]
18:d=3 hl=2 l= 20 prim: UTF8STRING :123456789@example.org
"Microsoft Universal Principal Name" is OID 1.3.6.1.4.1.311.20.2.3:
$ grep -A 3 msUPN /usr/include/openssl/obj_mac.h
#define SN_ms_upn "msUPN"
#define LN_ms_upn "Microsoft Universal Principal Name"
#define NID_ms_upn 649
#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L
From <http://oid-info.com/get/1.3.6.1.4.1.311.20.2.3>:
{
iso(1)
identified-organization(3)
dod(6)
internet(1)
private(4)
enterprise(1)
311 20 2 3
}
The value of this object will be set as the userPrincipalName
attribute on the AD user object of the person to whom the smartcard
was issued.
And this is why Microsoft Windows smartcard login doesn't need the AD
user object to have the user's certificate preloaded into the
userCertificate attribute.
Interestingly enough, for pkinit.so's pkinit_cert_match option, the
<SAN> component-rule is also matching against the msUPN object. You
can see this if you build pkinit.so with debugging and execute "kinit"
with "pkinit_cert_match = <SAN>.*@.*":
$ kinit
…
pkinit_cert_matching: Processing rule '<SAN>.*@.*'
parse_rule_component: found keyword '<SAN>'
parse_rule_component: found value '.*@.*'
parse_rule_component: returning 0
parse_rule_set: After parse_rule_component, remaining 0, rule ''
parse_rule_set: returning 0
crypto_retrieve_X509_sans: looking for SANs in cert = …
crypto_retrieve_X509_sans: found 2 subject alt name extension(s)
crypto_retrieve_X509_sans: unrecognized othername oid in SAN
crypto_retrieve_X509_key_usage: returning eku 0x60000000
crypto_retrieve_X509_key_usage: returning ku 0x80000000
…
check_all_certs: matching rule relation is NONE with 1 components
check_all_certs: subject: …
regexp_match: checking SAN rule '.*@.*' with value 123456789(a)example.org
regexp_match: the result is a match
component_match: returning match = 1
<SAN> component-rule
Looking at the source, crypto_retrieve_X509_sans() is targeting SAN
values of GEN_OTHERNAME and GEN_DNS; all other SAN objects are
skipped. And for GEN_OTHERNAME, it is targeting only specific OIDs
(thus the "unrecognized othername oid in SAN" line). But one of the
OIDs targeted is msUPN.
So… how can I configure sssd to perform the same matching on the msUPN
SAN that Windows and pkinit.so perform?
From looking at sss-certmap(5), my first attempt would be something
like this:
[certmap/example.org/msupn]
matchrule = &&<SAN:1.3.6.1.4.1.311.20.2.3>.*
maprule = (userPrincipalName={subject_pkinit_principal})
First, I suspect I don't need to use <SAN:dotted-decimal-oid> form,
but I don't know which <SAN:foo> match is the one I actually want,
because the man page doesn't clarify which <SAN:foo> matches
correspond to specific OIDs. Is it <SAN:pkinit>?
The same problem for the maprule: I'm not sure if
{subject_pkinit_principal} is the correct maprule to use. "The SAN
used by pkinit" sounds correct, though.
Thanks in advance for any tips…
1 year, 5 months