On Fri, Jul 07, 2023 at 09:28:24AM +0000, Alain Knaff wrote:
> Package: lighttpd
> Version: 1.4.69-1
> 
> Since our upgrade to Debian 12, lighttpd now uses insecure 
> Diffie-Hellman parameters 
> ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63
> b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d5
> 1c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899f
> a5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39
> a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d6
> 70c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b
> 2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2
> 261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb8
> 50458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94
> e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18
> 177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce
> 0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186
> af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fb
> ecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2
> d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c0
> 8f4df435c934063199ffffffffffffffff

What are you sharing?  What command did you use to obtain this info?

Please clarify why you think this is insecure.

This does not look like lighttpd mod_openssl default DH parameters
used since lighttpd 1.4.56.

Since lighttpd 1.4.56, lighttpd mod_openssl configures default
DH parameters to use RFC 7919 FFDHE2048 2048-bit group
https://git.lighttpd.net/lighttpd/lighttpd1.4/commit/10c65e88f773d361db48e0135e1f4be3a932bf83
RFC 7919:
https://datatracker.ietf.org/doc/html/rfc7919#appendix-A.1

Nowadays, FFDHE3072 is preferred, and a future version of lighttpd may
change lighttpd mod_openssl to use FFDHE3072 by default in the future.

Please note: if using GnuTLS (with lighttpd mod_gnutls) or using
mbedTLS (with lighttpd mod_mbedtls), the Diffie-Hellman group is
chosen to be secure according to RFC7919 DH parameter negotiation,
and there is no default set by lighttpd.

> And this despite having pointed ssl.dh-file to a self generated dh param 
> file, as described in https://weakdh.org/sysadmin.html

That page is out-dated, at least for lighttpd.

Since lighttpd 1.4.68, if you are using ssl.cipher-list specified in
https://weakdh.org/sysadmin.html, then you are WEAKENING the cipher list
now used by default since lighttpd 1.4.68.
https://redmine.lighttpd.net/projects/lighttpd/wiki/release-1_4_68

> In Debian 11, an identical configuration was using our locally generated 
> secure dh parameters.

Since lighttpd 1.4.65 (released Jun 2022), lighttpd has been announcing
the future scheduled removal of ssl.dh-file.
https://redmine.lighttpd.net/projects/lighttpd/wiki/release-1_4_65
https://redmine.lighttpd.net/projects/lighttpd/wiki/release-1_4_66
https://redmine.lighttpd.net/projects/lighttpd/wiki/release-1_4_67

The removal of ssl.dh-file occurred in lighttpd 1.4.68 (Jan 2023)
https://redmine.lighttpd.net/projects/lighttpd/wiki/release-1_4_68

As linked in the lighttpd release notes:
  See https://wiki.lighttpd.net/Docs_SSL for replacements with
  `ssl.openssl.ssl-conf-cmd`, but prefer lighttpd defaults instead.

Since lighttpd 1.4.68, use ssl.openssl.ssl-conf-cmd "DHParameters"
to specify your own DH parameters file, as ssl.dh-file has been removed.

If you have custom DH parameters, then please review RFC7919 and
modern security papers to make sure what you think is secure is still
considered secure by experts, as the use of parameters derived from
"safe" primes is strongly recommended.  It is my understanding that
FFDHE3072 is the current recommendation if you are going to set explicit
DH parameters.

Cheers, Glenn

Reply via email to