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