Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change ldap_id_use_start_tls default to True #6963

Conversation

justin-stephenson
Copy link
Contributor

No description provided.

@sumit-bose
Copy link
Contributor

Hi,

I wonder if we can call the new option value allow or even allow_fallback instead of try to be better aligned the option values of ldap_tls_reqcert which we took from OpenLDAP's configuration.

bye,
Sumit

@justin-stephenson
Copy link
Contributor Author

Hi,

I wonder if we can call the new option value allow or even allow_fallback instead of try to be better aligned the option values of ldap_tls_reqcert which we took from OpenLDAP's configuration.

bye, Sumit

Yes no problem, I will change it.

@justin-stephenson justin-stephenson force-pushed the start_tls_try_default_master branch from 446c142 to e2bb694 Compare September 28, 2023 15:17
@justin-stephenson justin-stephenson changed the title Change ldap_id_use_start_tls default to True and add "try" option value Change ldap_id_use_start_tls default to True and add "allow" option value Sep 29, 2023
@justin-stephenson justin-stephenson force-pushed the start_tls_try_default_master branch 7 times, most recently from f530139 to 8c41682 Compare October 2, 2023 18:04
@justin-stephenson
Copy link
Contributor Author

associated PR for sssd-2-9 branch to change default to "allow" is here #6968

@justin-stephenson justin-stephenson marked this pull request as ready for review October 2, 2023 20:41
@alexey-tikhonov
Copy link
Member

Please add 'resolves #6681'

@justin-stephenson
Copy link
Contributor Author

Please add 'resolves #6681'

Done.

@justin-stephenson justin-stephenson force-pushed the start_tls_try_default_master branch from af083b2 to e80ca15 Compare October 5, 2023 13:45
@sumit-bose
Copy link
Contributor

Hi,

wouldn't it be easier to add a fourth patch to switch from allow to true #6968, commit all 4 to master and backport only the first 3?

bye,
Sumit

@alexey-tikhonov
Copy link
Member

Both PRs lacks RNs in commit messages (:config: at the very least).

For this reason / once added,

wouldn't it be easier to add a fourth patch to switch from allow to true #6968, commit all 4 to master and backport only the first 3?

-- I don't think this is a good idea as we will have to conflicting (and thus confusing) RNs from ldap: Switch ldap_id_use_start_tls default to... commits.
I think backporting 2 main patches and having different 'change default value' patch is reasonable. Or do I miss anything?

And also PRs need a rebase.

@@ -213,6 +213,7 @@ def format_basic_conf(ldap_conn, schema, config):
ldap_search_base = {ldap_conn.ds_inst.base_dn}
ldap_user_extra_attrs = extraName:uid
ldap_user_certificate = userCert
ldap_id_use_start_tls = allow
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?
LDAP server used in tests doesn't support TLS?

@alexey-tikhonov alexey-tikhonov added the no-backport This should go to target branch only. label Oct 6, 2023
@alexey-tikhonov
Copy link
Member

alexey-tikhonov commented Oct 6, 2023

Do we need 'allow' variant in 2.10+ at all?

Wouldn't it be sufficient for 2.10+ to merely change default to 'true' and to be done with it?

I mean, 'allow' only has meaning as a default value. There is no reason anyone would like to configure it explicitly (like, "I don't know if my server supprts TLS so let's try"?).

Having 'allow' variant with default set to 'true' doesn't make sense, imo.

Of course, it's a bit weird that 2.9.3 will introduce a new variant that will disappear in 2.10+. But it could be explained in RNs that this is a transitional option only to avoid breaking existing setups and it will disappear soon.

@sumit-bose
Copy link
Contributor

Do we need 'allow' variant in 2.10+ at all?

Wouldn't it be sufficient for 2.10+ to merely change default to 'true' and to be done with it?

I mean, 'allow' only has meaning as a default value. There is no reason anyone would like to configure it explicitly (like, "I don't know if my server supprts TLS so let's try"?).

