Lightsquid

Pues luego de ver el gran aporte a la comunidad de @Franco_Sparrow y @Alexminator con el tutorial de Squid 5 toca entonces hacer análisis de las trazas que genera ese Squid. Claro, opciones tenemos muchas y en variedades; pero les traigo hoy, de entre todas ellas y que seguro ya conoces, una que instalarás en par de sencillos pasos.

El proceso lo haremos sobre el servidor de Squid, ya sea hecho por el tutorial de nuestra comunidad u otro que ya tenga usted instalado y quiera agregarle esta funcionalidad; y lo describiremos tanto para Apache como para Nginx.

Empezamos…

Para Apache:
Siendo root instalamos los paquetes necesarios:

apt install -y apache2 lightsquid libcgi-session-perl

Chequee que la ruta a los logs declarada en «/etc/lightsquid» sea válida:

nano /etc/lightsquid/lightsquid.cfg

#path to access.log  <= linea 23
$logpath ="/var/log/squid";

Creamos/editamos el virtualhost de Apache de Lightsquid para que nos quede así:

nano /etc/apache2/conf-available/lightsquid.conf

Alias /lightsquid/ /var/www/html/lightsquid/
   <Location "/lightsquid/">
   Options +ExecCGI
   AddHandler cgi-script .cgi .pl
   Require local
   # Pon el rango IP desde el que vas a acceder, o varios IP/32 si quieres controlar el acceso.
   Require ip 192.168.0.0/24
</Location>

Habilitamos módulos necesarios para Apache:

a2enmod cgid
Enabling module cgid.
To activate the new configuration, you need to run:
systemctl restart apache2

Habilitamos la configuración del virtualhost de Apache:

a2enconf lightsquid
Enabling conf lightsquid.
To activate the new configuration, you need to run:
systemctl reload apache2.service

Reiniciamos el Apache:

service apache2 restart

Nos descargamos el compactado de Lightsquid.
Copiamos la carpeta de lightsquid a «/var/www/html».
Damos los permisos necesarios:

unzip lightsquid.zip
chmod -R 755 /var/www ; chown -R www-data:www-data /var/www

Chequee que la ruta a los logs declarada en «/var/www/html/lightsquid» sea válida:

nano /var/www/html/lightsquid/lightsquid.cfg

#path to access.log <= linea 23
$logpath ="/var/log/squid";

Generamos el primer reporte para que nos salga la web:

/var/www/html/lightsquid/lightparser.pl

Nota:- En caso de tener el «access.log» de squid en su lugar se genararán todas las entradas que dicho fichero contenga.

 

Ahora describiremos el proceso para Nginx.

Para Nginx:

apt install -y nginx fcgiwrap lightsquid libcgi-session-perl

Chequee que la ruta a los logs declarada en «/etc/lightsquid» sea válida:

nano /etc/lightsquid/lightsquid.cfg

#path to access.log  <= linea 23
$logpath ="/var/log/squid";

Guardamos el virtualhost por defecto de Nginx y creamos uno en blanco:

mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak && touch /etc/nginx/sites-available/default

Creamos/editamos el virtualhost de Nginx de Lightsquid para que nos quede así:

nano /etc/nginx/sites-available/lightsquid

server {
    listen 80;
    server_name proxy.tudominio.cu;

    root /var/www/html/lightsquid;
    index index.cgi;

    location / {
        try_files $uri $uri/ index.cgi /lightsquid;
    }

    location ~ \.cgi$ {
            root /var/www/html/lightsquid;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_param AUTH_USER $remote_user;
            fastcgi_param REMOTE_USER $remote_user;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }
}

Nota.- Cambiamos en «server_name» el nombre DNS de nuestro proxy.

Creamos enlace simbólico a la carpeta de sitios habilitados:

ln -s /etc/nginx/sites-available/lightsquid /etc/nginx/sites-enabled/lightsquid

Habilitamos y reiniciamos Nginx:

systemctl enable nginx
service nginx restart

Creamos el directorio donde pondremos el compactado:

mkdir -p /var/www/html

Nos descargamos el compactado de Lightsquid.
Copiamos la carpeta de lightsquid a «/var/www/html».
Damos los permisos necesarios:

unzip lightsquid.zip
chmod -R 775 /var/www ; chown -R www-data:www-data /var/www

Chequee que la ruta a los logs declarada en «/var/www/html/lightsquid» sea válida:

nano /var/www/html/lightsquid/lightsquid.cfg

#path to access.log <= linea 23
$logpath ="/var/log/squid";

Generamos el primer reporte para que nos salga la web:

/var/www/html/lightsquid/lightparser.pl

Nota:- En caso de tener el «access.log» de squid en su lugar se genararán todas las entradas que dicho fichero contenga.

 

Crontab:

Los reportes por defecto se generan diariamente. Si desea puede agregarle una tarea al cron para que los haga mas seguidos, por ejemplo, cada 10 minutos:

crontab -e

Y agregamos:

*/10 * * * * /var/www/html/lightsquid/lightparser.pl today

 

Otras formas de usar el comando lightparser.pl:

/var/www/html/lightsquid/lightparser.pl today                     => Para el día de hoy
/var/www/html/lightsquid/lightparser.pl yesterday                 => Para el día de ayer
/var/www/html/lightsquid/lightparser.pl 20210101                  => Para un día en específico
/var/www/html/lightsquid/lightparser.pl access.log.{\d}.{gz|bz2}  => Para logs rotados y/o compactados

 

Para ver la web de reportes con Apache vamos a http://IP_proxy/lightsquid
Para ver la web de reportes con Nginx vamos a http://IP_proxy/

Damos clic en la fecha que queremos revisar.

Dentro del día seleccionado veremos los usuarios que navegaron.
Si queremos que estas estadísticas nos queden aun mejor rellenamos el fichero «realname.cfg» para que nos salgan los nombres completos de los usuarios en el campo «Real Name».

nano /var/www/html/lightsquid/realname.cfg

Dentro ponemos los valores de la siguiente forma:

# Usuarios
carlos           Carlos Perez Gomez
alberto          Alberto Rodriguez Diaz
barbaro          Barbaro Martinez Gonzalez

# PC
192.168.0.10      Economia1
192.168.0.11      Secretaria
192.168.0.12      Informatico

Acomódelo a su ambiente y guárdelo.

Al pinchar en el usuario veremos los sitios a los que accedió.

Los reportes que Lightsquid extraiga de los logs de navegación los organizará por fecha, al estilo «20200918«, y los pondrá en «/var/www/html/lightsquid/reports«.

Si notaste en las 3 fotos aparece el botón Herramientas, con el podrás exportar el reporte en varios formatos, imprimir, etc.

 

En caso que ya tengas ésta funcionalidad instalada y quieras agregarse solamente el tema haz los pasos siguientes:

Para poner el tema metro_tpl:
– Del compactado que descargamos anteriormente, la carpeta «asset» la pones en la raiz de «lightsquid«; donde estan los «.cgi«.
– La carpeta «metro_tpl» dentro de «tpl«.
– En «/var/www/html/lightsquid.cfg«, en el parametro «$templatename» cambia «base» por el tema que copiaste «metro_tpl«.
– F5 a la web y Listo.

Nota.- Los archivos html que contiene la carpeta «metro_tpl» los puedes editar a tu gusto y conveniencia.

Agradecimientos a Adalberto Fajardo (@semofajardo) por su aporte con el tema.

Antes de concluir decirles que también tenemos la instalación para Docker cortesía Adrian Rodríguez (@adrianrp1988).

Saludos.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 26

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*