Archive

Posts Tagged ‘Exchange 2010’

Ejemplo de seguridad en Exchange 2010

En una universidad me pidieron ayuda configurando RBAC, lo que es nuevo para mi y para Exchange 🙂

Role-Based Access Control o RBAC para los amigos, es un conjunto de permisos que restringen o permiten el acceso de un usuario a ejecutar ciertas funciones en base a su rol dentro del sistema. RBAC no es una idea de Microsoft, sino un modelo que ya lleva años y es utilizado comunmente en la definicion de accesos de seguridad, perfiles e incluso para definir los roles en una empresa.
RBAC (igual que los robots de Isaac Asimov) sigue 3 leyes:

1. Asignación de rol: Un sujeto puede ejecutar una transacción solo si el sujeto a sido seleccionado o asignado al rol asociado a dicha transaccion.

2. Autorizacion de un Rol: El rol de un sujeto activo debe estar previamente autorizado para el sujeto. Con la regla 1 de más arriba se asegura que el usuario pueda utilizar solo roles autorizados para el.

3. Autorizacion de transacciones: Un sujeto puede ejecutar una transaccion solo si la transaccion esta autorizada para el rol activo del sujeto. Con las reglas 1 y 2, esta regla asegura que el usuario puede ejecutar solo transacciones para las que esta autorizada.

En el caso de la universidad, ellos deseaban restringir a los usuarios a no cambiar ningun registro personal. Esto es simple de realizar esde el “Exchange Control Panel”.
El problema aparecio cuando pensaron que era necesario que los usuarios pudiesen cambiar su display name, pero nada más. ahi si se nos hizo complicada la tarea, y gracias a los amigos de Exchange, tenemos RBAC para solucionar esta tarea.

La solucion

Para esto necesito saber primero que registro me conviene buscar:
Get-ManagementRole -CmdletParameters displayname -Cmdlet set-user

Esto me devuelve varios roles definidos, de los cuales solo “MyProfileInformation” concuerda con el rol que le permite a los usuarios modificar sus opciones usando su ECP (Exchange Control Panel) personal.

Sabiendo esto, hago una copia de este rol:
New-ManagementRole -name "MyProfileInformation Custom" -Parent "MyProfileInformation"

Luego de esto, necesito eliminar el CMDLET que le permite a los usuarios modificar sus permisos (set-user):
Get-managementRoleEntry "MyProfileInformation Custom\*" | where { $_.Name -ne "Set-User"} | Remove-ManagementRoleEntry

Una vez hecho esto debo agregar un CMDLET que le permita al usuario modificar solo su displayname:
Set-ManagementRoleEntry "MyProfileInformation Custom\Set-User" -Parameters DisplayName

En estos momentos ya tengo hecho mi rol personalizado, pero lo debo asociar a un usuario o un grupo de usuarios. En este caso prefiero crear un grupo de usuarios llamado TestRBAC
New-ManagementRoleAssignment -name "test" -Role "MyProfileInformation Custom" -securityGroup "TestRBAC"

Para finalizar debemos recordar que tal como los permisos de una carpeta estos se suman, asi que debo bloquear los permisos de los usuarios normales en el ECP antes de ver reflejado lo que hicimos.

Para esto entro al ECP y voy a “Mi organizacion”, luego a “Funciones de usuario” y finalmente le doy doble clic a “Default role Assignement Policy”

1

Desmarco la capacidad de modificar la informacion de perfil y de contacto.

2

Con esto, ya puedo entrar como un usuario normal a mi correo electronico y observar que ya no puedo modificar ninguna opcion excepto mi nombre para mostrar (Displayname)

3

Saludos, espero que les sirva!!!!

Categorías:Exchange Etiquetas: , ,