El costo real de las contraseñas

¿Cómo simplificar la administración de los usuarios en sus aplicaciones?

En una encuesta de NTA Monitor del 2002, se encontró que el usuario típico que utiliza de manera intensiva su computadora, tiene en promedio 21 contraseñas. Esto incluye desde el número NIP de su tarjeta bancaria hasta su contraseña Windows o su cuenta e-mail. La fatiga de la contraseña es el fenómeno de sentirse abrumado por la necesidad de tener que acordarse de todas éstas. Para combatir este fenómeno, los usuarios encontraron estratégias …. Por ejemplo, los usuarios crean generalmente un documento con la lista de contraseñas, o las ponen en un post-it que pegan en su computadora, etc. Todo lo anterior mina las políticas de seguridad que las contraseñas estaban supuestas de reenforzar.

¡$1 Millión de dólares al año!

¿Sabía usted que un estudio recente de Garner, estableció el costo de la administración de las contraseñas entre $70 y $200 dólares por usuario al año? ¡El costo de una contraseña perdida o de una brecha en la seguridad es aún más cara! Para una empresa con 5000 empleados, ¡Esto significaría un gasto de $1 millión de dólares al año solamente para las contraseñas!

En resumen, la administración de los usuarios es una tarea compleja y cara. El aprovisionamiento de las cuentas de usuario, su mantenimiento y su soporte, aumentan rápidamente los gastos de la empresa tanto en tiempo como en productividad.

Este artículo propondrá soluciones para los desarrolladores que buscan simplificar la administración de los usuarios, en dos situaciones:

  • Caso 1: Aplicaciones de una tecnología (.NET o PowerBuilder son soportadas)
  • Caso 2: Sistemas complejos, geográficamente distribuídos y/o basados en diversas tecnologías.

Caso 1: Aplicaciones de una tecnología

¿Qué pasaría si la solución más fácil para administrar las cuentas de usuario, es, en efecto, NO administrarlas? ¿Porqué gastar nuestra energía cuando estas cuentas ya existen en la forma de cuentas Windows en el Active Directory?

Reutilizar las cuentas para identificar los usuarios de una aplicación es una funcionalidad que puede ser desarrollada para cualquier aplicación existente, aunque lo anterior requiera que el desarrollador se sumerja en las APIs de Windows y que deba pelear un poco con el código de bajo nivel.

La otra opción consiste en integrar una solución lista para usarse como Visual Guard, un producto que ejecuta la autenticación y la seguridad. Reutilizar las cuentas Windows se torna simple, al solo requerir la adición de unas cuantas líneas de código en la aplicación. (vea la lista 1).

¡Líbrese de las múltiples combinacioens de usuario/contraseña!

Como consecuencia, el desarrollador no debrá definir, desbloquear o mantener las cuentas de usuario: ¡La administración Windows lo hace por él!

En cuanto al usuario, ahora lo único que debe recordar es su contraseña Windows para acceder a todas las aplicaciones.

Incluso, existe la posibilidad de implementar el Single Sign-On: en lugar de preguntar al usuario por su contraseña Windows, la aplicación considera la autenticación hecha al inicio de la sesion Windows, y, automáticamente, ¡Deja entrar al usuario en la aplicación!

Si usted no puede utilizar el Active Directory, entonces una base de datos centralizada con toda la información de las cuentas de usuario –independiente de las aplicaciones – puede ser la mejor solución.

Nuevamente, esto puede hacerse de manera manual, o con una solución empaquetada. Con Visual Guard, usted también puede combinar cuentas usuario/contraseña y cuentas Windows en la misma aplicación –en caso de que solamente algunos de sus usuarios tengan una cuenta Windows-.

Finalmente, el repositorio del Control de Acceso, esta centralizado para todas sus aplicaciones, lo que significa que solamente se debe mantener una única lista.

Para mayor información sobre cómo integrar Visual Guard en su aplicación, diríjase a las siguientes ligas:
Integre Visual Guard en una aplicación PowerBuilder
Integre Visual Guard en una aplicación Webform (ASP.Net)

Integre Visual Guard en una aplicación Winform

Conozca más sobre cómo implementer el Single Sign-On & cómo reutilizar el Active Directory
en aplicaciones .NET...

en aplicaciones PowerBuilder...

 

 

Caso 2: Sistemas complejos

Los sistemas de TI que están geográficamente distribuídos y/o basados en múltiples tecnologías usualmente presentan diversos desafíos. Veámoslos a continuación a fin de encontrar la mejor solución.

Desafíos de desarrollo

