Skip to content
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

Require TLS 1.3 on client-facing ports #454

Merged
merged 1 commit into from
Feb 16, 2025
Merged

Require TLS 1.3 on client-facing ports #454

merged 1 commit into from
Feb 16, 2025

Conversation

link2xt
Copy link
Contributor

@link2xt link2xt commented Nov 9, 2024

I tested with -tls1_2 option
of openssl s_client
that TLS 1.2 connections
are no longer possible
on any ports except port 25.

Port 25 requires at least TLS 1.2
for encrypted connections.

@hpk42
Copy link
Contributor

hpk42 commented Nov 12, 2024 via email

Copy link
Contributor

@missytake missytake left a comment

Choose a reason for hiding this comment

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

I'm a bit hesitant to approve this; some people with outdated desktop clients might have followed our instructions in https://delta.chat/en/2023-12-13-chatmail to setup a nine account. Yes, it's an unlikely scenario, but for them it would break.

And I don't see why it's necessary? Wouldn't any more recent official client use TLSv1.3 anyway? No need to force it server-side.

@link2xt
Copy link
Contributor Author

link2xt commented Nov 17, 2024

I'm a bit hesitant to approve this; some people with outdated desktop clients might have followed our instructions in https://delta.chat/en/2023-12-13-chatmail to setup a nine account. Yes, it's an unlikely scenario, but for them it would break.

We do not support non-delta chat clients and any recent client supports TLS 1.3. It has existed for more than 5 years.

And I don't see why it's necessary? Wouldn't any more recent official client use TLSv1.3 anyway? No need to force it server-side.

It makes development easier because I don't have to check if openssl-s_client or python IMAP library or core has by chance decided to connect using TLS 1.2. Security-wise this avoids downgrade attacks. TLS 1.3 downgrade protection is a hack to make it compatible with TLS 1.2 and by the time it detects downgrade it has already finished TLS 1.2 handshake, exposing server TLS certificate to middleboxes, so it's not prefect. Not having TLS 1.2 on the server makes it impossible to even start connecting with TLS 1.2.

@link2xt link2xt marked this pull request as draft November 18, 2024 14:34
@link2xt
Copy link
Contributor Author

link2xt commented Nov 18, 2024

Let's postpone this until we make Delta Chat releases that use Rustls to connect to chatmail servers. Otherwise Delta Chat on Windows or macOS may not support TLS 1.3. Unlikely because macOS forces users to upgrade all the time and minimum supported version is Windows 10 due to Electron requirements.

@link2xt link2xt marked this pull request as ready for review February 16, 2025 20:31
@link2xt
Copy link
Contributor Author

link2xt commented Feb 16, 2025

We have Rustls in the core since 1.150.0 released on 2024-11-21.
We have core 1.155.x released on all platforms already, even F-Droid has 1.52.1 with core 1.155.1.

@link2xt link2xt requested a review from missytake February 16, 2025 20:36
@link2xt link2xt force-pushed the link2xt/tls-1.3 branch 2 times, most recently from 257161d to 454ddf3 Compare February 16, 2025 21:28
Copy link
Contributor

@missytake missytake left a comment

Choose a reason for hiding this comment

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

It's fine, we don't support Windows 7 anymore since way before 1.46, the release which supported instant onboarding.

I tested with -tls1_2 option
of openssl s_client
that TLS 1.2 connections
are no longer possible
on any ports except port 25.

Port 25 requires at least TLS 1.2
for encrypted connections.
@link2xt link2xt merged commit 1a35cdc into main Feb 16, 2025
6 checks passed
@link2xt link2xt deleted the link2xt/tls-1.3 branch February 16, 2025 23:01
@Amzd
Copy link

Amzd commented Feb 17, 2025

This did break my Desktop (macOS) client 1.46.8 with core v1.142.12 but updating fixed it.

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.

4 participants