The SSSD team is proud to announce the release of version 1.16.3 of the System Security Services Daemon.
The tarball can be downloaded from https://releases.pagure.org/SSSD/sssd/
RPM packages will be made available for Fedora shortly.
Please provide comments, bugs and other feedback via the sssd-devel or sssd-users mailing lists:
* The ``kdcinfo`` files that SSSD uses to inform libkrb5 about which KDCs
were discovered for a Kerberos realm used to be only generated for the
joined domain, not the trusted domains. Starting with this release, the
``kdcinfo`` files are generated automatically also for trusted domains in
setups that use ``id_provider=ad`` and IPA masters in a trust relationship
with an AD domain.
* The SSSD Kerberos locator plugin which processes the kdcinfo files and
actually tells libkrb5 about the available KDCs can now process multiple
address if SSSD generates more than one. At the moment, this feature
is only used on IPA clients (see below). Please see the
``sssd_krb5_locator_plugin(8)`` manual page for more information about
the Kerberos locator plugin.
* On IPA clients, the AD DCs or the AD site which should be used to
authenticate users can now be listed in a subdomain section. Please
see `the feature design page <https://docs.pagure.org/SSSD.sssd/design_pages/kdcinfo_improvements.html>`_
or the section "trusted domains configuration" for more details.
Notable bug fixes
* SECURITY: The permissions on ``/var/lib/sss/pipes/sudo`` were set
so that anyone could read anyone else's sudo rules. This was considered
an information leak and assigned CVE-2018-10852 (#3766)
* IMPORTANT: The 1.16.2 release was storing the cached passwords without
a salt prefix string. This bug was fixed in this release, but any
password hashes generated by 1.16.2 are incompatible with the hashes
generated by 1.16.3. The effect is that upgrade from 1.16.2 to 1.16.3
should be done when the authentication server is reachable so that the
first authentication after the upgrade fix the cached password.
* The ``sss_ssh`` proces leaked file descriptors when converting more than
one x509 certificate to SSH public key (#3794)
* SSSD, when configured with ``id_provider=ad`` was using too expensive
LDAP search to find out whether the required POSIX attributes
were replicated to the Global Catalog. Instead, SSSD now consults
the Partial Attribute Set, which is much more effective (#3755)
* The PAC responder is now able to process Domain Local in case the
PAC uses SID compression. Typicaly this is the case with Windows Server
2012 and newer (#3767)
* Some versions of OpenSSH (e.g. the one shipped in RHEL-7.5) would
close the pipe towards ``sss_ssh_authorizedkeys`` when the matching
key is found before the rest of the output is read. The
``sss_ssh_authorizedkeys`` helper was not handling this behaviour
well and would exit with SIGPIPE, which also meant the public key
authentication failed (#3747)
* User lookups no longer fail if user's e-mail address conflicts with
another user's fully qualified name (#3607)
* The ``override_shell`` and ``override_homedir`` options are no longer
applied to entries from the files domain. (#3758)
* Several bugs related to the FleetCommander integration were fixed (#3773,
* The grace logins with an expired password when authenticating against
certain newer versions of the 389DS/RHDS LDAP server did not work (#3597)
* Whitespace around netgroup triple separator is now stripped
* The ``sss_ssh_knownhostproxy`` utility can now print the host key without
proxying the connection.
* Due to an overly restrictive check, the fast in-memory cache was sometimes
skipped, which caused a high load on the ``sssd_nss`` process (#3776).
* The python2 bindings are not built by default on Fedora 29 or newer
* The sssd-secrets responder is now packaged in the sssd-kcm subpackage
and might be removed in a future release
* ``sss_ssh_knownhostsproxy`` has a new option `-k/--print`.
* `3796 <https://pagure.io/SSSD/sssd/issue/3796>`_ - The IPA selinux provider can return an error if SELinux is completely disabled
* `3794 <https://pagure.io/SSSD/sssd/issue/3794>`_ - sssd_ssh leaks file descriptors when more than one certificate is converted into an SSH key
* `3791 <https://pagure.io/SSSD/sssd/issue/3791>`_ - The cached password does not store the salt prefix
* `3778 <https://pagure.io/SSSD/sssd/issue/3778>`_ - When sssd is running as non-root user, the sudo pipe is created as sssd:sssd but then the private pipe ownership fails
* `3777 <https://pagure.io/SSSD/sssd/issue/3777>`_ - If access check for a privileged pipe fails, the responder loops indefinitely
* `3776 <https://pagure.io/SSSD/sssd/issue/3776>`_ - Spurious check in the sssd nss memcache can cause the memory cache to be skipped
* `3774 <https://pagure.io/SSSD/sssd/issue/3774>`_ - Desktop Profile: The 10th policy is producing a wrong file name
* `3773 <https://pagure.io/SSSD/sssd/issue/3773>`_ - SSSD bails out saving desktop profiles in case an invalid profile is found
* `3767 <https://pagure.io/SSSD/sssd/issue/3767>`_ - Groups go missing with PAC enabled in sssd
* `3766 <https://pagure.io/SSSD/sssd/issue/3766>`_ - CVE-2018-10852: information leak from the sssd-sudo responder
* `3758 <https://pagure.io/SSSD/sssd/issue/3758>`_ - override_homedir should not apply to the files provider
* `3755 <https://pagure.io/SSSD/sssd/issue/3755>`_ - The search filter for detecting POSIX attributes in global catalog is too broad and can cause a high load on the servers
* `3754 <https://pagure.io/SSSD/sssd/issue/3754>`_ - SSSD AD uses LDAP filter to detect POSIX attributes stored in AD GC also for regular AD DC queries
* `3747 <https://pagure.io/SSSD/sssd/issue/3747>`_ - sss_ssh_authorizedkeys exits abruptly if SSHD closes its end of the pipe before reading all the SSH keys
* `3652 <https://pagure.io/SSSD/sssd/issue/3652>`_ - kdcinfo doesn't get populated for other domains
* `3607 <https://pagure.io/SSSD/sssd/issue/3607>`_ - Handle conflicting e-mail addresses more gracefully
* `3597 <https://pagure.io/SSSD/sssd/issue/3597>`_ - sssd doesn't allow user with expired password to login when PasswordgraceLimit set
* `3596 <https://pagure.io/SSSD/sssd/issue/3596>`_ - A combination of the same qualified and unqualified sudoUser causes Error: 17: File exists
* `3542 <https://pagure.io/SSSD/sssd/issue/3542>`_ - Get host key without proxying connection
* `3475 <https://pagure.io/SSSD/sssd/issue/3475>`_ - Full information regarding priority of lookup of principal in keytab not in man page
* `3291 <https://pagure.io/SSSD/sssd/issue/3291>`_ - RFE: sssd in cross realm trust configuration should be use AD KDC from a list or site defined in the config file
* Alexander Bokovoy (2):
* ipa provider: always use a special keytab to talk to a trusted DC
* ipa provider: expand search base to cover trusted domain objects
* Alexey Sheplyakov (1):
* nss: skip incomplete groups instead of bailing out
* Amit Kumar (1):
* Responder: simplify if-else structure in sss_dp_get_account_msg()
* Fabiano Fidêncio (18):
* intg: Do not hardcode nsslibdir
* files: do not apply override_homedir to files provider
* tests: add override_homedir tests for files provider
* files: do not apply override_shell to files provider
* tests: add override_shell tests for files provider
* util: add is_files_provider() helper
* files: make use of is_files_provider() helper
* cache_req: keep the files provider as the first domain to be searched
* tests: add basic tests for cache_req_domain_new_list_from_domain_resolution_order()
* tests: add a test to ensure the output_fqnames is false for files provider
* deskprofile: don't bail if we fail to save one profile
* sdap: respect passwordGracelimit
* deskprofile: fix a typo in _get_filename_path()
* tests: add tests for ipa_deskprofile_get_filename_path()
* util: introduce sss_ssh_print_pubkey()
* ssh: make use of sss_ssh_print_pubkey()
* sss_ssh_knownhostsproxy: add option to only print the pubkey
* nss: remove unused label
* Jakub Hrozek (38):
* Bumping the version to track the 1.16.3 development
* TESTS: Extend the schema with sshPublicKey attribute
* TESTS: Allow adding sshPublicKey for users
* TESTS: Add a basic SSH responder test
* SSH: Do not exit abruptly if SSHD closes its end of the pipe before reading all the SSH keys
* TESTS: Add a helper binary that can trigger the SIGPIPE to authorizedkeys
* TESTS: Add a regression test for SIGHUP handling in sss_ssh_authorizedkeys
* Revert "LDAP/IPA: add local email address to aliases"
* util: Remove the unused function is_email_from_domain
* TESTS: Allow storing e-mail address for users
* TESTS: Add regression test for looking up users with conflicting e-mail addresses
* AD/LDAP: Do not misuse the ignore_mark_offline to check if a connection needs to be checked for POSIX attribute presence
* MAN: Remove outdated notes from the re_expression description
* MAN: Document the re_expression needed to suport @-signs in the groupnames
* SUDO: Create the socket with stricter permissions
* AD: expose the helper function to format the site DNS query
* RESOLV: Add a resolv_hostport_list request
* KRB5/IPA/AD: Add a utility function to create a krb5_service instance
* KRB5: Allow writing multiple addresses to the kdcinfo plugin
* IPA: Add the options that the IPA subdomains code will read for trusted domains on the client
* IPA: Populate kdcinfo files on trust clients with configured AD servers
* MAN: Document the options available for AD trusted domains
* SDAP: Detect schemaNamingContext from the rootDSE
* AD: Add Global Catalog usability check in subdomain code by looking at the schema
* AD: Remove the legacy check from ad_get_account_domain_posix_check request
* LDAP/AD: Remove the legacy POSIX check from user, group and enumeration searches
* LDAP: Remove the legacy POSIX check itself
* sudo testcli: Use hand-crafted JSON for output so that the test CLI is usable in tests
* TESTS: Load the sudo schema in the default OpenLDAP test instance and create ou=sudoers
* TESTS: Add API to add sudo rules in tests
* TESTS: Add a simple sudo LDAP test
* SUDO: Don't save duplicates when saving qualified names
* crypto: Silence a Coverity warning in OpenSSL version of sss_hmac_sha1()
* crypto: Make one condition more defensive in NSS version of sss_hmac_sha1()
* SDAP: Improve a confusing DEBUG message when initgroups search matches multiple entries
* RESP: Terminate client connection if the permissions check on the priv pipe fails
* SELINUX: Also call is_selinux_enabled as a check for selinux child
* P11: Don't return int failure from a bool function
* Josef Cejka (1):
* Strip whitespaces in netgroup triple.
* Lukas Slebodnik (15):
* sss_seed: Remove unused parameter from seed_domain_user_info
* SUDO: Fix running in unprivileged responder
* SUDO: Root should be able to read/write sssd-sudo socket
* SPEC: Drop unnecessary check for minor version of el7
* test_ssh_client: Do not ignore failure from read
* SPEC: Move openssl deps away from unit tests deps
* PYTHON: Avoid warnings with python3.7
* SPEC: Move secrets responder to the package sssd-kcm
* SPEC: Do not build python2 bindings on latest distros
* BUILD: Replace also runstatedir in templates
* SYSTEMD: Allow to use "/run" in ListenStream
* Revert "Revert "CRYPTO: Suppress warning Wstringop-truncation""
* CRYPTO: Save prefix in s3crypt_sha512
* crypto-tests: Add unit test for s3crypt_sha512
* SSS_CERT: Close file descriptors after executing p11_child
* Michal Židek (1):
* Revert "CRYPTO: Suppress warning Wstringop-truncation"
* Stanislav Levin (1):
* Fix "test-find-uid" and "find_uid-tests" tests
* Sumit Bose (14):
* krb5 locator: add support for multiple addresses
* krb5 locator: fix IPv6 support
* krb5 locator: make plugin more robust
* krb5 locator: add unit tests
* AD/IPA: Create kdcinfo file for sub-domains
* krb5: refactor removal of krb5info files
* krb5_common: add callback only once
* data provider: run offline callbacks only once
* utils: add libsss_child dependency to libsss_cert
* AD: consider resource_groups in PAC as well
* utils: make create_ipa_preauth_indicator() public as create_preauth_indicator()
* PAM: create pre-auth indicator file
* MC: Remove check if record is in the mapped address space
* tests: fix sss_nss_idmap-tests
* amitkumar50 (1):
* MAN: Give information regarding priority of ldap lookup
I had an issue a short while ago with a replica which turned out to be an
expired certificate which I renewed and all seemed good.
It now appears that although the certificate renewed as seen by getcert
-list, it didn't update /etc/httpd/alias and so the httpd and tomcat-pki
services won't start unless I set the date to before the certificate
expired, and even then sometimes the httpd error_log shows:
Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off"
to nss.conf so the server can start until the problem can be resolved.
and the service fails to start.
I've tried resubmitting the certificate, and it doesn't seem to throw an
error, but it doesn't update /alias either.
Trying to access the server via the web page shows the old certificate
still in use.
I see the same certificate error with the replica server, which was freshly
rebuilt and added last week.
I've doubtless dug further into the hole trying to troubleshoot this, so I
probably need to start from the beginning again, and a pointer in the right
direction would be a great help!
A getcert list shows all the certificates expiry dates well into the future.
How can I get the certs back in sync? I've found a few guides and most seem
to be for earlier versions, and I'm not sure if they're still current.
I can post whatever logs you think will help, I'm afraid I'm not familiar
enough with them all to tell which are the most relevant. Is there a guide
for the logs?
Thanks for any help you can give,
If I don't have freeipa dns and we use external DNS and I wanted to use
_srv_ for all the clients to connect automatically when a master goes down
what should I do on the DNS server?
I tried to have
etc etc... but I don't think is working
Our FreeIPA DNS returns the SPFrecords erroneously and as one string
without spaces allthough the record is correctly stored and setup
in the WebUI:
This is what the query gets as answer:
If I copy and Paste the record from the web UI its correct:
TXT v=spf1 mx ip4:188.8.131.52/32 ip4:184.108.40.206/32 ~all
Packages installed are:
How can we fix this asap - of course the syntactically wrong SPF
response causes big trouble with mails?
Senior Site Reliability Engineer DevOps
Ein Unternehmen der Haufe Gruppe
Unterstrasse 11, CH-9001 St.Gallen
Tel. +41 71 224 01 52, Fax +41 71 224 01 02
This is the output from both IPA server and client:
From IPA Server:
# id mspezie(a)example.org
uid=1070607073(mspezie(a)example.org) gid=1070607073(mspezie(a)example.org) groups=1070607073(mspezie(a)example.org)
1070603934(linux power users(a)example.org)
# id freeipa(a)example.org
uid=1070607388(freeipa(a)example.org) gid=1070607388(freeipa(a)example.org) groups=1070607388(freeipa(a)example.org)
From IPA Client:
# id mspezie(a)example.org
id: mspezie(a)example.org: no such user
# id freeipa(a)example.org
uid=1070607388(freeipa(a)example.org) gid=1070607388(freeipa(a)example.org) groups=1070607388(freeipa(a)example.org)
The only difference from these two accounts is that freeipa(a)example.org is present in cn=Users and mspezie(a)example.org not.
All the AD groups associated to mspezie have a name
I've configured IPA with trust to our AD. Everything seems ok except for one thing: if one AD user is not present in "cn=Users,dc=example,dc=org" but exists in "ou=Group,dc=example,dc=org" , I can login only on IPA server. The IPA clients accepts login only from the AD users present in "cn=Users,dc=example,dc=org".
This is the /var/log/secure output from the IPA client when I'm trying to connect with my user that is present in "ou=my organization unit,dc=example,dc=org" or "ou=Domain Users,dc=example,dc=org":
Aug 9 09:59:52 freeipaclient sshd: pam_unix(sshd:auth): check pass; user unknown
Aug 9 09:59:52 freeipaclient sshd: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=finke.example.org
Aug 9 09:59:54 freeipaclient sshd: error: PAM: User not known to the underlying authentication module for illegal user mspezie(a)example.org from finke.example.org
Aug 9 09:59:54 freeipaclient sshd: Failed keyboard-interactive/pam for invalid user mspezie(a)example.org from 192.168.*.* port 64721 ssh2
Aug 9 09:59:54 freeipaclient sshd: Postponed keyboard-interactive for invalid user mspezie(a)example.org from 192.168.*.* port 64721 ssh2 [preauth]
If I try to connect with a user present in "cn=Users,dc=example,dc=org" this is the /var/log/secure output:
Aug 9 10:18:08 freeipaclient sshd: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=finke.example.org user=freeipa(a)example.org
Aug 9 10:18:09 freeipaclient sshd: Accepted keyboard-interactive/pam for freeipa(a)example.org from 192.168.*.* port 64945 ssh2
Aug 9 10:18:09 freeipaclient sshd: pam_unix(sshd:session): session opened for user freeipa(a)example.org by (uid=0)
It seems that IPA client can only search in "cn=Users,dc=example,dc=org" . How could I change it or permit to look in the groups (we have 3 groups with all the users stored there and no one in cn=Users except for admins or testing)?
Hello, when i run
[root@freeipa ~]# ipa-adtrust-install --add-sids
[1/23]: validate server hostname
[22/23]: adding SIDs to existing users and groups
This step may take considerable amount of time, please wait..
[23/23]: restarting smbd
Done configuring CIFS.
but in dirserv logs:
[02/Aug/2018:10:37:10] - ERR - sidgen_task_thread - [file ipa_sidgen_task.c, line 194]: Sidgen task starts ...
[02/Aug/2018:10:37:10] - ERR - find_sid_for_ldap_entry - [file ipa_sidgen_common.c, line 483]: ID value too large.
[02/Aug/2018:10:37:10] - ERR - do_work - [file ipa_sidgen_task.c, line 154]: Cannot add SID to existing entry.
[02/Aug/2018:10:37:10] - ERR - sidgen_task_thread - [file ipa_sidgen_task.c, line 199]: Sidgen task finished .
my ID range
[root@freeipa ~]# ipa idrange-find
1 range matched
Range name: DOMAIN_id_range
First Posix ID of the range: 10000
Number of IDs in the range: 10000
First RID of the corresponding RID range: 1000
First RID of the secondary RID range: 100000000
Range type: local domain range
Количество вернутых значений 1
How to fix it?
When i create new user ipaNTHash was created and all work fine. But already created users don't have ipaNTHash.
I am using CentOS 7.3 and FreeIPA 4.4.
I have one FreeIPA server and several FreeIPA clients. SSH SSO has been working fine (via Kerberos). Call the network they reside on 192.168.1.0/24 (the "primary" network).
I recently added a second NIC to each of the clients. Thus, all clients share a presence on a secondary, private network. The server does not have a presence on this network. Call this network 192.168.2.0/24 (the "secondary" network).
Since each client has two IP addresses, it has two hostnames configured in DNS. Call these the "primary" (corresponding to the client's address in 192.168.1.0/24) and "secondary (corresponding to the client's address in 192.168.2.0/24) hostnames. Of course, reverse (PTR) records are also setup to map the IP addresses back to the corresponding hostnames.
Hostnames and IP addresses are as follows:
client-1.example.com (primary): 192.168.1.2
client-1-eth1.example.com (secondary): 192.168.2.2
client-2.example.com (primary): 192.168.1.3
client-2-eth1.example.com (secondary): 192.168.2.3
I configured the server as follows:
-r EXAMPLE.COM \
-n example.com \
--dirsrv-cert-file=<path to server SSL certificate> \
--http-cert-file=<path to server SSL certificate> \
--auto-reverse did not appear to work, so I manually added the DNS PTR record 192.168.1.1 --> server.example.com
I configured the clients as follows:
-p admin \
Again, I had to manually add DNS PTR records:
192.168.1.2 --> client-1.example.com
192.168.1.3 --> client-2.example.com
At this point I can SSH between the server and clients just fine without being prompted to accept an SSH host key and without being prompted for my password. SSH SSO via Kerberos is working fine on the primary network.
Now I need to get SSH SSO working on the secondary network. To accomplish this, I did the following:
ipa-join -h client-1-eth1.example.com
ipa-join -h client-2-eth1.example.com
This caused forward DNS records (i.e. A records) to be created, but once again, reverse records were not created, so I manually added the following PTR records to DNS:
192.168.2.2 --> client-1-eth1.example.com
192.168.2.3 --> client-2-eth1.example.com
At this point, I am now prompted to accept a host key, so SSO is not yet working on the secondary network. If I go ahead and accept the host key, I am *not*, however, prompted for my password.
So, the user authentication part of SSO is working on the secondary network, but the host authentication part of SSO is *not* working on the secondary network.
I have observed the following in the FreeIPA web interface:
1. Under Identity --> Hosts, client-1-eth1.example.com and client-2-eth1.example.com exist.
2. client-1-eth1.example.com and client-2-eth1.example.com do not have any SSH host keys associated with them.
3. Under Network Services --> DNS --> DNS Zones --> example.com, client-1-eth1.example.com and client-2-eth1.example.com have no SSHFP records.
4. If I manually add SSH host keys under Identity --> Hosts for the clients but do *not* manually add corresponding SSHFP records to DNS, I *can* SSH to a client's secondary interface without being prompted to accept an SSH host key (i.e. SSO *does* work on the secondary interface)
5. If I manually add SSHFP records to DNS for the clients but do *not* add the corresponding SSH host keys under Identity --> Hosts, I *cannot* SSH to a client's secondary interface without being prompted to accept an SSH host key (i.e. SSO *does not* work on the secondary interface)
What must I do to get the client's secondary hostnames properly enrolled in FreeIPA so that SSH SSO works when using those secondary hostnames?
I tried to install ipa using "yum install -y ipa-server" in CentOS 7.2.
Since the environement cann not connect to network, i prepared an local yum repository using iso file.
Then i encountered dependency issue as below,
Error: Package: resteasy-base-jaxrs-3.0.6-4.el7.norach (iso) Requires: mvn(org.jboss.spec.javax.annotation:jboss-annotatioins-api_1.1_spec)
Does it mean I should install maven?
Which packages needed for it?
Anyone have idea?