-
-
Notifications
You must be signed in to change notification settings - Fork 719
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
Insecure cipher suites was found #6558
Comments
Thanks for your report. Is there any way for us to reproduce this? I was trying to reproduce this with the code below import dask
from distributed.security import Security
from distributed.utils_test import get_cert
ca_file = get_cert("tls-ca-cert.pem")
cert1 = get_cert("tls-cert.pem")
key1 = get_cert("tls-key.pem")
keycert1 = get_cert("tls-key-cert.pem")
c = {
"distributed.comm.tls.ca-file": ca_file,
"distributed.comm.tls.scheduler.key": key1,
"distributed.comm.tls.scheduler.cert": cert1,
"distributed.comm.tls.worker.cert": keycert1,
"distributed.comm.tls.min-version": 1.3,
}
dask.config.set(c)
sec = Security()
ciphers = sec.get_connection_args("scheduler")['ssl_context'].get_ciphers()
print({d['name'] for d in ciphers}) but did not get any insecure ciphers |
I just noticed that you're running on python3.7 and an older version |
@fjetter Thank you for your reply! Then when I changed comm.tls.min-version to 1.3 in distributed.yaml, the problem was solved... Is there an option to specify the minimum version of the TLS protocol when starting with the command line? tls:
ciphers: null # Allowed ciphers, specified as an OpenSSL cipher string.
min-version: 1.3 # 1.2 # The minimum TLS version supported.
max-version: null # The maximum TLS version supported. |
Well, thanks for your report anyhow. We discovered another problem with the minimal version.
There are a couple of ways to set this parameter. For instance, we're accepting multiple dask config files in multiple positions, e.g. you could put a config in your home dir with this option always set. Have a look at https://docs.dask.org/en/stable/configuration.html for the various possibilities |
Environment:
What happened:
When tls_min_version is specified TLSv1_3, the list of cipher suites provided by Client Hello contains insecure cipher suites, such as
TLS_RSA_W_AES_256_CBC_SHA256
.Client Hello provides the following cipher suites:
What you expected to happen:
Leaving only the cipher suite supported by tls 1.3.
Anything else we need to know?:
Maybe we can disable insecure cipher suites by adding judgment statements?
Add a judgment to the next line of line 255.
distributed/distributed/security.py
Line 255 in b119eb9
Such as,
The text was updated successfully, but these errors were encountered: