jueves, 25 de abril de 2013

Tips & Tricks. Crear log de eventos personalizado mediante Powershell.

SIEM, Security Information and Event Management es un termino habitual para los que lidiamos con la seguridad en las empresas.
La gestión de logs en nuestras organizaciones es vital para saber el estado de los sistemas, detectar intentos de intrusión, o a toro pasado, aprender de lo ocurrido en el caso de un desastre.
Con cada evolución de los sistemas operativos, hablo de la Microsoft Family, se han ido ampliando las opciones de monitorización de eventos disponibles.
No solo se puede monitorizar los intentos incorrectos de inicio de sesión, o los correctos, o los accesos a ficheros, o páginas. Es recomendable estudiar un poco en profundidad la granularidad de los logs que nos ofrece el sistema, y recomiendo estudiar la información del fabricante al respecto, para saber que implantar, donde buscar, como gestionar, etc.

Pero no todo es bonito en la casa de Seatlle. Imaginaros el caso de un sencillo script, de los que todos usamos, para conectar una impresora vieja, conectar una carpeta, realizar cualquier proceso interno... Dudo mucho que Windows Server 2012 maneje la información de tus scripts particulares, pero si que no me cabe duda de que tener información sobre la ejecución de estos scripts es algo necesario.

Entonces, de que estas hablando kino? Sencillo, te hablo de crear una categoría de logs para tus aplicaciones, y empieces a recoger evidencias de lo ocurrido en tus sistemas. Como?
Easy baby.


Como puedes apreciar en la imagen, creamos la categoría y la fuente del log.
Esto lo hacemos tantas veces como categorías queramos controlar, pero no en la ejecución del script.

Una vez tenemos nuestra categoría en el visor de sucesos, eventviewer, pasamos a crearnos un script por ejemplo "crea_log_id1.cmd"


Entonces, cuando ejecutamos nuestra tarea, como he dicho una carpeta de red, impresora, proceso de backup, copias automáticas, etc, añadimos nuestro comando. Crear una condición en el script para en el caso de ejecución correcta, lance "crear_log_id1.cmd" y en el caso incorrecto, que lance otro...la imaginación al poder.

Como podéis ver, tenemos nuestro evento o log perfectamente informado y guardado para posteriores auditorías sin meternos mucho en programación.

Seguro que tienes algún software, vertical/erp que te vendieron como que cumplía la LOPD con el tema de los accesos. Ahora, sabiendo lo fácil que es programar una estrategia de gestión de eventos, te basta con una tabla en sql con mil Foreing Keys que solo el desarrollador sabe interpretar?.

Espero que penséis en el asunto de los logs, y establezcáis una política de gestión de los mismos, al menos, tan sencilla como esta.

Otro día seguiremos con el tema de SIEM que tanto NO-nos gusta a los sysadmin.

Gracias por leerme.