From: Remi Gacogne Date: Tue, 12 Nov 2019 13:24:30 +0000 (+0100) Subject: dnsdist: Prefer the cipher suite from the server by default (DoH, DoT) X-Git-Tag: dnsdist-1.4.0~9^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F8526%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Prefer the cipher suite from the server by default (DoH, DoT) This setting should only be set when all ciphers offered by the server are considered secure, and our default suite still has a few options offered for compatibility reasons, which might not be as secure as other alternatives. Apparently this also causes issue for some clients, even though it should not matter. --- diff --git a/pdns/dnsdistdist/docs/reference/config.rst b/pdns/dnsdistdist/docs/reference/config.rst index 8dcb9a70c6..56a792bceb 100644 --- a/pdns/dnsdistdist/docs/reference/config.rst +++ b/pdns/dnsdistdist/docs/reference/config.rst @@ -135,7 +135,7 @@ Listen Sockets * ``ticketsKeysRotationDelay``: int - Set the delay before the TLS tickets key is rotated, in seconds. Default is 43200 (12h). * ``sessionTickets``: bool - Whether session resumption via session tickets is enabled. Default is true, meaning tickets are enabled. * ``numberOfStoredSessions``: int - The maximum number of sessions kept in memory at the same time. Default is 20480. Setting this value to 0 disables stored session entirely. - * ``preferServerCiphers``: bool - Whether to prefer the order of ciphers set by the server instead of the one set by the client. Default is false, meaning that the order of the client is used. + * ``preferServerCiphers``: bool - Whether to prefer the order of ciphers set by the server instead of the one set by the client. Default is true, meaning that the order of the server is used. * ``keyLogFile``: str - Write the TLS keys in the specified file so that an external program can decrypt TLS exchanges, in the format described in https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format. .. function:: addTLSLocal(address, certFile(s), keyFile(s) [, options]) @@ -173,7 +173,7 @@ Listen Sockets * ``numberOfStoredSessions``: int - The maximum number of sessions kept in memory at the same time. At this time this is only supported by the OpenSSL provider, as stored sessions are not supported with the GnuTLS one. Default is 20480. Setting this value to 0 disables stored session entirely. * ``ocspResponses``: list - List of files containing OCSP responses, in the same order than the certificates and keys, that will be used to provide OCSP stapling responses. * ``minTLSVersion``: str - Minimum version of the TLS protocol to support. Possible values are 'tls1.0', 'tls1.1', 'tls1.2' and 'tls1.3'. Default is to require at least TLS 1.0. Note that this value is ignored when the GnuTLS provider is in use, and the ``ciphers`` option should be set accordingly instead. For example, 'NORMAL:!VERS-TLS1.0:!VERS-TLS1.1' will disable TLS 1.0 and 1.1. - * ``preferServerCiphers``: bool - Whether to prefer the order of ciphers set by the server instead of the one set by the client. Default is false, meaning that the order of the client is used. + * ``preferServerCiphers``: bool - Whether to prefer the order of ciphers set by the server instead of the one set by the client. Default is true, meaning that the order of the server is used. * ``keyLogFile``: str - Write the TLS keys in the specified file so that an external program can decrypt TLS exchanges, in the format described in https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format. .. function:: setLocal(address[, options]) diff --git a/pdns/libssl.hh b/pdns/libssl.hh index 634d390916..f6a50d49df 100644 --- a/pdns/libssl.hh +++ b/pdns/libssl.hh @@ -28,7 +28,7 @@ public: uint8_t d_numberOfTicketsKeys{5}; LibsslTLSVersion d_minTLSVersion{LibsslTLSVersion::TLS10}; - bool d_preferServerCiphers{false}; + bool d_preferServerCiphers{true}; bool d_enableTickets{true}; };