| ¿Cómo gestionar el acceso de los usuarios
a los recursos de la empresa ?
Gestión de las listas de las cuentas usuario, definición
de los permisos, vigilancia de las aplicaciones...
Definir quién tiene el derecho de hacer qué puede llegar
a ser, rápidamente, un dolor de cabeza para el desarrollador.
Entonces, ¿Cómo asegurar la seguridad de un sistema sin
llegar a frenar la productividad de una empresa ?
En este documento encontrará algunas pistas para orientar su reflexión.
Al final del artículo encontrará nuestra solución
favorita.
Combinar la Seguridad y la autonomía de los usuarios
Asegurar el uso de los recursos de una empresa es un tema delicado por
diversos aspectos.
Sobre todo porque se debe combinar la seguridad de los sistemas y la autonomía
de los usuarios.
Un sistema de seguridad muy apremiante, aún cuando el mismo tenga
la ventaja de ser perfectamente seguro, constituirá en el largo
plazo un freno para la reactividad de la empresa.
Favorecer la autonomía de los usuarios da una mayor reactividad
a la empresa. Sin embargo, también puede inducir riesgos de seguridad
que deben ser cubiertos.
Tomemos el ejemplo de la gestión diaria de las cuentas usuario
y de sus permisos. Enseguida mencionamos algunos puntos que nos ofrecen
un margen de maniobra:
La gestión de las cuentas usuario :
Esta tarea consume mucho tiempo y muchos recursos técnicos.
¿Podríamos delegar esta tarea a los administradores no técnicos
?
La gestión de los permisos :
Una buena política de seguridad debe poder adaptarse a la realidad
del negocio. En efecto, es mucho más productivo conocer el trabajo
diario de los usuarios para otorgarles permisos adecuados a sus tareas.
¿Podríamos delegar este tipo de tarea? Lo anterior supone
preguntas tanto técnicas como estratégicas.
Esta decisición necesita de un importante trabajo de análisis
para tomar en cuenta la realidad de la actividad de cada empresa.
Pistas de reflexión
Aqui le presentamos algunas preguntas clave :
¿Qué tareas podemos delegar a los administradores
?
Gestión de las cuentas usuario : La creación/supresión
de cuentas es una tarea que podemos delegar con facilidad. Técnicamente
es muy simple, el impacto sobre la seguridad es fácilmente dominable.
La gestión de los permisos
Esta decisión es más complicada :
Desde un punto de vista estratégico: ¿Deseamos transferir
este tipo de responsabilidades a los administradores no técnicos
?
Desde un punto de vista técnico : ¿Cómo podemos hacer
para que un permiso « funcional », atribuido por un administrador,
sea efectivamente aplicado al usuario ?
¿Qué herramientas podemos utilizar ?
Se necesita crear herramientas que permitan ejecutar las tareas delegadas.
Nota : Es altamente recomendado tomar en cuenta la sensibilidad de
los usuarios finales : las herramientas poco ergonómicas repelerán
a los usuarios y los incitarán a encontrar soluciones alternativas
que meterán en peligro la seguridad de su sistema.
¿Cómo garantizar la fiabilidad del sistema ?
Para mantener un nivel de seguridad elevado, se debe poder controlar lo
que fue hecho al interior del sistema (saber qué administrador
otorgó qué permiso, etc..). Se debe por lo tanto preveer
herramientas de auditoría.
¿Cuántos administradores serán necesarios
?
Si los administradores son numerosos, usted debe preveer los roles y los
permisos de los mismos dentro de las herramientas de administración.
Por ejemplo: un administrador general y diversos sub-administradores que
tendrán responsabilidades limitadas.
¿Cómo gestionar el caso de sitios distantes ?
En función de la estructura de la empresa se podrá poner
en práctica herramientas de administración que funcionan
sin conexión a la base de datos para garantizar la autonomía
de los administradores.
¿Comprar o desarrollar en interno ?
Se trata de una decisión estratégica clásica.
El caso del control de acceso conlleva especificidades en este dominio.
Es particularmente difícil elaborar una solución que sea
a la vez :
- Técnicamante viable
- Adaptada a las necesidades funcionales (muy complejas para este campo)
- Que garantice un alto nivel de seguridad
Además, los costos escondidos pueden afectar en un largo plazo
el presupuesto de desarrollo :
- El mantenimiento cotidiano : gestión de las cuentas, nuevos
permisos con cada nueva versión de la aplicación, etc…
- Seguimiento de las evoluciones tecnológicas mayores de Microsoft.
Teniendo en cuenta la complejidad del tema, un estudio preliminar sobre
las soluciones existentes se justifica.
Una estimación precisa de los costos (en el corto y largo plazo)
y de las necesidades específicas de la empresa le permitirán
tomar una decisión.
La solución propuesta por Novalys : Visual Guard
Novalys ha desarrollado Visual Guard una solución de control de
acceso que responde a un buen número de las preguntas mencionadas
anteriormente.
En particular.
- La gestión de las cuentas usuario es delegada a los administradores
no técnicos con la ayuda de una consola dedicada a esta tarea.
A partir de una interfaz única, los usuarios pueden gestionar,
con mucha facilidad, las cuentas usuario y los permisos de todo un portafolio
de aplicaciones.
Nota : Desde un punto de vista técnico, todas las aplicaciones
.Net son soportadas : Winform, Webform, Asp.net, WCF, WPF, etc…
asi como las aplicaciones PowerBuilder.
El objetivo es proporcionar un solo sistema de seguridad centralizado
para todas las aplicaciones.
Una nueva versión multi-lenguages se está desarrollando
para soportar también las aplicaciones no .Net: Java, C++, PHP
- Un administrador puede entonces crear sin asistencia técnica
las cuentas de tipo login/contraseña (guardadas directamente
en el repositorio interno de la solución) o reutilizar las cuentas
Windows guardadas en el Active Directory.
Nota : Concretamente, lo anterior quiere decir que usted puede reutilizar
las cuentas Windows para autenticar los usuarios de sus aplicaciones.
Además de evitar crear un sistema de autenticación, el principio
de la autenticación única Single Sign-on de Windows será
implementado de manera automática.
- Siguiendo con la misma interfaz, el administrador puede atribuir
a los usuarios permisos predefinidos para los desarrolladores.
Nota : Tecnicamente, la herramienta se basa en los principios de
bajo nivel del framework .Net., los permisos son aplicados dinámicamente
sin pasar por la etapa del despliegue.
Un permiso atribuído en la consola, por un administrador, es inmediatamente
activo (Ver
un ejemplo).
- La consola también está disponible en Webform. Podemos
por lo tanto efectuar tareas de administración sin conexión
directa a la base de datos o a la red local. Una conexión Internet
basta. La gestión de las cuentas usuario y de los derechos puede
por lo tanto ser descentralizada (en el caso de sitios distantes).
- Visual Guard contiene una selección de roles para los administradores,
que les permiten controlar la gestión de la seguridad. Una funcionalidad
de auditoría guarda las acciones de administración y genera
reportes de las mismas en formato .pdf.
Estas funcionalidades permiten combinar la seguridad de los sistemas
y la flexibilidad de los usuarios.
Desde un punto de vista funcional, los administradores tienen su propia
herramienta para la gestión de las cuentas.
En función de las necesidades específicas de la empresa,
ellos podrán únicamente declarar los usuarios o se les podrá
otorgar privilegios avanzados como la atribución de permisos.
Los diferentes niveles de roles permiten establecer una jerarquía
entre los administradores. La funcionalidad de la bitácora garantiza
el seguimiento de las acciones de seguridad.
Desde un punto de vista técnico, las ventajas de Visual Guard
son numerosas :
Es compatible con múltiples sistemas de autenticación.
La autenticación Windows implementa automáticamente el Single
Sign-On (autenticación única). Las funcionalidades ligadas
a los permisos y a la auditoría están disponibles en estándar.
El caso de sitios remotos también es tomado en cuenta, así
como el funcionamiento en modo off-line.
Finalmente, la externalización de la actualización del sistema
de seguridad y del seguimiento de las evoluciones de las tecnologías
Microsoft constituye un ahorro consecuente de tiempo y de dinero. Los
equipos de desarrollo pueden así concentrar sus esfuerzos en las
tareas estratégicas.
Top
|