Having 'allow' variant with default set to 'true' doesn't make sense, imo.

Of course, it's a bit weird that 2.9.3 will introduce a new variant that will disappear in 2.10+. But it could be explained in RNs that this is a transitional option only to avoid breaking existing setups and it will disappear soon.

Hi,

then we should make sure that allow cannot be set manually and is only internally used as a default. Additionally the sssd-2.9.x man page should say that the default will change to True in the next major release. And maybe we should consider a Fedora change for this as well to make sure it is properly announced.

bye,
Sumit

@alexey-tikhonov
Copy link
Member

Do we need 'allow' variant in 2.10+ at all?
Wouldn't it be sufficient for 2.10+ to merely change default to 'true' and to be done with it?
I mean, 'allow' only has meaning as a default value. There is no reason anyone would like to configure it explicitly (like, "I don't know if my server supprts TLS so let's try"?).
Having 'allow' variant with default set to 'true' doesn't make sense, imo.
Of course, it's a bit weird that 2.9.3 will introduce a new variant that will disappear in 2.10+. But it could be explained in RNs that this is a transitional option only to avoid breaking existing setups and it will disappear soon.

Hi,

then we should make sure that allow cannot be set manually

Makes sense.

and is only internally used as a default. Additionally the sssd-2.9.x man page should say that the default will change to True in the next major release. And maybe we should consider a Fedora change for this as well to make sure it is properly announced.

Another thing to consider: what is the plan for C9S/RHEL9?
C9S will pick sssd-2.10+ eventually.
If it can't switch to 'true' as default, then we need 'allow' in 2.10+ releases and C9S will have to use downstream patch to set default to 'allow'. But I'd prefer to avoid this if possible.

@alexey-tikhonov
Copy link
Member

alexey-tikhonov commented Oct 6, 2023

And maybe we should consider a Fedora change for this as well to make sure it is properly announced.

Imo, it doesn't justify a Change process, RNs would be enough.

Moreover, F40 should (hopefully) get sssd-2.10
F39 can get sssd-2.9.3+, and it's of course way too late for a Change. But it's a proper time for F39 RNs.

@justin-stephenson
Copy link
Contributor Author

Another thing to consider: what is the plan for C9S/RHEL9? C9S will pick sssd-2.10+ eventually. If it can't switch to 'true' as default, then we need 'allow' in 2.10+ releases and C9S will have to use downstream patch to set default to 'allow'. But I'd prefer to avoid this if possible.

Downstream patch enabling 'allow' is the only viable option if we want to change the default from 'false' in RHEL9 however, yes? It seems too disruptive to switch from 'false' to 'true' within a major release. Otherwise we leave it as 'false' and only makes these changes to improve security for RHEL10+.

I don't have a strong opinion either way i'll implement it whichever way we all decide.

All communication, including the identity provided must be
encrypted to prevent attacks.

Resolves: SSSD#6681
@justin-stephenson justin-stephenson force-pushed the start_tls_try_default_master branch from e80ca15 to adda7b7 Compare October 17, 2023 15:49
@justin-stephenson justin-stephenson changed the title Change ldap_id_use_start_tls default to True and add "allow" option value Change ldap_id_use_start_tls default to True Oct 17, 2023
@alexey-tikhonov
Copy link
Member

CodeQL warning looks a valid one.
Also please add RN.

:relnote: Default `ldap_id_use_start_tls` value changed from `false` to `true` for improved security.

Resolves: SSSD#6681
@justin-stephenson justin-stephenson force-pushed the start_tls_try_default_master branch from adda7b7 to cb39201 Compare October 17, 2023 18:00
Copy link
Contributor

@sumit-bose sumit-bose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,

thanks for the update and your patience, ACK.

bye,
Sumit

@pbrezina
Copy link
Member

Pushed PR: #6963

  • master
    • 847aa71 - ldap: Switch ldap_id_use_start_tls default to True
    • 45e06b7 - man: Improve LDAP security wording

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-backport This should go to target branch only. Pushed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants