-
Notifications
You must be signed in to change notification settings - Fork 746
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
Limit supported TLS versions and cipher suites #4192
Conversation
e04a1e7
to
155861a
Compare
155861a
to
cbcb620
Compare
does the current homeserver spec enforce one of these supported ciphers? I'm wondering if this could cause some peoples client to stop working and if so, should we have some UI? |
homeserver spec does not specify anything about this. I guess TLS/SSL configuration is not a part of Synapse. The problem is on client side. We should not authorise weak ciphers.
Yes it's possible if a client tries to connect on homeserver that provides a weak cipher suite, but this is probably already the case on web browsers and iOS. By default they don't support blacklisted cipher suites.
Why not, I let @bmarty to decide about this, but I'm not sure that's easy to implement this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question before I can merge this PR. Thanks!
@@ -237,14 +235,14 @@ internal object CertUtil { | |||
* @return a list of accepted TLS specifications. | |||
*/ | |||
fun newConnectionSpecs(hsConfig: HomeServerConnectionConfig): List<ConnectionSpec> { | |||
val builder = ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) | |||
val builder = ConnectionSpec.Builder(ConnectionSpec.RESTRICTED_TLS) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use the value of MatrixConfiguration.connectionSpec here, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see, this is a base config, that we will update with the lines below.
In Element Android (and SDK) 1.3.6 |
By default, OkHttp will attempt a MODERN_TLS connection : Documentation
This default configuration accepts some weak certificates :
It's highly recommended to follow RFC7540 and not support cipher suites contained in this list. To do that it's better to use RESTRICTED_TLS connection.
It is always possible to change this parameter in
MatrixConfiguration
(Unauthenticated connection only) and/orHomeServerConnectionConfig