SSL instalado... ¿estamos realmente seguros?

26

description

Presentación sobre HTTPS para la StarTechConf 2013. Temas cubiertos: - Vulnerabilidades en suites de cifrado - Forward Secrecy - Temas a considerar respecto de Autoridades Certificadoras - Consejos práticos

Transcript of SSL instalado... ¿estamos realmente seguros?

Page 1: SSL instalado... ¿estamos realmente seguros?
Page 2: SSL instalado... ¿estamos realmente seguros?
Page 3: SSL instalado... ¿estamos realmente seguros?

Cristián RojasEspecialista en Seguridad de Software

¿Estamos realmente seguros?

Page 4: SSL instalado... ¿estamos realmente seguros?

Vulnerabilidades en suites de cifrado

Page 5: SSL instalado... ¿estamos realmente seguros?

Cliente

Servidor

Suites de cifrado

RSA-RC4-SHA

Algoritmo de intercambio de

llave

Algoritmo de encriptación

Algoritmo MAC

Page 6: SSL instalado... ¿estamos realmente seguros?

Llave de sesión

Page 7: SSL instalado... ¿estamos realmente seguros?

EXP-RC2-CBC-MD5

EDH-RSA-DES-CBC-SHA

AECDH-NULL-SHA

Page 8: SSL instalado... ¿estamos realmente seguros?

Mitigación

admin@secureserver ~$ openssl ciphers -v \'AES !EXP !RC2 !MD5 !DES !aNULL !eNULL'

String de configuración

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;ssl_ciphers "AES !EXP !RC2 !MD5 !DES !aNULL !eNULL";

Page 9: SSL instalado... ¿estamos realmente seguros?

Forward Secrecy

Page 10: SSL instalado... ¿estamos realmente seguros?

La sesión es segura, pero...

Transmisiones anteriores de la sesiónINCLUYENDO negociación de llave

Page 11: SSL instalado... ¿estamos realmente seguros?

Implementando Forward Secrecy

DHE

DHE

???ECDHE

+27%*DHE+210%*

* Indica diferencias en tiempo de respuesta respecto a RSAFuente: Vincent Bernat, “SSL/TLS & Perfect Forward Secrecy”

Page 12: SSL instalado... ¿estamos realmente seguros?

Autoridades Certificadoras (CA)

Page 13: SSL instalado... ¿estamos realmente seguros?

Eligiendo una CA

● Postura frente a la seguridad

● Enfoque de negocios● Herramientas de

manejo de certificados● Soporte de clientes

Page 14: SSL instalado... ¿estamos realmente seguros?
Page 15: SSL instalado... ¿estamos realmente seguros?

SSL is not fucked. CA's are.

AutoridadCertificadora

Page 16: SSL instalado... ¿estamos realmente seguros?

Certificate Pinning

restserver1.startechconf.com

restserver2.startechconf.com

restserver3.startechconf.com

Page 17: SSL instalado... ¿estamos realmente seguros?

Recomendaciones para el servidor

Page 18: SSL instalado... ¿estamos realmente seguros?

Ojo con la cadena de certificados

CA-1 Root CA

Root CA

CA-1

Cadena de confianza verificada

Certificado Raíz CA

Certificado CA intermedia

Certificado servidor

Page 19: SSL instalado... ¿estamos realmente seguros?

SSLv2

SSLv3

TLSv1.0

TLSv1.1

TLSv1.2

Usar protocolos de TLSv1.0 hacia arriba

Page 20: SSL instalado... ¿estamos realmente seguros?

Proveer una buena lista de suites de cifrado

● Usar algoritmos de encriptación fuertes (128 bits o más)

● No usar EXPORT ni algoritmos obsoletos

● Usar ECDHE/DHE para implementar F0rward Secrecy

● Dar preferencia a la lista de suites de cifrado del servidor

Page 21: SSL instalado... ¿estamos realmente seguros?

Recomendaciones para la aplicación

Page 22: SSL instalado... ¿estamos realmente seguros?

Encriptarlo todo

● Asegurar las cookies (mediante el flag Secure)

● Usar HTTP Strict Transport Security (HSTS) en lo posible

● Asegurarse de no usar contenido mezclado (ej. HTML encriptado, pero CSS y JS sin encriptar)

Page 23: SSL instalado... ¿estamos realmente seguros?

Deshabilitar cache de contenidos sensibles

● La cache queda en el disco duro sin encriptar

● Ejemplos:– Datos de perfil– Cartolas– Mensajes personales

Page 24: SSL instalado... ¿estamos realmente seguros?

Poner atención a otros aspectos de

seguridad ;)

Fuente: OWASP Top 10 2013 – https://www.owasp.org

Page 25: SSL instalado... ¿estamos realmente seguros?

Herramientas y links

● Qualys SSL Test: https://www.ssllabs.com/ssltest/

● Ivan Ristic, “OpenSSL Cookbook”: http://goo.gl/vYAYHS

● Josh Bleecher Snyder, “Why app developers should care about SSL pinning”: http://goo.gl/fTcLm

Page 26: SSL instalado... ¿estamos realmente seguros?

Muchas graciasy manténganse seguros ;)

http://[email protected]

@InjenieroBarsa