I'm currently using nginx with the following ciphers:
I would like to maintain compatibility to older browsers, especially also older mobile browsers and therefore not completely disallow SHA1.
How can I achieve that SHA256 is preferred over SHA1 for MAC (Message Authentication Code ) and always used when possible.
I can i.e. force SHA256 to be applied by adding SHA256:!SHA: to my ssl_ciphers string but this would also disallow SHA1 completely.
With the ssl_cipher at the beginning it tends however to just use SHA1. Any recommendations?
Thanks everybody for the constructive inputs and discussion.
Even though I still think that the Mozilla page on Server side TLS overall covers the topic quite good - I would only recommend the Modern compatibility with the limitation that the DSS ciphers should be removed from it and explicitly disallowed (!DSS) as recommended in the comment by Anti-weakpasswords - thanks for spotting it.
Interestingly ssllabs did not alert or down rate for this...
Further I prefer to use custom generated diffie hellman parameters. Even though the standard ones are obviously considered safe. What are the OpenSSL standard Diffie Hellmann parameters (primes)?
openssl dhparam -check -out /etc/ssl/private/dhparams.pem 2048
increase that to 4096 for paranoia and fun if you like.