6. Squid - gpk659/WoodyToys-Projet-VPS GitHub Wiki
Squid
Squid est un serveur mandataire, en anglais un proxy, entièrement libre et très performant. Squid est capable de gérer les protocoles FTP, HTTP, HTTPS et Gopher. Il est généralement utilisé dans certaines entreprises et universités pour des fonctions de filtrage d'URL ou en tant que tampon. Les pages Internet sont stockées localement ce qui évite d'aller les recharger plusieurs fois et permet d'économiser la bande passante Internet.
Installation
Nous avons utilisé l'image docker suivante : sameersbn/squid
On récupère l'image suivante via la commande :
sudo docker pull sameersbn/squid
On lance l'image suivante via la commande :
sudo docker run --name squid -d --restart=always \
--publish 3128:3128 \
--volume /mnt/docker/squid:/etc/squid3 \
sameersbn/squid:3.3.8-23
Configuration
Ne pas inclure l'adresse IP dans les requêtes HTTP
Pour ne pas inclure l'adresse IP ou le nom du système dans les requêtes HTTP, dans la partie TAG: forwarded_for, décommenter et modifier la ligne comme suit :
forwarded_for off
Messages d'erreur en français
Dans la partie TAG: error_directory, décommenter et modifier la ligne comme suit :
error_directory /usr/share/squid3/errors/French
Modification de la mise en tampon de Squid
Mise en tampon de page web Par défaut, le tampon de Squid est activé, ce qui permet d'accélérer le chargement de certaines pages. La taille par défaut est de 100 Mo (situé dans /var/spool/squid).
Pour changer sa taille, modifiez le fichier /etc/squid/squid.conf Trouvez la ligne:
# cache_dir ufs /var/spool/squid 100 16 256
Et décommentez-la. Vous pouvez changer la valeur 100 par ce que vous voulez (par exemple 200 pour 200 Mo) : cache_dir ufs /var/spool/squid 200 16 256
Taille maximum de mémoire vive utilisée pour stocker le tampon :
cache_mem 16 MB
# Taille maximum des objets stockés dans le tampon :
maximum_object_size 15 MB
ℹ️ Tampon DNS
Par defaut, Squid est configuré pour garder 6 heures le tampon DNS dont il a pu résoudre le nom et 5 minutes celui dont >il n'a pas pu résoudre le nom DNS.
Modification du temps de tampon pour la résolution de nom "positive"; ex :
positive_dns_ttl 8 hours
Modification du temps de tampon pour la résolution de nom "négative"; ex :
negative_ttl 4 minutes
Rendre Squid transparent
Pour que Squid fonctionne comme un serveur mandataire transparent, il faut ajouter à la fin du port de Squid :
http_port 3128 transparent
Bloquer les sites dans un ficher
Ajouter ces lignes, dans le fichier: squid.conf
acl liste_url dstdomain "/etc/squid3/liste-sites.txt"
http_access deny liste_url
Créer le fichier: "/etc/squid3/liste-sites.txt"
.youtube.com
.facebook.com
ℹ️ Squid