En 20 minutos... Buenas Practicas SSL

2,089 views

Published on

La charla está dividida en dos partes:
- SSL/TLS: buenas prácticas. Aspectos a tener en cuenta a la hora de configurar los servicios bajo SSL/TLS, protocolos que debemos usar, tamaños de clave recomendables, algoritmos, herramientas que nos pueden ayudar. (Orientada a gente que configure sistemas)
- Recientes avances en la seguridad de aplicaciones web. Ataques como XSS y el ClickJacking. Nuevas técnicas que están siendo implementadas en los navegadores más recientes para minimizar estos riesgos pero que se configuran desde las aplicaciones o desde el servidor. (Orientada tanto a desarrolladores como a administradores de Sistemas).

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,089
On SlideShare
0
From Embeds
0
Number of Embeds
616
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

En 20 minutos... Buenas Practicas SSL

  1. 1. SSL: buenas prácticas y recientes avances en la seguridad de aplicaciones web. Javier García Ros Sección de Telemática (jgarcia@um.es)
  2. 2. En 20 minutos ... 2/25
  3. 3. SSL: buenas prácticas y recientes avances en la seguridad deaplicaciones web. • Agenda • Buenas prácticas en la configuración SSL/TLS (~ 2/3 ) – Protocolos SSL – Certificados y claves – Suites criptográficas – Herramientas de interés – Informes internos • Nuevos avances en la seguridad web (~ 1/3) – CSP- Content Security Policy – HSST - HTTP Strict Transport Security – X-Frame-Options 3/25
  4. 4. SSL/TLS: Introducción • SSL (Secure Sockets Layer) – es el protocolo original desarrollado en 1995 por Netscape. • Es fácil de implantar, pero lo que no suele ser tan común es hacerlo correctamente. • En SSL/TLS hay varios elementos que debemos tener en cuenta: • certificado • protocolos • algoritmos de intercambio de clave • algoritmos de autenticación • algoritmos de cifrado • algoritmos para la creación de MAC 4/25
  5. 5. SSL/TLS: Certificados • Sospechosos habituales: – Que no haya errores en el nombre/dominio – Certificado aún no válido – Certificado caducado – Uso de certificados autofirmados – CA no conocidas – Certificado revocado 5/25
  6. 6. SSL/TLS: Certificados (II) • Tamaños de clave: – Usar ya claves de 2048 bits de clave pública* • Protección – Renovación a ser posible anual – Protección de las claves en el servidor – Y allí donde vayan a parar como: • Copias de seguridad 6/25
  7. 7. 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.um.es 7/25
  8. 8. SSL/TLS: Certificados (IV) 8/25
  9. 9. SSL/TLS: Entidades Raíz y jerarquía (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 raíz • La entidad raíz puede no entregarse, ya que el cliente ha de tenerla en su propio almacén • Los certificados intermedios aunque suelen tener periodos de validez mayores también expiran • Cada navegador reacciona de una manera ante un fallo de jerarquía; mejor probar 9/25
  10. 10. SSL/TLS: Protocolos • SSLv2 – tiene graves fallos de seguridad no debería usarse nunca • SSLv3 y TLSv1 – TLSv1 es la versión del IETF de SSLv3 • Mayoritáriamente soportado – TLSv1.1 • Algunas mejoras • Bastante soportado – TLSv1.2 • Más mejoras • Pero aún poco soportado 10/25
  11. 11. SSL/TLS: Renegociación • El canal SSL puede pararse momentáneamente y permitir que los extremos renegocien la sesión • No hay una buena razón para que el cliente deba reiniciarla; sólo el servidor debería poder hacerlo, pues puede ser una vía de DoS • Esto depende del código del servidor 11/25
  12. 12. SSL/TLS: Ataque BEAST • El 2004 se descubrió un ataque teórico 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 todavía muchos clientes que no soportan TLS v1.1 • La solución es priorizar RC4 que no se ve afectado por este ataque cuando los servidores hablen sólo TLS v1.0 or SSL v3 12/25
  13. 13. SSL/TLS: Apache • Configurando Apache – SSLProtocol all ­SSLv2  – SSLHonorCipherOrder on  # apache 2.1+ – SSLCipherSuite !ADH:!DSS:!RC2:RC4­ SHA:RC4­MD5:HIGH:MEDIUM:+AES128:+3DES  13/25
  14. 14. SSL/TLS: Alguna herramienta • SSLLABS Server Test • https://www.ssllabs.com/ssltest/index.html – Herramienta gráfica y sencilla – Nos ayuda a corregir errores – Sólo para servicios web – No podemos ampliar las entidades raíz • OpenSSL 14/25
  15. 15. SSL/TLS: Resultados Algunos informes.... 15/25
  16. 16. 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
  17. 17. SSL/TLS: Resumen • Usar claves públicas de un mínimo 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 • Renegociación: siempre segura e iniciada por el servidor • Sitio web: todas las páginas y elementos por HTTPS • cookies: márcalas como seguras y HTTPonly 17/25
  18. 18. Avances en seguridadweb 18/25
  19. 19. 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 encargaría de utilizar siempre HTTPS, a partir de la primera visita durante el tiempo de validez definido • No está soportado por el IE • Pero aún así es conveniente implementarlo: no tiene apenas coste y puede proteger a algunos usuarios • Ejemplo – Strict­Transport­Security: max­ age=16070400; includeSubDomains 19/25
  20. 20. X-Frame-Options • Esta cabecera indica si un navegador puede renderizar una página dentro de <frame> o <iframe> • Orientado a evitar el clickjacking • Esta opción sí la soportan la mayoría 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
  21. 21. Content-Security-Policy (CSP) • Fue desarrollada para minimizar y eliminar el riesgo de XSS, Clickjacking y navegación no segura. • El fundamento es que el navegador sólo considere válidos determinadas fuentes de las que previamente le hemos informado por política, ignorando el resto • Necesita de ninguna o poca modificación en la aplicación • Se notifica al navegador bien – las cabeceras HTTP – y etiquetas Meta en el HTML • Tiene 3 partes: – Definición de políticas – Forzado de políticas – Informes de violación de políticas 21/25
  22. 22. Content-Security-Policy (CSP)- II • Ejemplo : “Limita el contenido a este servidor” – X­Content­Security­Policy: default­src  ‘self’  • Elemplo: “Permite imágenes de cualquier sitio, cotenido de plugins de esta lista de proveedores y scripts de un dominio específico” – X­Content­Security­Policy: default­src  self; img­src *; object­src tv1.um.es  tv2.um.es; script­src fundewebscripts.um.es • Ensure all content is loaded over TLS: – X­Content­Security­Policy: default­src  https://*:443  22/25
  23. 23. Content-Security-Policy (CSP)- III • Definida cabecera para testeo: – X-Content-Security-Policy-Report-Only: policy • Navegadores que lo implementan: – Firefox 4+ – Chrome 13+ – Safari 6+ • Navegadores que aún no lo implementan o el soporte es parcial – IE 10* – Opera 23/25
  24. 24. SSL/TLS: Resultados Una propuesta ... 24/25
  25. 25. Gracias por asistir 25/25

×