Hoy os dejo una serie de consejos a tener en cuenta en el desarrollo y en servicios web en general para evitar las vulnerabilidades mas habituales. Es un poco mas técnico que las publicaciones anteriores. Espero que sea de utilidad.
- Asegurar que en la generación de cookies se activan las opciones HttpOnly y secure.
CVE-2012-0053
www.owasp.org/index.php/HttpOnly
https://www.owasp.org/index.php/SecureFlag
- Devolver con el contenido de la página las opciones X-Frame en la cabecera HTTP. Esto previene que el contenido de la página sea mostrado por otro sitio utilizando las etiquetas HTML frame o iframe.
La mayoría de los navegadores modernos soportan las opciones X-Frame en la cabecera. Se debe asegurar que estén establecidas en todas las páginas que devuelva el sitio (si se espera que la página se enmarque desde páginas del mismo servidor se puede utilizar la opción SAMEORIGIN, o si nunca debe ser enmarcada desde ninguna página debería utilizarse DENY. La opción ALLOW-FROM permite especificar que sitios pueden poner la página en un frame)
CWE:693
https://es.wikipedia.org/wiki/Clickjacking
https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet
https://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/
- Asegurarse de que el filtro XSS del navegador está activado, configurando la opción X-XSS-Protection a 1. Esta opción esta soportada actualmente en los navegadores Internet Explorer, Chrome y Safari.
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
https://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/
- Utilizar explícitamente TLS y quitar el soporte de SSL v2 o v3
https://wiki.mozilla.org/Security/Server_Side_TLS
http://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_3.0
http://en.wikipedia.org/wiki/HTTP_Secure
http://support.microsoft.com/kb/187498
- Especificar un conjunto de caracteres bien definido, como UTF-8, en la cabecera o el cuerpo de la respuesta.
https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet