Table des matières

, , , , , ,

Installation du proxy squid3

$ sudo apt-get install squid

Configuration de squid

Éditer le fichier /etc/squid3/squid.conf

On définit ci-dessous un réseau désigné lan auquel on donnera le droit d’accès.

acl lan src 192.168.0.0/24

Avant la directive d'interdiction globale, autoriser le réseau lan précédemment déclaré

http_access allow lan
http_access deny all

Contrôle du service

Afficher la version du programme:

$ squid3 -v

Le démarrage/arrêt/redémarrage du service squid ce fait via la commande service:

$ sudo service squid3 restart

Pour prendre en compte les modifications du fichier de configuration sans arrêter le service:

$ sudo squid3 -k reconfigure

Rotation des logs

Le fichier de log peut grossir rapidement la commande ci dessous permet de déclancher la rotation des fichiers logs:

root# squid3 -k rotate

Utiliser la commande dans un cron pour la lancer périodiquement, Dans cet exemple au début de chaque journée:

0 0 * * * /usr/sbin/squid3 -k rotate

Rendre le proxy transparent

Le mode transparent permet de filtrer les postes clients sans configuration spécifique coté client. Il a cependant ces limites notamment avec https. Le filtrage transparent ne fonctionnera pas pour tous les sites en https qui considéreront une attaque “man in the middle”. Pour que cela fonctionne, des règles de NAT devront autoriser systématiquement le flux https et donc rendre le filtrage inopérant.

Configurer squid

Activer le mode transparent en modifiant le fichier de configuration de squid3:

http_port 3128 transparent 

Modifier la configuration du système pour autoriser le routage de paquets. La procédure est décrite dans le wiki activer-routage.

Règles iptables

Dans les règles présentées ci-dessous:

Règles de bypass du flux https

iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i lan -p tcp --dport 443 -j ACCEPT
iptables -t nat -A POSTROUTING -o wan -j SNAT --to-source 192.168.0.254

Règle de NAT rendant squid transparent:

iptables -t nat -A PREROUTING -i lan -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.254:3128
iptables -t nat -A PREROUTING -i wan -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Références