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

gromox/{imap,pop3} don't support configuration of TLSv1.2/1.3 ciphers (and ordering) #90

Closed
robert-scheck opened this issue May 17, 2024 · 2 comments

Comments

@robert-scheck
Copy link
Contributor

robert-scheck commented May 17, 2024

As of writing, gromox/{imap,pop3} don't support configuration of TLSv1.2/1.3 ciphers (and ordering). What is missing equals actually NGINX settings ssl_ciphers (TLSv1.2), ssl_prefer_server_ciphers (TLSv1.2) and ssl_ecdh_curve (TLSv1.3). Any chance to have this in the future?

IIRC Zarafa (and later Kopano Core as a fork) supported at least the TLSv1.2-compatible part due to https://github.com/robert-scheck/zarafa-patches/blob/main/zarafa-7.1.10-ssl_protocols_ciphers.patch, which might be an inspiration for implementation.

Technical Guideline TR-02102-2: Cryptographic Mechanisms: Recommendations and Key Lengths from the German Federal Office for Information Security ("BSI") recommends specific ciphers, which unfortunately can currently not be configured in gromox/{imap,pop3}.

@robert-scheck robert-scheck changed the title gromox/imap doesn't support configuration of TLSv1.2/1.3 ciphers (and ordering) gromox/{imap,pop3} don't support configuration of TLSv1.2/1.3 ciphers (and ordering) May 17, 2024
@jengelh
Copy link
Member

jengelh commented May 20, 2024

Having to edit cipher lists for every individual daemon does not scale very well for an administrator. Gromox thus decided not to offer this and instead just reuse the global (system-wide) configuration. If you want to include or exclude specific TLS versions or ciphers, you do that via openssl.cnf, cf. config(5) manpage section "SSL Configuration".
In SUSE (and RHEL), there is a mechanism called crypto-policies that not only does it for openssl.cnf but a handful of daemons. In addition, there are a few predefined levels provided for convenience, including one that is aptly named BSI.

https://en.opensuse.org/SDB:Crypto-policies
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening

@jengelh jengelh closed this as completed May 20, 2024
@robert-scheck
Copy link
Contributor Author

robert-scheck commented May 20, 2024

I kindly disagree, because especially "crypto-policies" have the disadvantage to only provide one crypto policy per crypto (library) implementation, but not one per specific daemon/service/software. Aside of that, I don't see how "crypto-policies" would allow to configure server-side ordering preference of ciphers (e.g. performance optimized ciphers vs. stronger ciphers first).

To avoid misunderstandings: My expectation would be to have whatever OpenSSL and crypto-policies define as system-wide defaults, but allow optionally to override using specific settings in the corresponding gromox configuration files (it already works like this for other system services, such as Postfix).

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

No branches or pull requests

2 participants