Skip to content

Conversation

@rhysparry
Copy link
Contributor

Background

Historically, Halibut, and by extension, Tentacle, has explicitly defined the set of supported TLS protocols. This has allowed newer protocols to be used without requiring the underlying system to enable them by default. However, it has also meant that older protocols have remained enabled to support customers running old systems.

Modern Operating System defaults are intended to provide the appropriate balance between security and compatibility, while allowing users to control the balance. This pull request switches the default Tentacle TLS configuration to match that of the underlying Operating System.

As a temporary safety measure, the OCTOPUS_TENTACLE_USE_LEGACY_TLS environment variable can be set to the value YES to switch to the previous behaviour of explicit configuration.

Results

For modern systems, this will result in TLS 1.0 and 1.1 no longer being available. Similarly, TLS 1.3 may also become unavailable if it is not configured by default.

How to review this PR

  • Quality
  • Environment variable suitability

Pre-requisites

  • I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
  • I have considered informing or consulting the right people, according to the ownership map.
  • I have considered appropriate testing for my change.

public static class EnvironmentOverrides
{
public static bool UseLegacyExplicitSslConfiguration =>
Environment.GetEnvironmentVariable("OCTOPUS_TENTACLE_USE_LEGACY_TLS") == "YES";
Copy link
Contributor

Choose a reason for hiding this comment

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

Should the value for this be TRUE rather than YES, as it should follow the standard bool convention?

@evolutionise
Copy link
Contributor

Fixes #468

Confirmed by customer with the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants