-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Use SecureTLSConfig() everywhere #15671
Comments
That function is for setting TLS config for the server endpoints we start. The call sites you linked are for clients. We need to be cautious about tightening TLS config in clients that speak to servers we don't control (like the LDAP client) |
Would it make sense to create a I was also concerned about LDAP. In fact I have an experimental branch on disk that uses VersionTLS10 for LDAP. Or would you rather see a new option in |
possibly. most of our clients' tls config are built using upstream methods, so I would start the discussion there, rather than try to wrap/fork the client builders.
We definitely have to expose the option if we use non-defaults... there are some terribly old LDAP stacks people rely on. |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
The function
SecureTLSConfig()
of the namegithub.com/openshift/origin/pkg/cmd/server/crypto
is used in several places to set safe and sane default settings ofcrypto/tls.TLSConfig
. The default TLS version is only 1.2 instead of TLS 1.0, 1.1, and 1.2. Since PR #15400SecureTLSConfig()
also disables cipher suites with 3DES.A couple of places in Origin's code base do not use the function, for example https://github.com/openshift/origin/blob/master/pkg/auth/ldaputil/client.go#L21 and https://github.com/openshift/origin/blob/master/pkg/cmd/server/kubernetes/master/master_config.go#L514 . To make it easier to apply a common policy for TLS settings and to increase security, Origin should use
SecureTLSConfig()
all over the place.In order to apply default settings to all
tls.Config
structs, some refactoring is required. Otherwise we'd end up with a dependency cycle betweenpkg/cmd/util
andcmd/server/crypto
. IMHOcmd/util/crypto.go
is a good place forSecureTLSConfig()
and a couple of other functions. After all the are used outside thecmd/server
namespace or just used bySecureTLSConfig()
:I found out about the issue while I was working on openshift/openshift-docs#4946 / https://trello.com/c/a9egV9TF/62-1-sccfsi-publicly-document-the-key-configurations-and-crypto-levels-in-openshifts-default-configuration
CC @openshift/sig-security
The text was updated successfully, but these errors were encountered: