Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Implementar esquema de autorización

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la programación segura en C Sharp al implementar esquemas de autorización. El manejo adecuado de esquemas de autorización mediante roles en una aplicación reduce el riesgo de que se presenten eventos de seguridad.

Necesidad

Implementar esquemas de autorización declarativos

Contexto

A continuación se describe las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. Se está desarrollando una aplicación en C# en sistemas operativos Windows server 2003 o superiores.

Solución

El Authorization Manager de Microsoft es una herramienta flexible, escalable y de fácil administración para establecer seguridad basada en roles. El Autorization Manager es comúnmente conocido como AzMan. Se puede usar en cualquier aplicación que quiera usar autorización declarativa basada en roles.

Todos los permisos creados en AzMan son almacenados en contenedores de información que pueden ser archivos XML o Directorio activo.

De manera detallada, se debe proceder del siguiente modo:

  1. Abrir el menú de Windows ir a ejecutar y escribir AzMan.msc.

    Interfaz de Azman
    Figura 1. Interfaz de AzMan
  2. En el menú de acciones seleccionar options, en el dialogo se debe escoger Developer mode.

    Habilitando el modo desarrollador
    Figura 2. Habilitando el modo desarrollador
  3. Se debe seleccionar el menú de acción y luego hacer clic en New Authorization Store. El usuario obtendrá la opción de crear XML o un directorio activo. Seleccionar la ubicación para el archivo XML e ingresar las descripciones requeridas.

    Creando un nuevo contenedor de autorización
    Figura 3. Contenedores de Autorización
  4. En el menú de acciones, seleccionar la opción New Application y establecer un nombre de aplicación y una version.

    Creando un nuevo contenedor de autorización
    Figura 4. Creando una nueva aplicación
  5. Expandir la aplicación y seleccionar la definición de operaciones bajo la categoría definiciones. Seleccione el menú de acción o ubique el cursor en el panel derecho y haga clic derecho para obtener el menú contextual y seleccione la opción crear New Operation Definition. Asegúrese de dar números únicos a las operaciones creadas.

    Definición de operaciones
    Figura 5. Definición de operaciones
  6. Ahora seleccione las definiciones de tareas, escoja New Task bajo el menú de acción o ubique el cursor en el panel derecho, haga clic derecho para obtener el menú contextual y seleccione la opción New Operation Definition. Cada tarea tendrá una o más operaciones asociadas. Las tareas también pueden contener otras tareas. Utilice nombres únicos para las tareas.

    Definición de tareas
    Figura 6. Definición de Tareas
  7. Ahora seleccione las definiciones de roles bajo la categoría de definiciones, cree un nuevo rol con descripciones para cada uno y asigne tareas.

    Asignación de tareas
    Figura 7. Asignación de Tareas
  8. Hasta este punto se ha definido roles comunes y las tareas para cada rol. Ahora se debe asignar únicamente los roles que son adecuados para la aplicación que se ha creado. Es probable que no todos los roles sean adecuados para la aplicación. Seleccione en la categoría Role Assignment bajo la carpeta de la aplicación y luego escoja en la opción de menú Action→Add Role; de la lista, seleccione aquellos que sean adecuados.

    Asignación de Roles
    Figura 8. Asignación de Roles
  9. Se ha definido las operaciones, tareas y roles. Se ha asignado los respectivos roles a la aplicación. Ahora se debe asignar los usuarios de Windows y crear los grupos para los roles definidos. Seleccione la carpeta grupos bajo la aplicación y seleccione con el clic derecho para escoger la opción crear nuevo grupo de aplicación. Nombre el grupo de aplicación con una descripción. Ahora haga clic derecho en el grupo de aplicación creado y seleccione propiedades. En la ventana de propiedades, seleccione la pestaña miembros y de clic en la opción de adicionar usuarios de Windows y grupos, adicione todos los usuarios que son parte de los grupos.

    Adición de usuarios
    Figura 9. Adición de usuarios
  10. Una vez que se han definido todos los detalles de la seguridad basada en roles, es necesario enlazar los roles con los grupos de la aplicación. De este modo, será posible encontrar el rol y los permisos de operación para un usuario autenticado en el sistema. Seleccione el rol y el permiso de operación para el usuario que se autentica al sistema. Seleccione el rol que se asigna a la aplicación. Ahora haga clic derecho en el rol y seleccione la opción para asignar a los grupos de la aplicación.

    Enlace de grupos a la aplicación
    Figura 10. Enlace de grupos a la aplicación
  11. Una vez que se ha terminado de definir la seguridad basada en roles para la aplicación se debe crear el alcance, de ser requerido. El alcance significa agrupar las definiciones anteriores, de manera que cuando un usuario se autentique se puedan determinar los permisos para un alcance y redireccionar el flujo de la aplicación según sea conveniente.

    creación de alcance
    Figura 11. Creación de alcance
  12. Una vez que se tiene la seguridad basada en roles en el AzMan, se puede usar en aplicaciones. Cree una aplicación en C#. Adicione una referencia a Microsoft.Interop.Secuirty.AzRoles.dll. Esta tiene los API para acceder el AzMan y a sus permisos.




Haz un comentario

Estado de los servicios - Términos de Uso