cifrados SSL para que nginx sea compatible con CloudFlare y CloudFront

3

¿Podría alguien sugerir una configuración de cifrado ssl óptima para mi servidor nginx que admita tanto CloudFlare como CloudFront? He intentado algunas de las sugerencias en otros subprocesos, pero CloudFront devuelve errores.

Actualización 1 :

El contenido relevante de mi nginx conf actual está abajo. He intentado una variedad de configuraciones de cifrado de otros subprocesos en StackExchange, pero he tenido poca suerte. La actual se copia de la Mozilla Wiki , pero estoy feliz de cambiar para probar otras configuraciones que todos ustedes podría sugerir El error que estoy viendo es "ERROR No se pudo satisfacer la solicitud. Generado por cloudfront (CloudFront)" Haga clic aquí para un ejemplo. Cualquier otra sugerencia es muy apreciada!

server {
    listen 443;
    server_name collin-barrett.com;

    ssl on;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers '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:DHE-DSS-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-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK';
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security max-age=15768000;
}
    
pregunta Collin M. Barrett 11.10.2014 - 21:03
fuente

3 respuestas

1

No sé acerca de CloudFlare, pero Amazon CloudFront en la documentación Los protocolos y suites de cifrado que soportan. A partir de ahora, está compuesto por SSL 3.0 y TLS 1.0, y estas suites de cifrado comunes ( y < a href="https://www.ietf.org/mail-archive/web/uta/current/msg00183.html"> RC4 ):

ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA
AES128-SHA
RC4-MD5

Supongo que una configuración similar también funcionaría para CloudFlare.

Repito la pregunta de Rare sobre qué mensaje de error recibe.

Actualización 1:

Tengo un par de pensamientos en respuesta a tu "Actualización 1":

Primero, me doy cuenta de que su muestra de configuración no incluye nada sobre un certificado. Eh?

En segundo lugar, enlace está detrás de CloudFlare. ¿Está teniendo CloudFront conectado a CloudFlare, o está CloudFront conectado a su servidor web real a través de algún otro nombre de host? Esto plantea varios problemas potenciales. Entre otros que probablemente he echado de menos:

  • Vuelva a verificar esto, pero creo que CloudFlare Universal SSL puede que solo admita certificados ECDSA. El cliente de CloudFront aparentemente solo admite certificados RSA. Esto sería un problema.

  • Si tiene CloudFront conectado a otro vhost, me gustaría ver su configuración.

  • Si se está conectando a ese host virtual a través de otro nombre de host que no sea CloudFlare (backend.collin-barrett.com o somesuch), podría imaginar desajustes en el nombre de host configurado en su certificado, o su vhost, o CloudFront. / p>

  • ¿Por qué usar tanto CloudFlare como CloudFront? CloudFlare ya es un CDN. Es redundante.

Ahora, me tengo que ir. Buena suerte.

    
respondido por el Matt Nordhoff 12.10.2014 - 17:11
fuente
0

Encontré las suites de cifrado recomendadas de ssllabs y mozilla trabajando en casi cualquier condición, más información aquí: Guide to Nginx + SSL + SPDY

con respecto a las sugerencias de mozilla, lea esta guía: Security / Server Side TLS ; explica las diferencias entre los sistemas de cifrado

para el registro:

# suggestion from sslabs / including PFS, good compatibility
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;

# suggestion from mozilla, intermediate suggestion, best compatibility

ssl_ciphers 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:DHE-DSS-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-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
    
respondido por el that guy from over there 12.10.2014 - 16:21
fuente
0

Bueno, hay algunas actualizaciones que tuve que hacer yo mismo en mi sitio web, así que cambié todos los cifrados antiguos, así como el soporte de protocolos:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Como puede ver, SSLv3 ya no está allí debido a la vulnerabilidad de POODLE.

Nuevos cifrados:

ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

Puede probar eso si lo desea en SSLLabs para ver su puntaje SSL.

    
respondido por el Digital site 17.07.2015 - 14:53
fuente

Lea otras preguntas en las etiquetas