9 puntos clave para asegurar las aplicaciones SaaS

¿Está creando un sistema de seguridad para sus aplicaciones SaaS? ¡Este artículo le puede ser de ayuda! Enlistaremos las dudas más importantes a responder al principio del proyecto para evitar brechas de seguridad o limitaciones del sistema.

Introduction: La seguridad de una aplicación SaaS debe ser fuerte y flexible:

La fortaleza del sistema garantizará la seguridad de la aplicación al:

  • Controlar el acceso de los usuarios dentro los límites de su departamento
  • Asegurar la confidencialidad de la información compartida entre los usuarios
  • Eliminar las brechas de seguridad y proteger la aplicación de ataques exteriores

La flexibilidad del sistema contribuye al desarrollo del negocio al:

  • Facilitar la evolución del modelo de negocios y la creación de una oferta
  • Responder a las necesidades de los clientes relacionado con la gestión de los usuarios (vea abajo)
  • Soportar la escalabilidad al optimizar el desempeño y simplificar la administración de los usuarios y de los componentes de seguridad
Este artículo presenta las especificaciones técnicas y funcionales de Visual Guard, herramienta que le ayudará a alcanzar ambas metas. Usted podrá diseñar la seguridad para su aplicación SaaS, cubriendo sus necesidades a corto plazo y al mismo tiempo anticipando las evoluciones futuras de su negocio y las necesidades adicionales que vienen con ellas.

¿Delegar los derechos de administración a los clientes/usuarios?

Inicialmente, usted lleva a cabo la administración de los usuarios y sus derechos de acceso.

Al paso que los usuarios incrementan : usted –y sus clientes- pueden desear delegar ciertos aspectos de la administración con el objetivo de transmitir esta tarea a sus clientes.

Visual Guard propone:

  • Una interfaz de administración amigable diseñada para usuarios no técnicos, que le permitirá delegar la administración de los usuarios a los managers locales de su negocio
  • La interfaz de administración incluye todas las funciones de control comúnmente requeridas y puede ser accedida via Internet (administración de cuentas, asignación de grupos y derechos de acceso, visibilidad y control de la seguridad de la información…)

Visual Guard WebConsole Administration Dashboard
Interfaz de la consola Web de Visual Guard

Visual Guard WebConsole User Management
Consola Web de Visual Guard – Administración de los usuarios

Para mayor información sobre esta interfaz, lea el siguiente artículo:

Si usted desarrolla aplicaciones SaaS multi-tenant (una sola instancia de la aplicación usada por varios clientes) debe restringir los derechos de administración del cliente a sus usuarios: ¡Usted no desea que sus clientes puedan modificar las cuentas usuario de  un cliente diferente!

De manera general,  Visual Guard restringe la delegación de derechos en tres formas:

  • Limita la administración de los usuarios a un cliente; o a un sub grupo de usuarios de un cliente. Por ejemplo, un director comercial será el único capaz de definir los derechos de acceso del equipo de ventas.
  • Limita el tipo de operaciones administrativas. Por ejemplo, un agente de ventas no es capaz de crear nuevas cuentas de usuario, sin embargo puede otorgar derechos a las cuentas existentes.
  • Limita la administración a cierta aplicación. Por ejemplo, el jefe de recursos humanos pude administrar el control de acceso al módulo de pagos pero no podrá administrar los derechos de acceso del módulo relacionado con la bodega.

Combinar estos criterios permite que Visual Guard cubra la mayoría de los escenarios de seguridad, delegando varios niveles de derechos de administración de acuerdo con las necesidades corporativas del cliente.

Para mayor información sobre las aplicaciones multi-tenant lea el siguiente artículo:

Probar Visual Guard

Single Sign-On: simplifique la vida de sus usuarios

Si su catálogo de productos está compuesto por una suite de aplicaciones, Visual Guard le provee funcionalidades de autentificación única (Single Sign-On SSO) para simplificar la experiencia de los usuarios:

  1. Los usuarios puede acceder varias aplicaciones, pasando de una a otra libremente
  2. Si la aplicación llama servicios web seguros, los usuarios también serán autenticados en cada servicio web utilizado
  3. Cada usuario se loggeará en un primer sitio y enseguida será capaz de entrar a otros sitios sin necesidad de identificarse nuevamente  (Single Sign-On)

