2008-09-19 11 views
7

Me preguntaba si existen problemas de seguridad al agregar crossdomain.xml a la raíz de un servidor de aplicaciones. ¿Se puede agregar a otras partes del servidor y conoce alguna solución alternativa que no requiera que el servidor tenga este archivo en su lugar?Flex y crossdomain.xml

Gracias Damien

Respuesta

10

Al añadir el crossdomain.xml, la principal preocupación de seguridad es que las aplicaciones Flash ahora pueden conectarse a su servidor. Entonces, si alguien inicia sesión en su sitio y luego navega hacia otro sitio web con una aplicación flash maliciosa, esa aplicación flash puede conectarse nuevamente a su sitio. Como está en un navegador, las cookies se comparten en la aplicación flash. Esto permite a la aplicación flash secuestrar la sesión del usuario para hacer lo que sea que haga su sitio web sin que el usuario lo sepa.

Si su aplicación Flex se sirve desde el mismo servidor, no es necesario un crossdomain.xml

Usted puede ponerlo en un subdirectorio de su sitio y utilizar System.security.loadSecurityPolicy()

http://livedocs.adobe.com/flex/2/langref/flash/system/Security.html

Las aplicaciones se limitarían entonces a ese árbol de la estructura de su directorio.

+0

Hola Marc Gracias por sus comentarios. Este tipo de cosas es preocupante. ¿Sabe si adobe está trabajando en esto o presentando más características de seguridad para solucionar esta amenaza potencial? Gracias Damien – Damien

+1

Esta es una amenaza "potencial" por diseño, a veces usted ** necesita ** para poder hacer comunicación entre dominios, es por eso que necesita permitir explícitamente conexiones utilizando este archivo. – grapefrukt

+0

No entiendo muy bien este riesgo. Si coloca un crossdomain.xml "allow everything" en la raíz de su servidor, ¿no le da a las aplicaciones Flash el mismo acceso que los navegadores ya tienen? Javascript en una página web en xxx.com no puede ver cookies en yyy.com porque el navegador y la seguridad de Javascript no lo permitirán. ¿Puede un archivo flash en xxx.com acceder realmente a las cookies en yyy.com (si crossdomain.xml de yyy.com está configurado para permitir todo)? – SkippyFlipjack

0

Puede configurar un host virtual para su aplicación. De esta forma, el archivo crossdomain.xml puede estar en la raíz de su aplicación pero no necesariamente en la raíz del servidor.

-1

crossdomain.xml es solo un archivo que tiene un significado para el tiempo de ejecución de Flash; puede restringir lo que las solicitudes HTTP obtienen para verlo. Puede usar el control de configuración del servidor web (por ejemplo, Apache) para permitir el acceso de lectura (y solo) desde el directorio "raíz" (ver respuestas anteriores).

Es posible filtrar por otras cabeceras de la petición, etc.

Saludos

1

hay ninguna solución para el archivo crossdomain, se requiere para apoyar el acceso a los datos crossdomain o de scripting crossdomain. En el caso de una solicitud entre dominios, Flash buscará el archivo crossdomain.xml en la raíz del dominio. Por ejemplo, si usted está solicitando un archivo XML desde:

http://mysubdomain.mydomain.com/fu/bar/

flash comprobará si un archivo crossdomain.xml existe en:

http://mysubdomin.mydomain.com/crossdomain.xml

Puede colocar el archivo crossdomain.xml en otro lugar Sin embargo, cuando necesite cargar un archivo crossdomain.xml desde una ubicación diferente, debe hacerlo a través del Security.loadPolicyFile. Tenga en cuenta que la ubicación de este dominio cruzado tiene algún impacto en el acceso de seguridad que tiene. Flash solo otorgará acceso a la carpeta que contiene el dominio cruzado y sus carpetas secundarias.

Le recomendamos que lea en el security changes in Flash Player 10.

+0

Esto no es estrictamente cierto; La solución para el archivo crossdomain es proxy todo el tráfico de red a través del mismo servidor que aloja su aplicación Flash. – Brian