# Notas

- Los comandos precedidos por “$” implican que debe ejecutar el comando como usuario genérico - no como root
- Los comandos precedidos por “#” implican que debería estar trabajando como usuario root.
- Los comandos con inicios de línea más específicos como “rtrX>” o “mysql>” indican que debe ejecutar los comandos en un equipo remoto, o dentro de otro programa.

# Ejercicios

Lo primero es asegurarse de que los routers están configurados para enviar logs a su PC (esto debió quedar hecho en el ejercicio anterior).

## Actualizar la Configuración de syslog-ng

Trabaje con su grupo en este ejercicio. El grupo debe elegir a alguien para teclear lo siguiente en el servidor srv1-campusY.ws.nsrc.org:

    $ sudo -s
    #

Configurar syslog-ng para salvar todos los registros del router en un fichero para monitorizarlos.

Editar `/etc/syslog-ng/conf.d/10-network.conf`,

    # cd /etc/syslog-ng/conf.d/
    # editor 10-network.conf

… y añadir lo siguiente justo debajo de la línea que comienza con “template”:

    file("/var/log/network/everything", owner(root) group(root) perm(0644));

Al final, el contenido del fichero deber ser algo como:

    filter f_routers { facility(local0); };

    log {
        source(s_src);
        filter(f_routers);
        destination(routers);
    };

    destination routers {
      file("/var/log/network/$YEAR/$MONTH/$DAY/$HOST-$YEAR-$MONTH-$DAY-$HOUR.log"
      owner(root) group(root) perm(0644) dir_perm(0755) create_dirs(yes)
      template("$YEAR $DATE $HOST $MSG\n"));

      file("/var/log/network/everything", owner(root) group(root) perm(0644));

    };

Esto hará que todos los mensajes con “facility local0” vayan a un mismo archivo, de manera que podamos usar un programa que monitoree los mensajes.

Asegúrese de grabar y salir del editor.

Reinicie rsyslog para que recargue la configuración:

    # systemctl restart syslog-ng

## Rotación de Archivos de Registro

Cree un script automático para truncar el archivo de registros de manera que no se vuelva demasiado grande (COPIAR y PEGAR):

    # editor /etc/logrotate.d/everything

Añadir lo siguiente a este fichero:

    /var/log/network/everything {
      daily
      copytruncate
      rotate 1
      postrotate
        /etc/init.d/tenshi restart
      endscript
    }

Salvar y salir del fichero.

## Instalar tenshi

    # apt-get install tenshi

## Configurar tenshi

Configure tenshi para enviarle alarmas cuando los enrutadores sean configurados (COPIAR Y PEGAR):

    # editor /etc/tenshi/includes-available/network

Añada lo siguiente a este fichero pero asegúrese de sustituir la “Y” por el número de su campus:

    set logfile /var/log/network/everything
    set queue network_alarms tenshi@localhost sysadm@localhost [*/1 * * * *] Log check

    group_host ^100\.68\.
    network_alarms SYS-5-CONFIG_I
    network_alarms PRIV_AUTH_PASS
    network_alarms LINK
    group_end

    group_host ^172\.2Y\.
    network_alarms SYS-5-CONFIG_I
    network_alarms PRIV_AUTH_PASS
    network_alarms LINK
    group_end

Ahora gurde y salga del fichero.

Cree un enlace simbólico para que Tenshi recargue el archivo nuevo (COPIAR Y PEGAR):

    # ln -s /etc/tenshi/includes-available/network /etc/tenshi/includes-active/

Finalmente, reinicie Tenshi:

    # systemctl restart tenshi

Puede que vea el siguiene mensaje de alarma:

    "[WARNING] /var/log/network/everything: no such file"

No se preocupe. Está bien. El fichero “everything” se creará cuando se reciba el primer mensaje de registro.

## Comprobar Tenshi

Ingrese en su enrutador, y ejecute algunos comandos de configuración (vea el ejemplo):

    # ssh campusY@bdr1-campusY.ws.nsrc.org
    bdr1-campusY> enable
    Password: <password>
    bdr1-campusY# config terminal
    bdr1-campusY(config)# int FastEthernet0/0
    bdr1-campusY(config-if)# description Description Change for FastEthernet0/0 for Tenshi
    bdr1-campusY(config-if)# exit
    bdr1-campusY(config)# exit
    bdr1-campusY# write memory

No salga del enrutador todavía. Tal como en el ejercicio anterior de syslog-ng, pruebe a bajar y subir una interfaz loopback:

    bdr1-campusY# conf t
    bdr1-campusY(config)# interface Loopback 999
    bdr1-campusY(config-if)# shutdown

Espere unos segundos.

    bdr1-campusY(config-if)# no shutdown

Ahora salga y grabe la configuración (“write mem”):

    bdr1-campusY(config-if)# exit
    bdr1-campusY(config)# exit
    bdr1-campusY# write memory
    bdr1-campusY# exit

Verifique que está recibiendo e-mails de Tenshi en el buzón del usuario sysadm. Puede comprobar esto rápidamente mirando al directorio de correo:

    # ls -l /var/mail

Nota: Tenshi chequea /var/log/network/everything una vez por minuto, así que puede ser que tendra que esperar hasta un minuto para que llegue un correo al usuario sysadm

Asegúrese de estar como usuario sysadmin (no root). Puede abrir una sesión nueva en su máquina virtual, o puede salir de la shell de root (exit), o escribir:

    # su - sysadm

Después de cambiar a la identificación de sysadm, ejecute el comando “mutt” para leer el correo electrónico

    $ mutt

Muévase arriba/abajo con los cursores para seleccionar un mensaje de “tenshi@localhost”, luego oprima `ENTER` para verlo, y `q` para salir del mensaje, y luego `q` de nuevo para salir de mutt.

Si no están llegando los correos, revise lo siguiente:

- Están llegando registros al archivo `/var/log/network/everything`?

        $ tail /var/log/network/everything

- En estos registros ¿se muestran nombres de nodo como ‘rtr5’, o posiblemente una IP como 10.10.5.254? Recuerde que la manera en que hemos configurado Tenshi, sólo busca mensajes cuyos nombres de nodo concuerden con el patrón ‘rtr’ o ‘10.10’ (dependiendo de cómo haya configurado Tenshi).

- Revise la configuración de Tenshi. Reinicie Tenshi si la cambia.

- Si todavía está atascado pregunte a su instructor, o a un compañero.

## Opcional: Añadir una regla adicional a Tenshi

Pruebe a ver si puede agregar una regla a Tenshi de manera que se envíe un e-mail si alguien introduce incorrectamente la clave de “enable” en el enrutador.

Pistas:

- “PRIV_AUTH_FAIL” es el tipo de mensaje de Cisco IOS en tales casos.
- Para probar que funciona su nueva regla, ingrese en el enrutador, escriba “enable”, y escriba una clave incorrecta.
- Tendrá que reiniciar el servicio Tenshi una vez haya hecho sus cambios en la configuración.