La autenticación única de Visual Guard incluye las siguientes funcionalidades:

1 – Administración de las sesiones de los usuarios:

Cuando el usuario pasa de un sitio a otro, el sistema de autenticación única web hará lo siguiente:

  • Identificará el usuario
  • Recreará la sesión para cada sitio visitado
  • Cargará y aplicará la información de seguridad (atributos, roles, permisos…)

Nota: La autenticación única web de Visual Guard  incluye mecanismos para administrar los tokens de seguridad (para crear, transferir y asegurar los tokens). Este mecanismo está optimizado para evitar los problemas de desempeño (por ejemplo, no “solo” autentifica un usuario y enseguida carga la seguridad para cada página sino que también se ocupa del tiempo de respuesta).

2 – Provee un front-end para el sistema de autenticación única:

El front-end de la autenticación web de Visual Guard:

  • Permite autenticar al usuario antes de que accede al sitio web. El SSO de Visual Guard soporta de manera nativa varios tipos de cuentas usuario (usuario/contraseña, cuentas Windows…)
  • Memoriza toda o parte de la contraseña del usuario para así evitar que los usuarios reingresen dicha información en cada visita (por ejemplo, reingresar el usuario y la contraseña)
  • Dirige automáticamente los usuarios que navegan entre los diferentes sitios web federados por el mismo SSO: el usuario se conectará directamente al segundo sitio y  su perfil será aplicado automáticamente
  • Una sección reservada a los administradores del sistema permite personalizar la presentación del front-end de la autenticación y definir la configuración.

Web SSO - Login Form
Cuando los usuarios se conecten en el primer sitio, los mismos escogeran su tipo de cuenta e introducirán su información de conexión

Web SSO - Logging in with saved identites
El usuario puede utilizar la opción guardar la contraseña para que en su próxima sesión se conecte de manera inmediata

3 – Facilita la integración de las aplicaciones en el sistema de autenticación única:

  • La integración de la autenticación única de Visual Guard no requiere cambios en la aplicación
  • El proceso de integración es el mismo no importando el tipo de aplicación y la tecnología de desarrollo utilizada

4 – Soporte de configuraciones complejas:

La autenticación única web de Visual Guard soporta los siguientes escenarios:

  • Que no todos los sitios estén en la misma red (LAN o WAN)
  • Que no todos los usuarios estén guardados en la misma red que la autenticación única
  • No todos los sitios estén bajo el mismo dominio
  • No todos los sitios están desarrollados en la misma tecnología

En cada caso, Visual Guard manejará las limitaciones específicas que encuentre. Encontrará mayor información de este tema en la página sobre la autenticación única (Web Single Sign-On SSO) con el portal web de Visual Guard

¿Qué pasaría si sus usuarios pudieran reutilizar cuentas existentes?

La mayoría de las aplicaciones SaaS requieren que se creen nuevas cuentas para cada una de ellas. El problema radica en que los usuarios ya cuentan con múltiples cuentas, lo cual genera un costo significativo a las empresas (lea el artículo el real costo de las contraseñas).

Ciertos clientes pueden desear reutilizar sus cuentas existentes  (por ejemplos sus cuentas Windows). Visual Guard le permite dar derechos de acceso a cuentas externas a la empresa. Es por esto que usted puede federar las cuentas de varios clientes o socios y definir derechos de acceso a su sistema.

Para leer más información sobre la federación de las cuentas usuario lea el artículo

Esté listo para realizar cambios en su modelo de negocio

La interfaz de administración debe ser concebida para administrar un gran número de usuarios y de derechos de acceso (así él podrá llevar a cabo búsquedas, optimizar el tiempo de respuesta, etc…).
Cuando la aplicación se pone en producción, el proceso de autenticación del usuario y el cálculo de sus derechos de acceso debe ser optimizado para evitar un periodo largo de espera. Por ejemplo, un sistema que necesita acceder al repositorio de seguridad cada vez que un usuario abre una nueva página tiene mayor posibilidad de tener problemas de desempeño cuando el número de usuarios incrementa:

