Actualmente estoy usando nginx con los siguientes cifrados:
ssl_ciphers HIGH:!aNULL:!eNULL:!LOW:!ADH:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
Me gustaría mantener la compatibilidad con navegadores más antiguos, especialmente también con navegadores móviles más antiguos y, por lo tanto, no rechazar por completo SHA1.
¿Cómo puedo lograr que se prefiera SHA256 a SHA1 para MAC? (Código de autenticación de mensaje ) y siempre se usa cuando es posible.
Puedo, por ejemplo, forzar la aplicación de SHA256 agregando SHA256:! SHA: a mi cadena ssl_ciphers, pero esto también rechazaría SHA1 por completo.
Con el ssl_cipher al principio, sin embargo, tiende a usar solo SHA1. ¿Alguna recomendación?
Actualización 29.12.2014
Gracias a todos por los aportes constructivos y la discusión.
Aunque sigo pensando que la página de Mozilla en el lado del servidor TLS cubre el tema bastante bien, solo lo haría Recomiende la Compatibilidad moderna con la limitación de que los sistemas de cifrado del DSS deben eliminarse y deshabilitarse explícitamente (! DSS) como recomendado en el comentario de Anti-weakpasswords: gracias por encontrarlo.
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DSS:!DES:!RC4:!3DES:!MD5:!PSK
Interesantemente, ssllabs no alertó ni disminuyó la tasa de esto ...
Además, prefiero usar los parámetros difie hellman personalizados. A pesar de que los estándares son obviamente considerados seguros. ¿Cuáles son los parámetros estándar de OpenSSL Diffie Hellmann (primos)?
openssl dhparam -check -out /etc/ssl/private/dhparams.pem 2048
aumenta eso a 4096 para la paranoia y la diversión si quieres.