-
Notifications
You must be signed in to change notification settings - Fork 81
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
Feat: add support for TLSv1.3 #447
Conversation
Signed-off-by: Tero Saarni <[email protected]>
@kares wrote (originally from elastic/logstash#10494 (comment))
For now I have updated currently existing options By the way: it is curious we will be stuck with One test job failed but maybe it is flake since the error is |
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.
👍 on track - left a few comments on code changes
I am planning to revisit this with some kind of a TLSv1.3 "happy path" test
hopefully we do not need to care about that part anymore - will need to double check. fine to leave it as is for now.
unfortunately Java 8 compat is still needed - wonder if we should do some kind of 'light' feature detection of the cipher being available ... |
I went ahead and added a happy path test in integration suite, but let me know if this is something you were thinking. I noticed that suite had old filebeat that did not support TLSv1.3 so I needed to upgraded it. Went for latest but 7.x would be OK as well. Also small change in |
Not sure why |
💯 - great stuff Tero, regarding 7.x it would be better to have the older version as the plugin tries to maintain backwards compatibility 7.8 was supported a few months back but any Beats from 7.8 - 7.10 range that has TLS 1.3 and works would be for the best. I do not mind having 8.x as well but in that case we would need to take things further and parameterize the version of Beats we're testing against (and have different CI targets).
fine by me to have narrower configuration - hopefully it still works with 7.x |
Filebeat 7.6.0 was the first one with TLS 1.3. It seemed to work, except for the errors due to bundler problem elastic/logstash#13890. |
We just pushed a plugin update with a similar code base: logstash-plugins/logstash-input-http#146 There's a couple of things that are handled slightly differently (loading the cipher lists ahead of time), could you take a look and bump the version number and include a CHANGELOG entry please? |
Sure! I have now copied the default/supported ciphers handling from logstash-plugins/logstash-input-http#146. I stepped minor version number like it seemed to be done in HTTP input plugin as well. |
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.
👍 looking great, thanks again for the contribution!
Planning to run some manual testing with Beats next week and will release afterwards unless I bump into any hiccups.
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.
Tested with Beats (7.16) and all seems to be working:
- when TLS 1.3 was forced on Beats' end things already work even wout this PR (as expected)
- when
tls_min_version => 1.3
was able to get Beats to work whenssl.supported_protocols: [TLSv1.3]
(or simply whenssl.supported_protocols
is not set) - with
tls_min_version => 1.3
andssl.supported_protocols: [TLSv1.2]
Beats failed as expected
This change adds support for TLSv1.3.
Updates elastic/logstash#10494
Signed-off-by: Tero Saarni [email protected]
Open questions:
TLS_CHACHA20_POLY1305_SHA256
can be added to TLSv1.3 ciphers.