syslog-ng

Gestión de Registros: La herramienta syslog-ng

Introducción

Metas

Notas

Ejercicios

Por favor, hable con los compañeros de clase que están usando el mismo router que usted y formen un grupo para hacer los siguientes ejercicios juntos. El grupo elegirá a una persona para que acceda al router del grupo, pero todos ayudarán con la configuración.

Configure sus enrutadores para enviar mensajes syslog a su servidor (srv1)

Configure los enrutadores a continuación para enviar registros a srv1-campusY.ws.nsrc.org (100.68.Y.130)

Acceda por SSH a los enrutadores de su grupo y haga lo siguiente:

$ ssh campusY@bdr1-campusY.ws.nsrc.org
bdr1-campusY> enable
bdr1-campusY# config terminal

Repita el comando “logging 100.68.Y.130” para cada router de su grupo.

bdr1-campusY(config)# logging 100.68.Y.130
bdr1-campusY(config)# logging facility local0
bdr1-campusY(config)# logging userinfo
bdr1-campusY(config)# exit
bdr1-campusY# write memory

Ejecutar ‘show logging’ para ver un resumen de la configuración de registro (logging).

bdr1-campusY# show logging

Salir del router (exit)

bdr1-campusY# exit

Eso es todo. El router debería estar enviando paquetes UDP SYSLOG a su PC en el puerto 514. Para verificarlo, acceda a su servidor ‘srv1-campusY.ws.nsrc.org’

$ ssh sysadm@srv1-campusY.ws.nsrc.org 

y haga lo siguiente:

$ sudo -s
# apt-get install tcpdump   (no se preocupe si ya está instalado)
# tcpdump -s0 -nv -i eth0 port 514

Ahora una persona del grupo debe volver a entrar en el router y hacer lo siguiente:

$ ssh campusY@bdr1-campusY.ws.nsrc.org
bdr1-campusY> enable
bdr1-campusY# config terminal
(config)# exit
bdr1-campusY> exit

Debería ver en la pantalla de su PC la salida de TCPDUMP. Será algo parecido a:

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:05:02.620767 IP (tos 0x0, ttl 254, id 43, offset 0, flags [none], proto UDP (17), length 215)
    100.68.6.1.62222 > 100.68.6.130.514: [udp sum ok] SYSLOG, length: 187
        Facility local0 (16), Severity notice (5)
        Msg: 466: Feb 22 14:05:01.545: %SSH-5-SSH2_USERAUTH: User 'campus6' authentication for SSH2 Session from 100.64.0.241 (tty = 2) using crypto cipher 'aes128-cbc', hmac 'hmac-sha1' Succeeded

Ahora puede configurar el software de registro (logging) en su servidor para recibir esta información y registrarla en un nuevo conjunto de ficheros.

Instalar syslog-ng

Acceder via SSH a su servidor

$ ssh sysadm@srv1-campusY.ws.nsrc.org 

Estos ejercicios se han de hacer como root. Si no entra como root en su máquina entonces debe pasar a ser root tecleando:

$ sudo -s
# apt-get install syslog-ng syslog-ng-core

Modifique /etc/syslog-ng/syslog-ng.conf

# nano /etc/syslog-ng/syslog-ng.conf

Encontrar las líneas:

source s_src {
       system();
       internal();
};

y cambiarlas a:

source s_src {
       system();
       internal();
       udp();
};

Guarde el fichero y salga.

Ahora cree una sección de configuración para los registros de la red:

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

En este fichero, copiar y pegar lo siguiente:

    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"));
    };

Guarde el fichero y salga.

Cree la carpeta /var/log/network/

# mkdir -p /var/log/network/

Reiniciar syslog-ng:

# systemctl restart syslog-ng

Probar syslog

Para asegurarnos de que haya algunos mensajes de registros, entre de nuevo en el router y ejecute algún comando de configuración (config), luego salga, por ejemplo:

# ssh campusY@bdr1-campusY.ws.nsrc.org
bdr1-campusY> enable
bdr1-campusY# config terminal
bdr1-campusY(config)# exit
bdr1-campusY> exit

Asegúrese de salir del router. Si mucha gente entra y luego no sale, entonces otros no podrán tener acceso al router.

En su PC, ver si empiezan a aparecer mensajes en la carpeta /var/log/network/2015/…/

# cd /var/log/network
# ls
2017

# cd 2018
# ls
02 03 

... esto mostrará la carpeta para el mes
... cd dentro de esta carpeta
# cd 02 
# ls
22 23 

... repetir para el siguiente nivel (el día del mes)
# cd 23
# ls 
100.68.6.1-2017-02-22-14.log

Se puede ver el fichero de registros resultante usando programas como less, more, cat, etc.

Verás que el registro se captura como a continuación;

# less 100.68.6.1-2017-02-22-14.log

2017 Feb 22 14:11:04 100.68.6.1 %SYS-5-CONFIG_I: Configured from console by campusY on vty0 (100.64.0.241)
2017 Feb 22 14:11:05 100.68.6.1 %SSH-5-SSH2_CLOSE: SSH2 Session from 100.64.0.241 (tty = 0) for user 'campus6' using crypto cipher 'aes128-cbc', hmac 'hmac-sha1' closed
2017 Feb 22 14:12:24 100.68.6.1 %SSH-5-SSH2_SESSION: SSH2 Session request from 100.68.2.135 (tty = 0) using crypto cipher '', hmac '' Failed
2017 Feb 22 14:12:24 100.68.6.1 %SSH-5-SSH2_CLOSE: SSH2 Session from 100.68.2.135 (tty = 0) for user '' using crypto cipher '', hmac '' closed

Resolución de Problemas

Si no aparecen ficheros dentro de la carpeta /var/log/network, entonces otro comando a probar estando dentro del router, en modo configuración, es usar shutdown / no shutdown en un interfaz de Loopback, por ejemplo:

$ ssh campusY@bdr1-campusY.ws.nsrc.org

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

Espere unos segundos

bdr1-campusY(config-if)# no shutdown

Luego salga y salve la configuración (“write mem”):

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

Comprobar los fichero de registros dentro de /var/log/network

# cd /var/log/network
# ls

… siga la cadena de carpetas

¿Todavía no aparecen ficheros con registros?

Intente el siguiente comando para enviar un mensaje de registro de prueba localmente:

# logger -p local0.info "Hello World\!"

Si todavía no se ha creado ningún fichero dentro de /var/log/network, verifique la configuración en busca de posibles errores. No olvide reiniciar el servicio syslog-ng cada vez que se cambie la configuración.

¿Qué otros comandos piensa que se podrían ejecutar en el router (TENGA CUIDADO!) que generen mensajes syslog? Puede intentar entrar en el router y escribir una contraseña incorrecta para “enable”.

Usar el comando “ls” en la carpeta de registros para ver si se ha creado algún archivo de registros en algún momento.