Author |
|
Shrinidhi0409
Joined: 24 Sep 2021 Posts: 18 Location: India
|
Posted: Thu 23 Dec '21 15:07 Post subject: TLS 1.3 security requirement |
|
|
[i]Hi Team,
We are using Apache version 2.4.35 and TLS 1.2 in our application. We have security requirement as below,
1. We have to use TLS 1.3 along with TLS 1.2 and apache 2.4.35 in our application.
2. The TLS 1.2 protocol should support only ChaCha20-Poly1305, AES-GCM, AES-CCM , rest all the other ciphers should be prohibited.
3. TLS 1.3 should support all RFC-8446 ciphers
Can you please let me know regarding the configuration needs to be done with respect to above requirements? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Wed 29 Dec '21 19:40 Post subject: |
|
|
Hi Shrinidhi,
your config could be
Code: |
<If "%{SERVER_PORT} == '443'">
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; preload"
</IfModule>
</If>
SSLUseStapling On
SSLOptions +StrictRequire +StdEnvVars -ExportCertData
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCompression Off
SSLHonorCipherOrder On
SSLCipherSuite SSL ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384
SSLOpenSSLConfCmd ECDHParameters secp521r1
SSLOpenSSLConfCmd Curves sect571r1:sect571k1:secp521r1:sect409k1:sect409r1:secp384r1
SSLOpenSSLConfCmd SignatureAlgorithms rsa_pss_rsae_sha512:rsa_pss_rsae_sha256:ECDSA+SHA512:ECDSA+SHA256:RSA+SHA512:RSA+SHA256
SSLOpenSSLConfCmd ClientSignatureAlgorithms rsa_pss_rsae_sha512:rsa_pss_rsae_sha256:ECDSA+SHA512:ECDSA+SHA256:RSA+SHA512:RSA+SHA256
|
|
|
Back to top |
|
Shrinidhi0409
Joined: 24 Sep 2021 Posts: 18 Location: India
|
Posted: Tue 04 Jan '22 11:41 Post subject: |
|
|
Hi
We added the suggested configuration to ssl.conf file. But we ended up with below mentioned error. Can you please let us know what is wrong with configuration added?
SSLProtocol: Illegal protocol 'TLSv1.3'
Failed to establish connection with web server. Gracefully shutting down VMS
Regards,
Shrinidhi S |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Tue 04 Jan '22 13:11 Post subject: |
|
|
Shrinidhi0409 wrote: |
SSLProtocol: Illegal protocol 'TLSv1.3'
|
Your OpenSSL version is too old. TLS v 1.3 came with OpenSSL 1.1.1.
Shrinidhi0409 wrote: |
Gracefully shutting down VMS
|
it seems you are not using Windows, don't you? |
|
Back to top |
|
Shrinidhi0409
Joined: 24 Sep 2021 Posts: 18 Location: India
|
Posted: Mon 10 Jan '22 7:47 Post subject: |
|
|
We are using both windows and linux. Open ssl version is 1.1.1 g.
Can you please let us know where it is going wrong? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Mon 10 Jan '22 21:16 Post subject: |
|
|
Your mod_ssl is not compiled against OpenSSL 1.1.1
On windows you may download the last version from Apache Lounge and updated your apache.
On your Linux distro I don't know since I don't know that Distro you are using in what version. |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Tue 18 Jan '22 9:00 Post subject: |
|
|
Hi,
Currently using @JBlond SSL config above - with OpenSSL 3.0.1 but that doesn't really matter - and mod_md renewal process fail with:
Code: | 2022-01-18 07:19:08.466871 - - - md:error md_acme_authz.c(164) pid:6676 tid:1552 [ACME server authz: challenge 'invalid' for mydomain.com at https://acme-v02.api.letsencrypt.org/acme/authz-v3/XXX.
Exact response was: {"identifier":{"type":"dns","value":"mydomain.com "},"status":"invalid","expires":"2022-01-25T06:19:03Z","challenges":[{"type":"tls-alpn-01","status":"invalid","error":{"type":"urn:ietf:params:acme:error:unauthorized","detail":"Incorrect validation certificate for tls-alpn-01 challenge. Missing acmeValidationV1 extension.","status":403},"url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/XXX/XXX","token":"XXX","validationRecord":[{"hostname":"mydomain.com","port":"443","addressesResolved":["x.x.x.x"],"addressUsed":"x.x.x.x"}],"validated":"2022-01-18T06:19:07Z"}]}] |
It's works when commenting Code: | # SSLOpenSSLConfCmd SignatureAlgorithms rsa_pss_rsae_sha512:rsa_pss_rsae_sha256:ECDSA+SHA512:ECDSA+SHA256:RSA+SHA512:RSA+SHA256 |
As now, I don't have a good understand of the SignatureAlgorithms relation with acmeValidationV1 but if someone can help me understand or deep dive on it, that would be great
Related:
* https://community.letsencrypt.org/t/tls-alpn-01-invalid-acmevalidationv1-extension-value/97235
* https://github.com/icing/mod_md/issues/256
* https://github.com/icing/mod_md/issues/200 |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Tue 18 Jan '22 13:05 Post subject: |
|
|
nono303 wrote: | Hi,
Currently using @JBlond SSL config above - with OpenSSL 3.0.1
|
I guess you mean 1.0.1 ?
nono303 wrote: |
but that doesn't really matter - and mod_md renewal process fail
It's works when commenting Code: | # SSLOpenSSLConfCmd SignatureAlgorithms rsa_pss_rsae_sha512:rsa_pss_rsae_sha256:ECDSA+SHA512:ECDSA+SHA256:RSA+SHA512:RSA+SHA256 |
|
I wonder which Algorithm is used with the acme server!?
nono303 wrote: |
As of now, I don't have a good understanding of the SignatureAlgorithms relation with acmeValidationV1 but if someone can help me understand or deep dive on it, that would be great
|
The Digital signatures.
As the name suggests, a digital signature can be attached to a document or some other electronic artifact (e.g., a program) to vouch for its authenticity. With a public key, it can be verified. Like in PGP.
Signatures Algorithms are the different math functions to create the checksum for the validation with the private key.
Since the provided SSLOpenSSLConfCmd SignatureAlgorithms seems to break the communication between mod_md/apache and v02.api.letsencrypt.org my best guess is that their API does not support those Algorithms or is tries only the first one and fails. |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Wed 19 Jan '22 10:14 Post subject: |
|
|
Interesting!
I removed
Code: |
SSLOpenSSLConfCmd ECDHParameters secp521r1
SSLOpenSSLConfCmd Curves sect571r1:sect571k1:secp521r1:sect409k1:sect409r1:secp384r1
|
and still, get a 100% on the SSL test lab test. IIRC that wasn't before. Yet it makes mod_md work. Before I was wondering why it didn't when I tried it. Maybe you are the lucky guy who found out for me. |
|
Back to top |
|
nono303
Joined: 20 Dec 2016 Posts: 205 Location: Lille, FR, EU
|
Posted: Wed 19 Jan '22 17:21 Post subject: |
|
|
Quote: | Maybe you are the lucky guy who found out for me |
Concerning ECDHParameters, I didn't use secX5XX or sect4XX (many unsupported cnx...) and use this config: Code: | SSLOpenSSLConfCmd Curves sect571r1:sect571k1:secp521r1:sect409k1:sect409r1:secp384r1
SSLOpenSSLConfCmd ECDHParameters secp384r1 | and with cipher config: Code: | SSLCipherSuite SSL ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384 |
I obtain A+ 4*100% on the SSL test lab test, mod_md working and only few handshake_failure for old client (android 5 6, FF31, Safari 6 7 8 ) |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Wed 26 Jan '22 14:44 Post subject: |
|
|
nono303 wrote: |
Concerning ECDHParameters, I didn't use secX5XX or sect4XX (many unsupported cnx...) |
For my domain "apachehaus de" I get the same result as your server. I also have the same user agent support. |
|
Back to top |
|