Skip to content

Move cipher note from kerb to tls page#10579

Merged
hashhar merged 1 commit intotrinodb:masterfrom
Ordinant:bw/mvcipher
Feb 1, 2022
Merged

Move cipher note from kerb to tls page#10579
hashhar merged 1 commit intotrinodb:masterfrom
Ordinant:bw/mvcipher

Conversation

@Ordinant
Copy link
Copy Markdown
Member

No description provided.

@cla-bot cla-bot bot added the cla-signed label Jan 12, 2022
@Ordinant Ordinant requested review from dain, electrum and mosabua January 12, 2022 20:14
@Ordinant Ordinant added the docs label Jan 12, 2022
@Ordinant Ordinant force-pushed the bw/mvcipher branch 4 times, most recently from c84f02d to f24b10b Compare January 13, 2022 21:48
@Ordinant Ordinant force-pushed the bw/mvcipher branch 2 times, most recently from b15140a to ff11970 Compare January 18, 2022 21:53
@mosabua
Copy link
Copy Markdown
Member

mosabua commented Jan 21, 2022

@dain @electrum @hashhar can we move this forward?

Copy link
Copy Markdown
Member

@dain dain left a comment

Choose a reason for hiding this comment

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

looks good to me

@Ordinant
Copy link
Copy Markdown
Member Author

Dain approved! Who's going to merge this in, please?

Copy link
Copy Markdown
Member

@hashhar hashhar left a comment

Choose a reason for hiding this comment

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

LGTM since this is a lift-and-shift.

Left some comments since this could use much work - for someone unfamiliar with TLS configs there is some "not to the point" talk + some contradictions.


.. _tls-version-and-ciphers:

Supported standards
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Very weird title IMO.

"Supported TLS versions and Cipher suites" is more factual and actually conveys information.

echo "java.util.Arrays.asList(((javax.net.ssl.SSLServerSocketFactory) \
javax.net.ssl.SSLServerSocketFactory.getDefault()).getSupportedCipherSuites()).stream().forEach(System.out::println)" | jshell -

The default Trino server specifies a set of regular expressions that exclude
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
The default Trino server specifies a set of regular expressions that exclude
By default Trino is configured to exclude

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The configs don't use regex at all. It's just a list.

using TLS 1.2 and TLS 1.3 certificates. The server rejects TLS 1.1, TLS 1.0, and
all SSL format certificates.

The Trino server does not specify a set of supported ciphers, instead deferring
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This statement and the next paragraph are conflicting. Either Trino can exclude and include ciphers or it cannot.

Comment on lines +32 to +33
to the defaults set by the JVM version in use. The documentation for Java 11
lists its `supported cipher suites
Copy link
Copy Markdown
Member

@hashhar hashhar Feb 1, 2022

Choose a reason for hiding this comment

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

Since we talk vendors we should be extra clear when referring to examples here.

Suggested change
to the defaults set by the JVM version in use. The documentation for Java 11
lists its `supported cipher suites
to the defaults set by the JVM version in use. For example Oracle JDK 11
lists its `supported cipher suites

Comment on lines +36 to +37
Run the following two-line code on the same JVM from the same vendor as
configured on the coordinator to determine that JVM's default cipher list.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Run the following two-line code on the same JVM from the same vendor as
configured on the coordinator to determine that JVM's default cipher list.
Run the following code on the same JVM as used by
the coordinator to determine that JVM's default cipher list.

older cipher suites that do not support forward secrecy (FS).

Use the ``http-server.https.included-cipher`` property to specify a
comma-separated list of ciphers in preferred use order. If one of your preferred
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
comma-separated list of ciphers in preferred use order. If one of your preferred
comma-separated list of ciphers in order of preferred use. If one of your preferred


.. note::

If you manage the coordinator's direct TLS implementatation, monitor the CPU
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What a "direct TLS implementation"?


If you manage the coordinator's direct TLS implementatation, monitor the CPU
usage on the Trino coordinator after enabling HTTPS. Java prefers the more
CPU-intensive cipher suites, if you allow it to choose from a big list of
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this comma is redundant

usage on the Trino coordinator after enabling HTTPS. Java prefers the more
CPU-intensive cipher suites, if you allow it to choose from a big list of
ciphers. If the CPU usage is unacceptably high after enabling HTTPS, you can
configure Java to use specific cipher suites as described in this section.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can be read to mean to verbatim set the config shared above which I don't beleive is what we intend to mean here.

Comment on lines +74 to +75
However, best practice is to instead use an external load balancer, as
discussed next.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
However, best practice is to instead use an external load balancer, as
discussed next.
However, best practice is to terminate TLS at a load balancer instead as
discussed next.

@hashhar hashhar merged commit 1db50ca into trinodb:master Feb 1, 2022
@hashhar
Copy link
Copy Markdown
Member

hashhar commented Feb 1, 2022

@jhlodin Can you kindly create an issue so that we remember to follow up on this?

@github-actions github-actions bot added this to the 370 milestone Feb 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

5 participants