Problemas de seguridad al usar iframes

5

Estamos buscando movernos a iframes debido a problemas técnicos. Al pasar a los iframes será más fácil gestionar los problemas técnicos. Pero no estamos totalmente seguros de las implicaciones de seguridad de los iframes.

Nuestro sitio web se representa a través de SSL y es posible que el usuario deba hacer clic en los enlaces también en SSL desde nuestro sitio.

  1. ¿Es posible abrirlo en un navegador completamente nuevo y aún tener no hay problemas de seguridad?
  2. ¿Cuáles son las cosas que debemos tener en cuenta para ¿Asegurarse de que nuestro sitio se mantenga seguro mientras usa iframes?
pregunta Mick 01.04.2012 - 08:07
fuente

4 respuestas

4

Suponiendo que los iframes tienen el mismo origen para no tener que eliminar el encabezado X-Frame-Options: sameorigin , o que Clickjacking No es un problema en ellos. (Se ha especificado un token de permiso, pero los navegadores más antiguos no lo admiten).

El principal problema que queda con el uso del marco es que podría terminar mostrando contenido no confiable , mientras el usuario sigue viendo su dominio en la barra de direcciones. Por ejemplo, puede haber un enlace que no tenga el atributo target="_top" o es posible que desee mostrar contenido externo de manera intencional.

Este contenido extranjero puede mostrar, por ejemplo, un formulario "Su sesión ha caducado, vuelva a iniciar sesión" con su diseño. La barra de direcciones mostrará tu dominio.

    
respondido por el Hendrik Brummermann 01.04.2012 - 11:16
fuente
3

Una preocupación de seguridad común con iframes es clickjacking . Este problema se suele mitigar con el encabezado de respuesta http x-frame-options . Es importante limitar qué páginas pueden ser enmarcadas. Las páginas que permiten al usuario cambiar su contraseña, modificar la configuración deben estar limitadas tienen una opción de fotograma x de "denegar".

Hay importantes ventajas de seguridad al usar un iframe. Por ejemplo, los botones de Google+ se basan en el origen reglas de herencia para iframe's for security .

    
respondido por el rook 01.04.2012 - 08:29
fuente
3

Los iFrames pueden presentar muchos problemas de seguridad según la forma en que se implementan y el lugar donde se sirve el contenido.

Aquí hay algunos detalles sobre las opciones de iFrame que menciona Rook

permitir-formas

Si está habilitado, los iFrames podrían falsificar información para obtener información, plantearse como un formulario de inicio de sesión para su sitio web, etc.

scripts permitidos Si se permiten las secuencias de comandos permitidas, no tiene sentido configurar las formas permitidas, ya que JavaScript puede crear un formulario en el DOM

Si permite secuencias de comandos en un iFrame, podría realizar ataques DoS, abrir diálogos del navegador o realizar una automatización en la página que podría exponer información a otros (atributo de referencia) o cargar objetos externos.

<<

Este derecho permite que iFrame actúe como el sitio incorporado o falsifique las credenciales de los usuarios.

Permitir-same-origin

Este atributo está diseñado para mostrar documentos HTML sin procesar (correo electrónico HTML, por ejemplo) sin alterar de la fuente. El problema es que si la URL es predecible y el atacante puede hacer que el usuario vea el iFrame directamente, se pierden las propiedades de la caja de arena. Peor aún, la página web abierta podría atravesar el objeto opener y descubrir propiedades sobre la página de origen.

Finalmente, hay un tipo de MIME propuesto llamado text/html-sandboxed para el contenido que siempre debe verse en un entorno de espacio aislado, pero muchos navegadores malinterpretan esto y mostrarán los datos de manera inusual (generalmente algo malo).

respondido por el random65537 30.03.2013 - 05:48
fuente
1

Debes implementar dos cosas para asegurar esa aplicación:

1) Añadir encabezados de opción de fotograma X, es decir, en apache:

echo "Header always append X-Frame-Options SAMEORIGIN" >> /etc/apache2/httpd.conf && a2enmod headers && service apache2 restart

2) Agregue el código Javascript basado en marcos para los navegadores antiguos.
¡Precaución! if (_top == _self) es un código BAD FrameBusting!

Mire aquí , hay muchos ejemplos que forman marcos (video OWASP).

    
respondido por el vizzdoom 01.04.2012 - 15:35
fuente

Lea otras preguntas en las etiquetas