Un encabezado de seguridad HTTP para combatir el “clickjacking” – Cómo mejorar la seguridad de tu sitio con el encabezado de opciones X-Frame

http security header

 

Quizá te llame la atención tras una prueba de penetración de seguridad o quizá porque intentas evitar que alguien secuestre tu sitio o lo cubra de publicidad. En cualquier caso, es recomendable incluir siempre la cabecera X-Frame-Options en las respuestas de los sitios web para mejorar la seguridad de tu sitio y proporcionar cierta seguridad a sus visitantes.

Esta cabecera especifica a un navegador cómo puede mostrarse tu sitio dentro de un Marco (o iFrame). Un marco permite que una página web muestre contenido de otro sitio dentro de ella (a menudo de una forma que no es obvia para el espectador). Puede que pienses que esto no es un problema, al fin y al cabo es una página web pública, pero nunca es tan sencillo. ¿Qué pasaría si alguien hubiera registrado un error ortográfico común de tu nombre de dominio y estuviera mostrando tu sitio en él, utilizando un iFrame? Podrían superponer anuncios o presentar una página de inicio de sesión falsa y todo parecería totalmente auténtico, porque, bueno, sería el contenido de tu sitio, sólo que servido desde otro lugar. No hay forma más rápida de perder la confianza de los clientes que cuando un actor malintencionado abusa de esta función en su beneficio. Hay usos genuinos para los marcos, pero muy probablemente ninguno en el que confíes.

Establecer la cabecera X-Frame-Options en todas tus respuestas es una forma sencilla de evitar problemas de este tipo. Hay tres valores posibles: DENY, SAMEORIGIN y ALLOWFROM;

-DENY impedirá la visualización del contenido de tu sitio en un Marco, incluso por otra página de tu sitio. Esto suele estar bien, pero tiene la costumbre de romper las aplicaciones basadas en Java.

-SAMEORIGIN es la configuración más utilizada y significa que las páginas de tu sitio web pueden incluirse en Marcos, pero sólo en otras páginas dentro del mismo sitio web.

-ALLOWFROM es más bien fino y se utiliza poco – si es algo que necesitas, probablemente sepas qué es lo que tienes que hacer – si no, llámanos.

Como siempre decimos, una poderosa ventaja de utilizar un equilibrador de carga es que sólo tenemos que hacer cambios en un único lugar para desplegar esta cabecera en todos nuestros servidores. No necesitamos depender de desarrolladores ni de reconfiguraciones de Apache. Basta con importar una plantilla de configuración jetPACK y asignar una regla de tráfico flightPATH al Servicio o Servicios Virtuales que desees proteger.

flightPATH es un motor de reglas dinámico y basado en eventos desarrollado por edgeNEXUS para manipular y enrutar de forma inteligente el tráfico IP, HTTP y HTTPS de carga equilibrada. Es altamente configurable y potente, pero muy fácil de usar.

La regla sólo añade la cabecera si no existe, por lo que funcionará incluso cuando nuestros servidores web ya la inserten o sólo la inserten para páginas concretas. Esta regla debería formar parte de tu configuración estándar del Servicio Virtual: no tienes nada que perder sea cual sea el sitio aunque, por supuesto, siempre se recomienda hacer pruebas. Puedes descargar el jetPACK en el sitio Github de edgeNEXUS aquí.

Esta es una de las muchas reglas flightPATH que hemos desarrollado, y que puedes implementar para mejorar la seguridad de tu sitio y de sus usuarios. Para saber más sobre las cabeceras HTTP relacionadas con la seguridad, consulta estos artículos:

 

About Donna Toomey