¿Colas para la arquitectura de seguridad de aplicaciones web móviles?

1

Estimados Security Mavens (de los cuales no estoy),

Sus pensamientos y amp; se invita a sugerencias sobre una arquitectura de aplicación para una aplicación web móvil ( por ejemplo, HTML5 con Sencha Touch) & bienvenido.

¿Hasta qué punto aumentará / disminuirá el uso de colas (, por ejemplo, SQS de Amazon AWS) / no tendrá ningún efecto en la seguridad de la aplicación web móvil?

¿Qué piensas de este enfoque?

  1. Un usuario (por ejemplo, en un iPhone o Droid) usa el navegador de su teléfono inteligente ( por ejemplo, Mobile Safari en el iPhone) para acceder a una aplicación web móvil mediante SSL.

  2. La aplicación en el lado del servidor de la URL prácticamente no procesa ... excepto para aceptar mensajes JSON de la MWA (aplicación web móvil) ... INSERTE esos mensajes en una cola (AWS SQS) .. .monitor una segunda cola de AWS SQS para un mensaje resultante ... que la aplicación del lado del servidor básicamente solo regresa al MWA.

  3. El trabajo "real" de la aplicación se realiza ... en otro servidor que toma mensajes de la primera cola ... hace todo el procesamiento ... formatea una respuesta ... y PULSANDO la respuesta (un objeto JSON) en la segunda cola.

El proceso de pensamiento aquí es: los malos no pueden obtener acceso a los procesos que se ejecutan en el servidor haciendo el trabajo "real" ... que es también donde se mantendrían las bases de datos de la aplicación.

PORQUE no he encontrado este enfoque de arquitectura de aplicación discutido en ninguno de los subprocesos (al menos, no de una forma que reconozca la arquitectura), me pregunto si hay problemas conocidos (al menos, bien conocidos por los profesionales de la seguridad, como ustedes mismos) que hacen que el enfoque no sea atractivo.

¿Qué piensas? ¿Este acercamiento impedía a los malos? Ingenuamente caes en una conocida hazaña de chico malo? O ... ¿qué?

Muchas, muchas gracias de antemano por sus comentarios y sugerencias.

    
pregunta Plane Wryter 30.08.2013 - 21:17
fuente

2 respuestas

1

Este concepto básico es bastante estándar para las aplicaciones web, con los Servidores de Presentación en la DMZ hablando con los Servidores de la Aplicación dentro de la red que luego solicitan datos de los Servidores de la Base de Datos.

O a veces solo hay dos capas, pero están segregadas por firewalls o enrutadores con listas de control de acceso.

Las comunicaciones pueden ser por paso de mensajes, colas o conexión directa.

    
respondido por el Rory Alsop 30.08.2013 - 22:41
fuente
0

Este enfoque definitivamente no es atractivo. Es (no hasta la letra, pero en general) la cantidad de aplicaciones web o móviles bien conocidas que hacen su trabajo. El aislamiento de las interfaces y los sistemas con los que interactúan los usuarios desde los sistemas que realizan el procesamiento y la manipulación de datos es siempre una buena práctica.

El otro aspecto es asegurarse de que los datos maliciosos o las solicitudes se manejen correctamente, incluso si la solicitud llega a los servidores de la aplicación o de la base de datos. Mientras siga las prácticas de seguridad del lado del cliente lo suficientemente buenas (protéjase contra XSS y CSRF, valide cualquier parte del servidor de datos de sesión para dificultar el robo de cookies), la única parte restante es cómo el usuario maneja sus datos, y eso, solo puede mucho acerca de.

    
respondido por el Fahad Yousuf 31.08.2013 - 15:48
fuente

Lea otras preguntas en las etiquetas