Skip to content

security: Option to configure TLS version and ciphers #48294

@bdarnell

Description

@bdarnell

CockroachDB 20.1 is the first version to use TLS 1.3 by default. This turns out to be a compatibility problem with some versions of Java, including the current LTS release (cockroachdb/docs#7258), and our compatibility testing of TLS 1.3 isn't great (#48293) so there may be other headaches lurking.

The java incompatibility is a bug on the java side; patch releases are available but weren't released until April 2020 so they're not ubiquitous yet. There is also a workaround by setting the environment variable GODEBUG=tls13=0; support for this env var has been removed in Go 1.14 (and therefore it will not be supported in CRDB 20.2).

Given the compatibility impact with a major platform, should we consider giving users the option to disable TLS 1.3 (in a form other than an env var, which might be easier to manage in some environments}? Should we consider disabling it by default in 20.1 since it is evidently still going through interoperability headaches in April 2020? Note that if we make any changes to CRDB here, they would presumably appear in the patch release 20.1.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-securityC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions