Squid est complémentaire aux pare-feux et à généralement pour rôle de mandataire en se faisant passé pour les utilisateurs qui se trouvent sur son réseau. Ainsi les utilisateurs du réseau privé qui naviguent sur Internet seront représenté par le mandataire. Bien que les PF agissent au niveau 3 et 4 des couches du modèle OSI, Squid agit à la couche 7 (applicative) de manière plus précise en définissant des règles et des droits d'accès.
Squid est le meilleur outil de gestion de cache sur le marché. Il y a également ces points forts :
Cependant, il peut y avoir de fort ralentissements s'il est mal configuré et ne disposant pas assez de mémoire par exemple.
Il dispose de 3 modes de fonctionnement :
Comportement et retours d'expériences :
Le paquet est disponible dans les dépôts Debian :
apt-get install squid3
Le fichier de configuration se situe dans le dossier suivant :
nano /etc/squid3/squid.conf
En renseignant au minimum ces paramètres :
cache_dir ufs /var/spool/squid3 100 16 256
http_port 3128
Il est possible d'être plus précis en lui disant sur quel IP écouter : http_port 192.168.1.200:3128
Voici par exemple lefichier de configuration que j'utilise chez moi :
Il nous reste plus qu'a recharger le service :
service squid3 reload
La journalisation des évènements se situe dans le dossier suivant :
multitail /var/log/squid3/*
Il suffit seulement d'utiliser ces lignes :
cache_peer 192.168.1.254 parent 3128 0 proxy-only
icp_port 3129 cache_peer 192.168.1.254 sibling 3128 0 default
Pour voir d'autres paramètres, il est recommandé de lire la documentation officielle : http://www.squid-cache.org/
syntaxe :
acl nom type détail
exemple :
acl localnet src 172.17.0.0/16 acl users dst 192.168.2.0/24 192.168.1.0/24
Puis on défini la règle explicitement :
http_access allow localnet
acl google.url url_regex -i *.google.* http_access deny google.url
Il est également possible de faire la même chose :
http_access allow !google.url
Définissons en premier le mot de passe d'un utilisateur. Mais avant téléchargeons le paquet qui va nous permettre de faire cela :
apt-get install apache2-utils
Créons le mot de passe :
htpasswd -c /etc/squid3/mdp mon_utilisateur
Il suffit par la suite de rajouter dans la configuration de squid :
nano /etc/squid3/squid.conf
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/mdp auth_param basic children 5 startup=5 idle=1 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours acl authentification proxy_auth REQUIRED http_access allow authentification
Enfin on relance la configuration :
service squid3 restart
Ce site ou celui-ci dispose de plusieurs listes pour bloquer un grand nombre de domaines rapidement où il suffira simplement de les mettre à jour avec une commande par la suite.
Cette méthode de mise en place st peut-être adapté ? https://michauko.org/blog/squidguard-filtre-durl-et-listes-a-jour-le-plus-dur-313/
L’académie de Toulouse maintient une liste, utilisée par toute l’Education Nationale, de sites dont l’utilisation est à déconseiller aux élèves. Elle fournit aussi des scripts de mise à jour automatique de ces listes.