Logs de cada comando ejecutado en IOS de Cisco – Accounting Cisco Commands

Estreno el blog con una de las características poderosas y a veces desconocidas del sistema operativo IOS de Cisco:

Se trata del Embedded Event Manager, EEM, que en el ejemplo adjunto, nos proveerá del arqueo o trazado de los comandos ejecutados sobre el dispositivo sin necesitar una infraestructura radius o tacacs+, en este caso sobre el mismo Cisco IOS.

Tradicionalmente el logging de comandos en Cisco, Juniper y demás marcas de dispositivos de red, se realiza sobre el arqueo en algún servidor tacacs+. De hecho es así como se realiza en los ISP’s. Gracias al radius o tacacs, que son servidores AAA ( Authentication, Authorization, Accounting ), se provee de un medio de autenticación, autorización de las credenciales de los administradores que desean acceder a los equipos.

Finalmente el Accounting ( Arqueo ) provee de la función de trazar lo que se realiza en el equipo.

Es decir, se creará una entrada en los logs y por tanto también se enviará a nuestros servidores syslog cada vez que se ejecute cualquier comando sobre el dispositivo.

Comparativa Radius vs Tacacs+ :

http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a0080094e99.shtml

Aquí no importan los privilege-levels, ni el modo en el que estemos, ya sea modo user-exec, privilege-exec, modo configure etc. Se trata de “logar” todos los comandos ejecutados en IOS

En dispositivos Juniper, con sistema operativo Junos, podemos realizar tareas en base a eventos gracias a los event scripts, los event policies y los RPM’s ( real-time performance monitoring ). Estos scripts permiten realizar acciones en base a eventos como por ejemplo cambiar la ruta por defecto si perdemos un número determinado de pings contra una ip desde una interfaz wan.

Volvamos al EEM de Cisco y a nuestro ejemplo concreto. La configuración a aplicar seria :

event manager applet LOGGING-COMANDOS
event cli pattern ".*" sync no skip no
action 1.0 syslog priority informational msg "$_cli_msg"
set 2.0 _exit_status 1

Analicemos la configuración aplicada línea a línea:

1º configuramos un applet del event manager al que llamamos como queramos. En este caso le llamo LOGGING-COMANDOS y será lo que veremos en cada línea de los logs.

2º llamamos al evento cli ( command line interface ) y le decimos que lo logue todo mediante una expresión regular. Sync = no y Skip = no quiere decir que el evento es publicado y el comando ejecutado.

3º Creamos una acción, enviar al syslog bajo una priority informational del mensaje que disparó el evento, en este caso cualquier mensaje ( el nivel es de syslog es a vuestra consideración, por ejemplo warning, errors etc ). Donde “$_cli_msg” = The fully expanded message that triggered the CLI event.

4º Finalmente salimos del event manager

Existe documentación detallada de Cisco sobre el uso, la sintaxis y funcionalidades de esta potente herramienta:

http://www.cisco.com/en/US/docs/ios/12_4t/12_4t2/ht_eem.html

Veamos la salida de los logs en la consola :
*Oct 11 12:00:10.549: %HA_EM-6-LOG: LOGGING-COMANDOS: clear logging
*Oct 11 12:00:36.814: %HA_EM-6-LOG: LOGGING-COMANDOS: show running-config FastEthernet1/0/1
*Oct 11 12:00:38.634: %HA_EM-6-LOG: LOGGING-COMANDOS: configure terminal
*Oct 11 12:00:43.374: %HA_EM-6-LOG: LOGGING-COMANDOS: interface FastEthernet1/0/1
*Oct 11 12:00:46.285: %HA_EM-6-LOG: LOGGING-COMANDOS: speed auto
*Oct 11 12:00:49.724: %HA_EM-6-LOG: LOGGING-COMANDOS: duplex auto
*Oct 11 12:00:56.662: %HA_EM-6-LOG: LOGGING-COMANDOS: switchport access vlan 40
*Oct 11 12:00:58.968: %SYS-5-CONFIG_I: Configured from console by gespas on vty0 (192.168.5.242)
*Oct 11 12:00:59.254: %HA_EM-6-LOG: LOGGING-COMANDOS: end
*Oct 11 12:01:11.409: %HA_EM-6-LOG: LOGGING-COMANDOS: show running-config FastEthernet1/0/1
*Oct 11 12:01:16.350: %HA_EM-6-LOG: LOGGING-COMANDOS: reload in 15
*Oct 11 12:01:23.363: %SYS-5-SCHEDULED_RELOAD: Reload requested for 12:16:16 UTC Wed Oct 11 1993 at 12:01:16 UTC Wed Oct 11 1993 by gespas on vty0 (192.168.5.242).
*Oct 11 12:01:27.054: %HA_EM-6-LOG: LOGGING-COMANDOS: show reload
*Oct 11 12:01:30.828: %SYS-5-SCHEDULED_RELOAD_CANCELLED: Scheduled reload cancelled at 12:01:30 UTC Wed Oct 11 1993
*Oct 11 12:01:30.837: %HA_EM-6-LOG: LOGGING-COMANDOS: reload cancel


Leave a Reply

Your email address will not be published. Required fields are marked *