meta données pour cette page
Mettre en place un serveur Squid
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 :
- Authentification et suivi des utilisateurs
- Capable d'utiliser un anvivirus
- Accélère la navigation Internet (grâce au cache)
- Réalise une économie sur l'utilisation de la bande passante
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 :
- Solitaire (adapté pour les réseaux à faible débit)
- Filiation (adapté lors de grandes infrastructures)
- Collatéral (adapté pour l'équilibre de charge)
Comportement et retours d'expériences :
- S'il rencontre trop de problèmes, le processus s'arrête (ex trop de création de dossiers pour son cache)
- Il est nécessaire de faire un restart du service pour qu'il prennent en compte les changements importants écrit dans le fichier de configuration.
Installer Squid en mode solitaire
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 :
- L'emplacement du cache
cache_dir ufs /var/spool/squid3 100 16 256
- Le port d'écoute
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/*
Mode filiation et collatéral
Il suffit seulement d'utiliser ces lignes :
- L'utiliser en tant que “enfant” au près d'un père :
cache_peer 192.168.1.254 parent 3128 0 proxy-only
- Faire de la redondance en utilisant le protocol ICP :
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/
Définir des droits (ACL)
- Autoriser une plage d'adresse à utiliser Squid
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
- Bloquer un domaine
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
Authentification
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
Blacklist d'URL
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.