Skip to content

cipher suite choice #429

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

Open
wants to merge 2 commits into
base: temp/3.7
Choose a base branch
from
Open

Conversation

RichardSmedley
Copy link
Contributor

DOC-12599

@RichardSmedley RichardSmedley requested review from dnault and removed request for programmatix February 3, 2025 13:41
Copy link
Contributor

@dnault dnault left a comment

Choose a reason for hiding this comment

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

Thanks for this!

To check which ciphers are available on a self-managed Couchbase Server installation, run:
[source.console]
----
/opt/couchbase/bin/couchbase-cli setting-security -c localhost -u Administrator -p password –get
Copy link
Contributor

Choose a reason for hiding this comment

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

–get should be --get (somewhere along the line, the two dashes got mangled into an en dash)

----

To check which ciphers are available on a self-managed Couchbase Server installation, run:
[source.console]
Copy link
Contributor

Choose a reason for hiding this comment

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

Should that dot be a comma? Like [source,console]

@@ -238,6 +238,34 @@ E.....@.@.............+....Z.'yZ..#........
====


=== Choosing your Cipher Suite

If you are on a version of TLS that allows a cipher suite weaker than your latest security policies allow,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion:

If your organization's security policy requires using specific TLS cipher suites,


If you are on a version of TLS that allows a cipher suite weaker than your latest security policies allow,
you can specify which ciphers to use with
link:++https://docs.couchbase.com/sdk-api/couchbase-core-io/com/couchbase/client/core/env/SecurityConfig.Builder.html#ciphers(java.util.List++[`SecurityConfig.Builder (ciphers(List`].
Copy link
Contributor

@dnault dnault Feb 5, 2025

Choose a reason for hiding this comment

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

Maybe style the label like this?

[the `security.ciphers` client setting]

"TLS_ECDH_RSA_WITH_RC4_128_SHA",
"TLS_RSA_WITH_RC4_128_SHA",
"TLS_RSA_WITH_RC4_128_MD5"))) ) );
----
Copy link
Contributor

Choose a reason for hiding this comment

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

Most folks who need to specify cipher suite will also want to force TLS 1.3. One way to do that is to require a cipher suite introduced in TLS 1.3.

Maybe format this a bit differently, and limit to TLS 1.3 cipher suites that the JVM and all Couchbase services support?

Cluster cluster = Cluster.connect(
  connectionString,
  ClusterOptions.clusterOptions(username, password)
    .environment(env -> env
      .securityConfig(sec -> sec
        .ciphers(List.of(
          // TLS 1.3 cipher suites supported by
          // Java and Couchbase Server.
          "TLS_AES_128_GCM_SHA256",
          "TLS_AES_256_GCM_SHA384"
        )))));
  }
}```

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