Image

Base de conocimientos → Contabilidad de tráfico vía squid transperent en iptables usando NAT

[Servidores virtuales]
Fecha de publicación: 12.03.2024

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.





Sin comentarios aún