¿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
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

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.

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.

|