Você está na página 1de 20

SSL: buenas prcticas y recientes avances

en
la seguridad de aplicaciones web.

SSL/TLS: Introduccin

SSL (Secure Sockets Layer)


es el protocolo original desarrollado en
1995 por Netscape.
Es fcil de implantar, pero lo que no suele ser
tan comn es hacerlo correctamente.
En SSL/TLS hay varios elementos que
debemos tener en cuenta:
certificado
protocolos
algoritmos de intercambio de clave
algoritmos de autenticacin
algoritmos de cifrado
algoritmos para la creacin de MAC
4/25

SSL/TLS: Certificados

Sospechosos habituales:
Que no haya errores en el nombre/dominio
Certificado an no vlido
Certificado caducado
Uso de certificados autofirmados
CA no conocidas
Certificado revocado

5/25

SSL/TLS: Certificados (II)

Tamaos de clave:
Usar ya claves de 2048 bits de clave
pblica*
Proteccin
Renovacin a ser posible anual
Proteccin de las claves en el servidor
Y all donde vayan a parar como:
Copias de seguridad

6/25

SSL/TLS: Certificados (IV)

Nombres de DNS:
El certificado ha de contener TODOS los
nombres que permitan acceder al servicio
Es posible usar certificados tipo:
*.blogs.net.mx

7/25

SSL/TLS: Certificados (IV)

8/25

SSL/TLS: Entidades Raz y jerarqua (V)

El servidor debe entregar su certificado y los


intermedios
Han de entregarse en orden: primero la que
firma el certificado del servidor y subiendo
hasta la entidad raz
La entidad raz puede no entregarse, ya que
el cliente ha de tenerla en su propio almacn
Los certificados intermedios aunque suelen
tener periodos de validez mayores tambin
expiran
Cada navegador reacciona de una manera
ante un fallo de jerarqua; mejor probar
9/25

SSL/TLS: Protocolos

SSLv2
tiene graves fallos de seguridad no debera
usarse nunca
SSLv3 y TLSv1
TLSv1 es la versin del IETF de SSLv3
Mayoritriamente soportado
TLSv1.1
Algunas mejoras
Bastante soportado
TLSv1.2
Ms mejoras
10/25
Pero an poco soportado

SSL/TLS: Renegociacin

El canal SSL puede pararse


momentneamente y permitir que los
extremos renegocien la sesin
No hay una buena razn para que el cliente
deba reiniciarla; slo el servidor debera
poder hacerlo, pues puede ser una va de DoS
Esto depende del cdigo del servidor

11/25

SSL/TLS: Ataque BEAST

El 2004 se descubri un ataque terico a SSL


v3/TLS v.1 conocido como BEAST
Desde 2011 es un ataque practicable
Desde 2006 TLS v1.1 resuelve este problema,
aunque hay todava muchos clientes que no
soportan TLS v1.1
La solucin es priorizar RC4 que no se ve
afectado por este ataque cuando los
servidores hablen slo TLS v1.0 or SSL v3

12/25

SSL/TLS: Apache

Configurando Apache
SSLProtocolallSSLv2
SSLHonorCipherOrderon#apache2.1+
SSLCipherSuite!ADH:!DSS:!RC2:RC4
SHA:RC4MD5:HIGH:MEDIUM:+AES128:+3DES

13/25

SSL/TLS: Alguna herramienta

SSLLABS Server Test


https://www.ssllabs.com/ssltest/index.html
Herramienta grfica y sencilla
Nos ayuda a corregir errores
Slo para servicios web
No podemos ampliar las entidades raz
OpenSSL

14/25

SSL/TLS: Otras recomendaciones

Usa SSL en aquellos sitios que lo necesiten


Y evita que se acceda sin SSL
Cuidado con el contenido mixto, pues el
usuario es vulnerable a un ataque MITM
Marca las cookies como:
Secure
Httponly

16/25

SSL/TLS: Resumen

Usar claves pblicas de un mnimo de 2048 bits

No ofrecer cifrados de clave privada de menos de 128 bits

No permitir SSLv2; ofrecer TLS1.0 y posteriores

No permitir Anonymous Diffie Hellman (ADH)

Todos los nombres DNS que llevan al servicio deben estar


incluidos en el certificado

Protege la clave privada correctamente en todo momento

Si el protocolo es SSL 3.0/TLS 1.0 utiliza RC4

Renegociacin: siempre segura e iniciada por el servidor

Sitio web: todas las pginas y elementos por HTTPS

cookies: mrcalas como seguras y HTTPonly

17/25

Avances en
seguridad web

18/25

HSTS- HTTP Strict Transport Security

HSTS (HTTP Strict Transport Security)


permite forzar el uso de HTTPS
se trata de una cabecera HTTP
Chrome viene con lista precargada
El propio navegador se encargara de utilizar siempre
HTTPS, a partir de la primera visita durante el tiempo
de validez definido
No est soportado por el IE
Pero an as es conveniente implementarlo: no tiene
apenas coste y puede proteger a algunos usuarios
Ejemplo
StrictTransportSecurity:max
age=16070400;includeSubDomains
19/25

X-Frame-Options

Esta cabecera indica si un navegador puede


renderizar una pgina dentro de <frame> o
<iframe>
Orientado a evitar el clickjacking
Esta opcin s la soportan la mayora de los
navegadores: IE, FF, Opera, Safari, Chrome,...
Ejemplos:
X-frame-options: DENY
X-frame-options: SAMEORIGIN
X-frame-options: ALLOW-FROM origen

20/25

Content-Security-Policy (CSP)

Fue desarrollada para minimizar y 'eliminar' el riesgo


de XSS, Clickjacking y navegacin no segura.
El fundamento es que el navegador slo considere
vlidos determinadas fuentes de las que previamente
le hemos informado por poltica, ignorando el resto
Necesita de ninguna o poca modificacin en la
aplicacin
Se notifica al navegador bien
las cabeceras HTTP
y etiquetas Meta en el HTML
Tiene 3 partes:
Definicin de polticas
Forzado de polticas
Informes de violacin de polticas

21/25

Content-Security-Policy (CSP)- II

Ejemplo : Limita el contenido a este servidor


XContentSecurityPolicy:defaultsrc
self
Elemplo: Permite imgenes de cualquier sitio,
cotenido de plugins de esta lista de proveedores y
scripts de un dominio especfico
XContentSecurityPolicy:defaultsrc
'self';imgsrc*;objectsrctv1.um.es
tv2.um.es;scriptsrcfundewebscripts.um.es
Ensure all content is loaded over TLS:
XContentSecurityPolicy:defaultsrc
https://*:443

22/25

Definida cabecera para testeo:


X-Content-Security-Policy-Report-Only: policy
Navegadores que lo implementan:
Firefox 4+
Chrome 13+
Safari 6+
Navegadores que an no lo implementan o el soporte
es parcial
IE 10*
Opera

23/25

Você também pode gostar