On 07/12/2022 16:02, Alexander Ploumistos wrote:
Hello David,

Thanks for the heads up.
Is there a tool that can test server and client configurations for
compatibility before upgrading? If not, how can one verify that
certificates, TLS version etc. comply with the minimum requirements?
There exists no tools to check compatibility.  I would recommend you to
just try your configuration files on a VM with the distribution version
of your choice.  Just run the openvpn binary manually with the --config
argument on the command line.  It should complain about issues
reasonably quickly.

Otherwise, as long as OpenSSL permits it, OpenVPN tries to be
considerate to older clients.  In general, it the cryptographic and MTU
related options which can cause the biggest issues.  If your clients are
at least v2.4 or newer, then the cryptographic settings should usually
work well, as long as the certificates and private keys are accepted by
recent OpenSSL versions
.

The DCO support is opportunistic.  If the configuration contains
settings which makes it unsuitable for DCO, it will warn about that and
continue with the classic tun setup.  Otherwise, it is the OpenSSL
library setting the limitations of what is supported in regards to TLS
protocols and algorithms in use.  The same goes for certificates and
private keys.


Since Fedora 27 and EPEL-7, the openvpn-server@.service unit file has
added a few changes which should mostly upgrade the default ciphers to
AES-GCM, while keeping the older clients supported via the NCP
(Negotiable Crypto Parameters) feature in OpenVPN.  I suggest reading
the "DATA CHANNEL CIPHER NEGOTIATION" section in the man page.


Also notice that OpenVPN clients older than v2.4 are no longer supported
upstream [1].  And from March 2023, OpenVPN 2.4 will also become
unsupported.  So I would strongly recommend starting to migrate clients
and configurations to be more up to recent standards.


Default ciphers should be an AEAD based cipher (AES-GCM,
ChaCha20-Poly1305).  And certificates should be at least RSA-2048 with
SHA256, preferably ECC based certificates.  You should also ensure you
use --tls-crypt or --tls-crypt-v2.  TLSv1.3 is preferred, but TLSv1.2
will be accepted if the OpenSSL library accepts it.

The --auth option is of less relevance unless you require AES-CBC, other
non AEAD ciphers or --tls-auth.  In these case SHA1 (default) and SHA256
is more than reasonable enough; it is only used in HMAC contexts.  If
you use an AEAD, --auth should only be used with --tls-auth.

You can run the openvpn command with --show-ciphers and --show-tls to
see available ciphers and which algorithms are deprecated.


[1] <https://community.openvpn.net/openvpn/wiki/SupportedVersions>

--
kind regards,

David Sommerseth

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to