La administración de los usuarios se vuelve aún más difícil cuando se consideran ambientes heterogéneos, con aplicaciones en múltiples tecnologías, incluyendo .Net, PowerBuilder, Java y otras.

Los desarrolladores deben considerar varios requerimientos:

  • La integración de todas las tecnologías utilizadas en la empresa.
  • La eliminación de todas las brechas de seguridad para protegerlas de intrusiones no deseadas.
  • La construcción de un sistema de autenticación estable que garantice un acceso permanente a todas las aplicaciones.
  • La centralización de toda la información de los usuarios, aún cuando todos los sitios de producción no estén en la misma intranet y/o no tengan acceso directo a la base de datos.

Organización de los desafíos

Las grandes empresas están usualmente organizadas en silos – es decir, sistemas o grupos que raramente interactúan entre ellos- . Por ejemplo, en una empresa, el departamento de finanzas trabajará totalmente separado de aquellos de la gerencia de cadena de abasto. Sin embargo, las empresas usualmente tienen sucursales o subsidiarias localizadas en diferentes areas. Estas locaciones pueden utilizar el mismo sistema o la misma aplicación. Algunas veces estos sistemas son incluso compartidos entre distintas empresas (por ejemplo, las relaciones o los acuerdos entre proveedor/cliente). La consolidación de una lista de usuarios es, en la mayoría de los casos, más ventajosa y se traduce en la reducción de los costos.

Sin embargo, para hacer estos silos, subsidiarias u organizaciones trabajar juntas, los desarrolladores necesitan sistemas conectores o integradores. El trabajo técnico se vuelve entonces muy caro (varios millones de dólares, proyectos que toman varios años) y muy frágil. Las actualizaciones deben también tomarse en cuenta desde todos los puntos de esta conexión, lo cual significa que el mantenimiento puede llegar a ser muy engañoso.

La integración de todos estos sistemas siempre se piensa en segundo término, por lo tanto los controles de seguridad se añaden más tarde. Esto lleva a una postura reactiva de los administradores y de los desarrolladores –que siempre están poniéndose al corriente de las necesidades de los usuarios-. La administración de cualquier política se vuelve muy compleja, puesto que los mismos estón luchando con sistemas existentes, y trabajando las políticas de acuerdo a estas limitaciones. Los sistemas de despliegue y de auditoría se quedan usualmente atrás de la política de administración, o son simplemente, dejados de lado

Working with Silos

Una solución ideal

En resumen, separar los sistemas de autenticación no es sólamente un dolor de cabeza para los desarrolladores, sino también es una tarea que consume mucho tiempo y que es cara de mantener. Estos problemas pueden ser solucionados mediante una solución a nivel corporativo que centralice la administración del control de acceso, el despliegue y la auditoría de todas las aplicaciones.

La solución ideal de control de acceso debe, por lo tanto, implicar:

  • Una única combinación de usuario/contraseña que permita a los usuarios acceder a todos los sistemas.
  • Administradores que mantengan una lista única de usuarios a través de todos los sistemas.

Working with a corporate Identity and Access Management system

Para responder a esto, Visual Guard puso en práctica un servidor de control de acceso, que admnistra una lista única de usuarios y de privilegios de acceso para todas las aplicaciones, no importando la tecnología, la arquitectura o la locación.

Visual Guard también cuenta con una consola de administración para separar la administración diaria de los usuarios de la parte técnica. Los desarrolladores ya no serán requeridos para administrar las cuentas de usuario y las contraseñas, por lo tanto su tiempo será utilizado de manera más efectiva. Además, con esta Consola, no se requiere una conexión directa al servidor, por lo tanto la administración puede ser delegada a los administradores locales quienes conocen mejor a los usuarios.

Conclusión

Al ver los dos casos, nos percatamos de las ventajas de una solución modular como Visual Guard. El mismo puede ser ajustado para soportar todas las arquitecturas y las necesidades de seguridad desde las aplicaciones hasta las arquitecturas complejas. Puesto que es un sistema listo para usarse, Visual Guard requiere muy poco esfuerzo de desarrollo para su implementación. Como una solución modular, puede empezar con una talla pequeña, asegurándo una sóla aplicación, para después crecer y evolucionar a través del tiempo para asegurar un sistema completo de TI.

Como siempre, cuando se considera una inversión, la proporción costo/beneficio debe ser meticulósamente examinada. Para una aplicación madura y estable, la dirección puede dudar en hacer dicha inversión, preguntádose si vale la pena. Sin embargo, cuando el costo anual recurrente de la administración de usuarios sube de cientos a miles de dólares al año, una solución empaquetada implementada a bajo costo puede ser amortizada en sólo unos cuantos meses.

Identity and Access Managelment in complex environments