Caso 1: Modelo de autenticación única por defecto.
La aplicación es hospedada por el vendedor con un sistema de seguridad particular. Los usuarios accedan mediante internet.

Los usuarios pagan para utilizar la aplicación bajo un sistema de tiempo limitado.

Modelo de negocio: pago-por-uso
Modelo de entrega del software: SaaS

Caso 2: Por razones técnicas o de seguridad, los clientes pueden pedir se instale la aplicación en su ambiente. Los usuarios acceden a la aplicación vía LAN o Internet.

El vendedor administra el control de acceso con Visual Guard: los clientes pagan para usar la aplicación sobre una base de tiempo limitado.

Modelo de negocio: pago-por-uso
Modelo de entrega del software: on-premise

Caso 3: Los clientes desean reutilizar sus cuentas de usuario (por ejemplo, sus cuentas Windows).

El sistema de control de acceso debe ser capaz de dar acceso a las aplicaciones SaaS.

Modelo de negocio: pago-por-uso
Modelo de entrega del software: SaaS

Caso 4: Modelo clásico de entrega de software. El cliente posee una copia de la aplicación. Ellos administran sus derechos de acceso.

El vendedor del software puede añadir a este modelo su propio catálogo de productos (además del modelo SaaS con el que cuenta) para incrementar su portafolio.

Visual Guard se despliega de manera fácil en los clientes (herramientas de administración simples, documentación completa…).

Por lo anterior, este tipo de despliegue no prohíbe el modelo de pago por uso. Para ello se necesita un sistema que administre claves de licencia basado en tiempo limitado.

Modelo de negocio: pago por uso o licencia permanente
Modelo de entrega del software: on-premise

Separe la seguridad de la lógica de negocios

La mayoría de los proyectos cuenta con un código que define cómo aplicar los permisos de los usuarios. Por ejemplo, de acuerdo con el rol del usuario, este código va a desactivar el menú, esconder un control, filtrar la lista de información…

Como resultado, si deseamos cambiar la seguridad de la aplicación (añadir nuevas restricciones por ejemplo), necesitamos llevar a cabo un ciclo completo de desarrollo (diseño, código, pruebas, desarrollo).

Visual Guard ha desarrollado una tecnología innovadora para eliminar estas inconveniencias y separar completamente las reglas de seguridad de las reglas de negocio:

  1. Visual Guard define permisos y los guarda en su base de datos asegurada.
  2. Cuando la aplicación está en producción, Visual Guard carga los permisos de los usuarios desde su base de datos asegurada y los aplica de manera dinámica. Por lo tanto, no hay código de seguridad en la aplicación.

Esta solución tiene los beneficios siguientes:

  • Agilidad: usted puede actualizar sus reglas de seguridad en minutos, aún cuando la aplicación está en producción.
  • Costo de mantenimiento: no se harán cambios en el código cuando la seguridad es implementada. Usted evita un ciclo complete de desarrollo, el mantenimiento del código se simplifica.
  • Implementación: la integración es muy simple – usted no necesita adaptar sus aplicaciones. Esta tecnología soporta todas las aplicaciones .NET existentes.
  • Flexibilidad: se soportan todo tipo de permisos/restricciones en la aplicación.

Mayor información:

Pago-por-uso facturas y pagos

Si su modelo de negocios está basado en pago-por-uso SaaS, o incluye derechos de uso temporal, Visual Guard le permite ofrecer:

  • Cuentas usuario con un tiempo de vida limitado.
  • Una API que le permite colaborar con el sistema facturación para poder actualizar de manera automática la fecha de cada cuenta.
  • Una interfaz usuario que permite al equipo de ventas o al equipo helpdesk modificar la información – por ejemplo, el trato único de casos o errores  que afectan al usuario.

Mayor información:

Confianza y rendimiento

La interfaz de administración de Visual Guard ha sido rediseñada para permitir la gestión de poblaciones importantes de usuarios  así como poder tener acceso a sus derechos (la interfaz guía el administrador al permitirle realizar búsquedas, acciones que le permitirá optimizar el tiempo de respuesta del repositorio de seguridad…).

