#CómoSeHace – Loguear navegación por #Cntlm usando #Rsyslog

Si eres de los que utiliza el #Cntlm para navegar por internet, este post te vendrá como anillo al dedo. En el mismo les mostraré cómo se puede loguear nuestras trazas de navegación de internet, de forma tal que podamos consultar hacia qué sitios de internet hemos estado navegando (consciente o inconscientemente), autodetectar posibles incidentes con nuestras navegación (como robos de credenciales etc.) para poder hacer el reporte a los encargados de analizar este asunto en sus entidades. Sin más vamos al grano.


EL proceso en realidad es muy sencillo. Solo nos creamos el fichero /etc/rsyslog.d/cntlm.conf y dentro colocamos lo siguiente:

$template DynCntlm, "/var/log/%programname%/%programname%-%$YEAR%%$MONTH%%$DAY%.log"
if $programname == 'cntlm' then ?DynCntlm
& stop

Luego reiniciamos el servicio de rsyslog con el comando:

service rsyslog restart

Y ya está. Todo listo! Podemos dejarlo así. El único inconveniente sería que de esa forma se estarían guardando los logs indefinidamente y llegaría el momento en que nos quedaríamos sin espacio. Si no les preocupa eso, pueden pasar a leer otro post pues ya he terminado con ustedes. De lo contrario, pasamos a resolver este detalle.

Para ello nos creamos un fichero en /etc/cron.daily/cntlm y dentro agregamos los siguiente:

#!/bin/bash

# Carpeta donde se guardarán los logs.
LOG_DIR=/var/log/cntlm

# Eliminamos los logs cuando pasen los 30 días de antiguedad.
find $LOG_DIR -type f -mtime +30 -exec rm -f  {} \;

# Comprimimos los logs de días anteriores para ahorrar espacio.
find $LOG_DIR -type f -mtime +1 ! -name "*.xz" -exec xz -9e {} \;

Le damos permisos de ejecución:

chmod +x /etc/cron.daily/cntlm

Y el cron se encargará del resto. Como pueden ver es muy simple en verdad.

Antes de finalizar creo que es válido aclarar un par de cosas:

  • En el script dejé una ventana de 30 días pero si necesitan conservar los logs por más días pues sustituyen el 30 por la cantidad que más les acomode.
  • El compresor que utilizo es el xz, por lo que deben asegurarse que está instalado en sus sistemas. Particularmente, me gusta mucho usar el xz pero si quieren utilizar otro pues se los dejo a su elección.

Y esto es todo por hoy. Espero les sea de utilidad.

10 comentarios » Puedes dejar tu comentario también

  1. 00

    Lemux

    dijo:

    Google Chrome 55.0.2883.75 GNU/Linux x64

    Mmm muy interesante. +5

  2. 00

    Lemux

    dijo:

    Google Chrome 55.0.2883.75 GNU/Linux x64

    Una duda que me acaba de surgir: Esto funciona siempre que se ejecute cntlm? O sea, no hay distincion en si esta corriendo como servicio del sistema o si lo ejecuta un usuario sin permisos de root?

  3. 00

    pedro

    dijo:

    Firefox 47.0 Windows 10 x64 Edition

    esto se puede hacer en windows?

  4. 00

    Prospero

    dijo:

    Firefox 46.0 Ubuntu x64

    Esto hace lo mismo que srniplus.uci.cu?

  5. 00

    Y@i$el

    (autor) dijo:

    Google Chrome 55.0.2883.87 Debian GNU/Linux x64

    @Lemux gracias por tu valoración. El procedimiento descrito en el tutorial fue probado con el cntlm corriendo como servicio porque así es como lo uso. No me gusta usar otras aplicaciones de dudosa procedencia. Puedes probar corriéndolo como usuario sin permisos de root y comentarnos acá tu experiencia.

    @pedro seguro que se puede pero el camino es mucho más largo y sería otro artículo para otro blog.

    @Prospero no hace lo mismo que srniplus.uci.cu. Simplemente con esto se puede loguear nuestras trazas de navegación de internet, de forma tal que podamos consultar hacia qué sitios de internet hemos estado navegando (consciente o inconscientemente), autodetectar posibles incidentes con nuestras navegación (como robos de credenciales etc.) para poder hacer el reporte a los encargados de analizar este asunto en sus entidades como dije al inicio del artículo. Es una via offline para tener un registro de tu navegación.

  6. 00

    vla2

    dijo:

    Google Chrome 42.0.2311.107 LG

    Para qué tener una vía offline de ver las trazas de mi navegacion online?

  7. 00

    Y@i$el

    (autor) dijo:

    Google Chrome 50.0.2661.86 Debian GNU/Linux x64

    @vla2 la respuesta es simple: como contraparte. Muchas personas sufren de robos de credenciales gracias a problemas de configuración del cntlm. Con esto puedes detectar desde que ip se están conectando a tu cntlm.

  8. 00

    Prospero

    dijo:

    Firefox 50.0 Windows 7 x64 Edition

    Lo que digo que voy a tener el mismo resultado que si lo consulto en srniplus.uci.cu, que me da detalles tanto por dominio como por ip como por fecha, y todos los link a los cuales el usuario accedio incluso da hasta el tiempo que esta en un link a eso me referia cuando dije que si daba el mismo resultado o es que da mas detalles…..???

  9. 00

    Y@i$el

    (autor) dijo:

    rekonq GNU/Linux x64

    @Prospero solo escribe en un log las urls a las que vas entrando y desde que ip estas accediendo y otros datos típicos de un proxy. Probablemente no te interese bloquear en tiempo real con iptables via script de bash cuando se te enganche alguien a tu cntlm y no te des cuenta porque… lo olvidaba srniplus.uci.cu no te da esa posibilidad, solo te permite consultar post-mortem los datos en gráficos bonitos.

  10. 00

    K4$tr0l K3ym4$ter

    dijo:

    Chromium 55.0.2883.87 Ubuntu x64

    Muy interesante!

Deja un comentario

Tu dirección de correo electrónico nunca será compartida.