Respostas:
Dê uma olhada neste post do IOSHints: comando do CLI que registra sem TACACS + . E o título parece sugerir que também pode ser feito com o TACACS +.
Supondo que você esteja usando o TACACS +, você pode configurar:
tacacs-server host x.x.x.x key xxxxx
aaa accounting commands 0 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
Inclua também uma linha para qualquer outro nível de ativação que você possa usar.
Como sua pergunta não está restrita ao IOS: nos dispositivos Cisco ASA, você pode ver comandos executados no syslog. Eles ficam assim:
May 17 11:45:12 192.168.0.1 %ASA-5-514008: User 'stefan' executed the 'write memory' command.
Portanto, você pode filtrar essas mensagens, por exemplo, usando grep
e um trabalho cron. Obviamente, você precisa ter o nível de gravidade necessário definido, aqui 5 para notificação .
Eu usei o splunk para receber e armazenar diretamente mensagens de syslog do firewall, programei um alerta de execução diária que me envia todas as linhas de syslog do ASA que contêm "executado" como um email de resumo. Fiz isso porque eu já tinha atuado para monitorar e gerar relatórios.
TACACS + é o método preferido para registrar comandos da CLI em qualquer nível de ativação. Veja os comandos AAA e TACACS para configuração. Existe software de código aberto se você não possui ou não pode pagar o Cisco ACS ou produtos similares.
Mas, para um recurso muito interessante e raramente usado, você pode fazer com que o próprio switch execute uma diferença de configuração na running-config e startup-config e envie por e-mail as alterações ou deltas para você!
Veja como eu tenho os switches 4510R configurados para enviar alterações de configuração por email. Isso usa o gerenciador de eventos para fazer o trabalho.
Primeiro, algumas configurações comuns para o servidor de email, de e para endereços.
event manager environment _email_server a.b.c.d.
event manager environment _email_from netops@example.com
event manager environment _email_to netops@example.com
Em seguida, o applet real para fazer a diferença. Isso é bastante auto-explicativo.
event manager applet config_diff_email authorization bypass
event syslog pattern ".*%SYS-5-CONFIG.*"
action 1.0 info type routername
action 1.1 cli command "enable"
action 1.2 cli command "show archive config diff nvram:/startup-config system:/running-config"
action 1.3 mail server "$_email_server" to "$_email_to" from "$_email_from" subject "Config Change Alert ($_info_routername)" body "$_cli_result"
action 1.4 syslog msg "Config Change Alert emailed"
Note que mesmo entrar na configuração e não fazer alterações ainda aciona o e-mail diff. E uma desvantagem disso é o pico de CPU que ocorre por cerca de 10 segundos enquanto é executado.
Eu uso a seguinte configuração e ela registra os comandos de configuração, além de alguns outros como 'enable':
archive
log config
logging enable
notify syslog
hidekeys