La seguridad en las aplicaciones que usas a diario en tu dispositivo móvil es tan importante como cerrar con llave tu casa al salir o parquear tu vehículo en un establecimiento privado a diferencia de dejarlo en la calle.
Son muchas las situaciones en que pensamos si la información que estamos almacenando o enviando a través de nuestro dispositivo móvil está segura y en ocasiones dejamos de hacer uso de algunas apps ya que nos generan desconfianza.
Si estás pensando en construir una aplicación móvil para que tus clientes puedan conocer e interactuar con mayor facilidad de tus servicios, no olvides que la seguridad también es muy importante para tener éxito con tu propósito.
Sabemos, que a la hora de diseñar nuestra solución móvil, nos enfocamos principalmente en aspectos del funcionamiento de la misma que le entregue valor a los usuarios para poder ir creciendo en uso y masificandola apalancándonos en las estrategias de mercadeo que implementemos.
Y en ciertas ocasiones dejamos de un lado diferentes aspectos de seguridad por el afán de poner en producción pilotos o realizar pruebas; sin embargo, con el tiempo vamos evolucionando la funcionalidad y esos aspectos de seguridad que dejamos de hacer desde un principio se nos van volviendo más complejos de resolver con cada evolución que presente nuestra app.
Es por esto que recomendamos desde el diseño de la arquitectura y evolución tras evolución considerar también de manera incremental los aspectos de seguridad.
Es por esto que, basado en nuestros conocimientos y experiencia en implementaciones de soluciones móviles, presentamos a continuación varios servicios y tips que te servirán para que tu app en AWS sea más segura desde el punto de vista de infraestructura:
Este servicio no nos puede faltar en nuestra solución ya que nos permite tener una capa de seguridad externa a nuestra aplicación para controlar el tráfico que llega a nuestro CloudFront, ApiGateway o application load balancers.
Por medio de Web ACLs podemos ajustar reglas que se adecuen a las peticiones que recibiremos en nuestros componentes para controlar ataques tipo Cross Site Scripting, SQL Injection, controlar el tráfico basados en Blacklists, Georeferenciación o IP's.
Este servicio, aparte de distribuir el contenido de una manera eficiente y controlada, nos brinda diferentes configuraciones que nos ayudan a asegurar las invocaciones a nuestro contenido, como los son:
Con este servicio, podemos alojar nuestro contenido cifrado para presentarlo al cloudfront y por medio de políticas filtrar el acceso al este:
La exposición de nuestras API's siempre va a ser importante, por eso debemos hacerlo de manera segura ya que nos ayuda a canalizar las solicitudes hacia nuestros servicios. Para este servicio recomendamos lo siguiente:
Este es un servicio esencial en nuestras plataforma móviles ya que nos va a permitir federar la información de los usuarios de manera segura con diferentes entidades para garantizar la seguridad de los datos en el registro y autenticación a nuestra app. Adicionalmente, Cognito nos brinda métodos de autorización al interior de la app para usar recursos de AWS.
Es importante también tener en cuenta los aspectos que pertenecen a la infraestructura base tales como subnets, security groups, route tables y accesos desde y hacia internet para los recursos:
En fin, son muchos los aspectos que debemos de tener en cuenta cuando hablamos de seguridad en aplicaciones móviles, pero si hay algo de lo que estemos completamente seguros es que “no hay plataforma 100% segura”.
Cada día surgen nuevas vulnerabilidades pero es ahí donde debemos aprovechar los diferentes servicios, herramientas, mecanismos y buenas prácticas que nos brinda AWS para mitigar y minimizar los riesgos y así tener nuestra app mucho más segura.
Otros artículos de Desarrollo de Software
No Comments Yet
Let us know what you think