Cuando una aplicación SaaS está en producción, Visual Guard procesa el usuario autentificado y le permite entrar al sistema sin hacerlo esperar (la aplicación no necesita acceder al repositorio de seguridad cada vez que el usuario abre una nueva página, evitando así problemas cuando el número de usuarios que entran a una página aumenta)

Protección contra las brechas de seguridad

Puesto que la aplicación es accesible mediante Internet y que la misma maneja datos importantes, Visual Guard creó un sistema que no es vulnerable a los ataques cibernéticos más usuales:

Acceso no autorizado a la información de seguridad:

  • La información de seguridad no puede ser leída directamente mediante un acceso SQL. Visual Guard requiere una conexión asegurada vía la aplicación SaaS o vía la interfaz de administración para leer y modificar esta información.
  • La información sensible como las contraseñas, están encriptados.

Negación del servicio: Visual Guard incluye protección contra los intentos de bloquear el sistema mediante la saturación de solicitudes de loggin.

Acciones administrativas no autorizadas: un usuario podría descubrir la manera de acceder a la interfaz de administración o a las APIs que manejan el control de acceso. Visual Guard bloqueará los permisos otorgados de manera ilegal.

Intercepción de información confidencial:

  • Entre el navegador del usuario y el servidor web: Visual Guard soporta los protocolos SSL/HTTPS y la encriptación de las comunicaciones entre el navegador y el servidor web…
  • Entre los componentes .NET dentro de una aplicación SaaS: Visual Guard se basa en el sistema Microsoft Proxy (Marshall) para proteger y administrar dichas comunicaciones.

Cracking de contraseñas: Visual Guard le permite definir una sofisticada política de contraseñas que lo protegerán contra el cracking de las contraseñas (adivinar una contraseña mediante prueba y error).

Detección de paquetes: Visual Guard incluye una protección contra la captura de datos para encontrar contraseñas o tokens de seguridad en el tránsito por la red. Un hacker puede robar tokens o hacer llamadas a sistemas como si fuera un usuario legítimo.

Inyección de SQL: la consola de administración de Visual Guard contiene campos de búsqueda, - por ejemplo, buscar un usuario-. Este método es una protección contra la inyección de SQLs que consiste en insertar sentencias SQL en los campos de búsqueda con el objetivo de consultar información confidencial.

Para mayor información sobre la seguridad de Visual Guard:

¿Crearlo o comprarlo?

El tiempo es dinero: en este artículo hemos visto que la seguridad y el control de acceso de las aplicaciones SaaS comprenden funcionalidades complicadas. Si hablamos de una aplicación interna, esto se traduce en un compromiso importante en tiempo y en recursos (equipo de desarrollo calificado).  Si usted está trabajando con tiempo limitado o que no cuenta con los expertos adecuados, una solución lista para usarse como Visual Guard es su mejor opción.

Gestión de riesgos: Visual Guard limita los riesgos de corto tiempo (sobre costos y demoras, bugs y fallas de seguridad), mientras que le provee las opciones siguientes a largo plazo:

  • Evolución: consultar el historial y las versiones pasadas de la solución: Visual Guard sigue las evoluciones tecnológicas del mercado, se publican nuevas versiones regularmente (vea la lista de actualizaciones de Visual Guard).
  • Calidad del producto y del soporte: Visual Guard es una solución estable, lo invitamos a leer nuestras referencias y comentarios de nuestros clientes.
  • Longevidad: Visual Guard propone un acuerdo de custodia (una copia del código fuente del producto está guardada por un tercero el cual enviará dicho código a los clientes en caso de que Novalys interrumpiera su servicio).

¿Por qué no combinar todas estas ventajas? El equipo de Visual Guard está atento a las necesidades de sus usuarios al momento de decidir la evolución del producto. Usted beneficiará de todas las ventajas de una solución estándar (más estable y más completa a un precio inferior) mientras que podrá influenciar la evolución de la herramienta con el objetivo de que cubra mejor sus necesidades.