Image

Base de connaissances → Comptabilité du trafic via Squid transparent dans iptables utilisant NAT

[Serveurs virtuels]
Date de publication: 12.03.2024

Par défaut, le serveur fonctionne en mode routeur et la tâche est de prendre en compte tout le trafic Web sur tous les appareils locaux connectés à notre serveur.

La configuration actuelle est décrite ici : Configurer le NAT sous Linux Debian (Internet sur un réseau local)

Nous transférerons tout le trafic Web vers notre Squid, ce qui nous permettra d'obtenir des statistiques détaillées sur tous les sites, regroupés par appareil.

1. Installer les composants Squid et SSL

apt install squid squid-openssl

1.1 Générons un certificat auto-signé

Il est nécessaire pour configurer la redirection du trafic sur le port 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 Résumons la configuration de squid

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 Redémarrer le service

service squid restart

1.3 Tournons le trafic Web vers notre 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 Vérifions la fluidité du trafic

tail -f /var/log/squid/access.log

Essayons d'ouvrir n'importe quel site Web à partir d'un appareil du réseau local : les événements liés à nos actions devraient apparaître dans le journal.

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 -

C'est fait, maintenant tout le trafic Web passe par le service Squid et nous pouvons obtenir un journal lisible et pratique en utilisant SARG, comment le configurer est décrit ici: Installer et configurer SARG sur un serveur proxy SQUID.

Désormais, tout le trafic Web sur tous les appareils de notre bureau est pris en compte et nous pouvons à tout moment voir à partir de quel appareil quels sites ont été ouverts, y compris l'heure et la quantité de données.





Aucun commentaire pour l'instant