De forma predeterminada, el servidor funciona en modo enrutador y la tarea es tener en cuenta todo el tráfico web en todos los dispositivos locales conectados a nuestro servidor.
La configuración actual se describe aquí: Configuración de NAT en Linux Debian (Internet en una red local)
Transferiremos todo el tráfico web a nuestro Squid, lo que nos permitirá obtener estadísticas detalladas de todos los sitios, agrupados por dispositivo.
1. Instalar componentes Squid y SSL
apt install squid squid-openssl
1.1 Generemos un certificado autofirmado
Es necesario configurar la redirección de tráfico en el puerto 443.
mkdir -p /etc/squid/ssl
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout squidCA.pem -out /etc/squid/ssl/squidCA.pem
1.2 Resumamos la configuración del calamar
nano /etc/squid/squid.conf
...
acl localnet src 100.100.100.0/24
...
acl SSL_ports port 443
acl Safe_ports port 80 # http
...
http_access allow localhost
...
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
...
http_port 3128
http_port 3129 intercept
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump splice all
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl/squidCA.pem
1.2.1 Reiniciar el servicio
service squid restart
1.3 Convirtamos el tráfico web en nuestro proxy
iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 3129
iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports 3130
1.4 Comprobemos el flujo de tráfico
tail -f /var/log/squid/access.log
Intentemos abrir cualquier sitio web desde un dispositivo en la red local, los eventos relacionados con nuestras acciones deberían aparecer en el registro.
1710202038.351 5012 100.100.100.101 TCP_TUNNEL/500 3815 CONNECT synay.net:443 - ORIGINAL_DST/89.104.77.7 -
1710202108.954 75616 100.100.100.101 TCP_TUNNEL/500 9916 CONNECT synay.net:443 - ORIGINAL_DST/89.104.77.7 -
Listo, ahora todo el tráfico web pasa por el servicio squid y podemos obtener un registro conveniente y legible usando SARG. Aquí se describe cómo configurarlo: Instalación y configuración de SARG en un servidor proxy SQUID.
Ahora se tiene en cuenta todo el tráfico web en todos los dispositivos de nuestra oficina y podemos ver en cualquier momento desde qué dispositivo se abrieron qué sitios, incluida la hora y la cantidad de datos.