Blog sobre Web Hosting y Dominios

Cómo proteger tu sitio web en IIS contra la carga en frames con Content Security Policy (CSP)

bloquear frame con Content Security Policy

La seguridad en la web es una preocupación clave para los propietarios de sitios web, ya que existen varios riesgos potenciales, como la carga de sitios web en frames o iframes de otros sitios maliciosos. Esto puede dar lugar a ataques como el clickjacking o la exposición de información confidencial. 

  1. Clickjacking: El clickjacking es un tipo de ataque en el que un sitio web malicioso utiliza frames invisibles o transparentes para superponer contenido engañoso sobre un sitio web legítimo.

    El objetivo es engañar a los usuarios para que hagan clic en elementos ocultos o falsificados en el sitio web malicioso, en lugar de los elementos reales del sitio web legítimo. Esto puede permitir que los atacantes realicen acciones no deseadas en el sitio web legítimo en nombre del usuario, como realizar transacciones fraudulentas o cambiar la configuración de la cuenta.

  2. Exposición de información confidencial: Si un sitio web se carga en un frame no autorizado, puede estar expuesto a la exposición de información confidencial. Esto ocurre cuando el sitio web cargado en el frame contiene información confidencial, como datos personales, contraseñas, información financiera, entre otros, y esa información puede ser accedida por el sitio web que carga el frame no autorizado.

    Esto puede resultar en la filtración de datos confidenciales y la violación de la privacidad de los usuarios.

  3. Spoofing: La carga de un sitio web en un frame no autorizado también puede permitir a los atacantes realizar ataques de suplantación o "spoofing". 

    En este tipo de ataque, un sitio web malicioso se hace pasar por un sitio web legítimo cargado en un frame, lo que puede engañar a los usuarios para que revelen información confidencial o realicen acciones no deseadas en el sitio web malicioso.

  4. Redireccionamiento no autorizado: Otro posible ataque que puede ocurrir debido a la carga en frames no autorizados es el redireccionamiento no autorizado. 

    Esto ocurre cuando un sitio web cargado en un frame redirige automáticamente a los usuarios a otro sitio web malicioso, lo que puede conducir a la descarga de malware, el robo de información o la realización de acciones no deseadas en nombre del usuario.

La carga en frames no autorizados puede dar lugar a diversos tipos de ataques, como el clickjacking, la exposición de información confidencial, el spoofing y el redireccionamiento no autorizado. Por lo tanto, es importante tomar medidas adecuadas, como la configuración de Content Security Policy (CSP), para proteger tu sitio web contra estos posibles ataques y garantizar la seguridad y privacidad de tus usuarios.

Para proteger tu sitio web en un servidor IIS contra la carga en frames, puedes utilizar Content Security Policy (CSP), una medida de seguridad robusta y flexible que te permite controlar cómo se carga tu sitio web en otros contextos. En este artículo, aprenderás cómo configurar CSP en tu servidor IIS para evitar la carga en frames no autorizados.

¿Qué es Content Security Policy (CSP)?

Content Security Policy (CSP) es una política de seguridad en la web que permite a los propietarios de sitios web especificar qué fuentes de contenido son permitidas o bloqueadas en un sitio web. 

CSP ayuda a prevenir ataques como cross-site scripting (XSS), cross-site request forgery (CSRF) y la carga en frames o iframes no autorizados. Con CSP, puedes definir reglas para los recursos que se pueden cargar en tu sitio web, como scripts, imágenes, estilos, fuentes y más.

Pasos para configurar CSP en IIS:

Aquí se describen los pasos para configurar CSP en un servidor IIS y proteger tu sitio web contra la carga en frames no autorizados:

Paso 1: Habilitar CSP en tu sitio web

En tu servidor IIS, asegúrate de que tu sitio web tenga habilitada la opción de "Content-Security-Policy" en las cabeceras de seguridad HTTP. Esto se puede hacer a través de la configuración del servidor IIS o mediante la modificación del archivo de configuración del sitio web.

Paso 2: Definir la directiva CSP

Especifica la directiva CSP que deseas utilizar para tu sitio web. Por ejemplo, para bloquear la carga en frames o iframes de otros sitios web, puedes utilizar la siguiente directiva:

<httpProtocol>

 <customHeaders>

   <remove name="X-Powered-By" />

     <add name="Content-Security-Policy" value="frame-ancestors 'none';" />

 </customHeaders>

</httpProtocol>

Esta directiva indica que no se permite cargar el sitio web en ningún frame o iframe.

Negar todo

Similar a X-Frame-Options DENY. Si no desea que ningún sitio (incluido el propio) se incruste, agregue lo siguiente.

<add name="Content-Security-Policy" value="frame-ancestors 'none';" />

Permitir de uno mismo pero NEGAR a los demás

Similar a X-Frame-Options SAMEORIGIN, puede agregar lo siguiente.

<add name="Content-Security-Policy" value="frame-ancestors 'self' 'soloweb.mx' 'otrodominio.com';" />

Permitir desde algunos dominios y el propio

X-Frame-Options no tenía una opción para permitir desde múltiples dominios. Gracias a CSP, puede hacer lo siguiente.

<add name="Content-Security-Policy" value="frame-ancestors 'self';" />

Paso 3: Configurar otras directivas CSP

Además de la directiva "frame-ancestors", CSP ofrece otras directivas que puedes configurar para especificar las fuentes de contenido permitidas en tu sitio web. Algunas de las directivas comunes son "default-src" para definir la política de origen por defecto, "script-src" para definir las fuentes de scripts permitidas, "img-src" para definir las fuentes de imágenes permitidas, entre otras. Puedes ajustar estas directivas según tus necesidades de seguridad.

Paso 4: Verificar la configuración

Es importante verificar la configuración de CSP para asegurarte de que esté funcionando correctamente en tu sitio web. Puedes utilizar herramientas como el Reporte de políticas de seguridad de CSP o la Consola de desarrollador del navegador para identificar posibles violaciones de políticas y ajustarlas en consecuencia.

Ejemplo de código Frame en html para comprobar el bloqueo iframe desde el Web.config

 

<!DOCTYPE html>

<html>

<head>

    <title>Ejemplo de Frame</title>

</head>

<body>

    <h1>Ejemplo de Frame</h1>

    <iframe src="https://tusitio.com" width="800" height="600"></iframe>

</body>

</html>

Suscríbete a nuestro blog!

No te perderás de todo el contenido que subimos cada semana. Hablamos de hosting, diseño web, optimización de tu sitio, seguridad, entre muchas otras cosas más.

Artículos Relacionados

Isotipo Solo Web Solo Web

Google lanza Algoritmo mayo de 2020 Core update

Las actualizaciones principales de Google siempre provocan una discusión seria en la sección de...

Isotipo Solo Web Solo Web

Conoce las tendencias de este año si vas a contratar un hosting web

El hosting web que contratemos es una parte muy importante para cualquier página web. Existen a...

Isotipo Solo Web Solo Web

Error al Actualizar Wordpress

Wordpress fallo después de una actualización     ¿Cómo recuperar Wordpress?   Es muy...

Isotipo Solo Web Solo Web

¿Cómo redireccionar una página Web desde el Panel de Hosting Controller?

Algunas veces es necesario que nuestro sitio apunte a otro Sitio   Si tenemos activo un plan de...

Isotipo Solo Web Solo Web

¿Cómo subir archivos desde el Panel de Hosting Controller?

Una alternativa al FTP es subir tus archivos desde el panel de Hosting Controller, incluso puedes...