Leandro Amore

Un espacio para dejar las cosas que quiero compartir

April 2010 - Posts

Delegando el acceso al Event Viewer en Windows 2003/2008

Hace un tiempo vengo leyendo el tema de la delegación de los event viewers en Windows 2003 y Windows 2008, Y ahora que finalmente lo entendí quería compartirlo con ustedes.

Nada de esto es magia, si ustedes buscan un poco sobre el tema van a encontrar 1 nota que indica cómo hacer esto en Windows 2003 (más complejo que en 2008).

http://support.microsoft.com/kb/323076

y una extensa explicación sobre el SDDL acá:

http://msdn.microsoft.com/en-us/library/aa379567(VS.85).aspx

Pero realmente no me dejaba del todo tranquilo así que seguí investigando un poco.

Lo más importante es tener claro las ACL por defecto de todos los logs, ya que en la nota solo menciona el de Application. Para eso encontré esta nota:

http://blogs.msdn.com/ericfitz/archive/2006/03/01/541462.aspx

Una vez que tenemos los valores por defecto podremos agregar nuevos accesos sin mayores complicaciones siguiendo la nota y usando psgetsid para encontrar los SID de los grupos a los que queramos delegar el acceso.

Así que a trabajar:

En mi escenario cree un grupo que se llama “Admins de eventos” al que le quiero dar acceso de lectura a los eventos de Seguridad.

Lo primero que vamos a hacer es obtener el SID de eso grupo:

clip_image002

Ahora con el SID y la información de la ACL por defecto podemos armar nuestra ACL customizada

ACL por defecto del Security Log

O:BAG:SYD:(D;;0xf0007;;;AN)(D;;0xf0007;;;BG)(A;;0xf0007;;;SY)(A;;0x7;;;BA)

Como seteamos los permisos entonces. En la nota de MS vemos que:

1= Read

2= Write

4 = Clear

Por ende podemos combinar estos valores para llegar a lo que necesitamos, en mi caso quiero dar lectura y limpieza al grupo que cree así que quedaría 5. Por lo tanto,la cadena para asignar el permiso seria:

(A;;0x5;;;S-1-5-21-152225060-2943421871-3394288233-4614)

Donde:

A: indica que voy a dar un permiso (si es D lo voy a denegar)

0x5 indica el permiso que estoy dando, en nuestro caso Clear y Read.

y finalmente el SID del grupo al que le queremos dar los permisos.

Entonces seguimos los pasos de la nota y agregamos la clave de registro.

clip_image004

Ahora, como hacemos esto en Windows 2008?

Tenemos una herramienta para trabajar con el event viewer que se llama wevtutil.

clip_image006

Lo que vamos a hacer es traer la info del log, agregar la parte de la cadena que nos interesa y volver a importar los valores.

Así que copiamos los valores de channelAccess y agregamos nuestra cadena al final

wevtutil sl security /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x5;;;S-1-5-21-152225060-2943421871-3394288233-4614)

y listo, con eso ya tenemos acceso al event log. Bastante más sencillo, no?

More Posts