Présentation
Squid est une application proxy basée sur Linux. Le serveur proxy Squid est utilisé pour filtrer le trafic, la sécurité et les recherches DNS.
En outre, Squid peut accélérer un serveur Web en mettant en cache des ressources. Le proxy Squid permet à un serveur de mettre en cache les pages Web fréquemment visitées. Lorsque l'utilisateur demande une page Web ou un fichier, la demande est directement transmise au serveur proxy, un appareil intermédiaire entre l'appareil de l'utilisateur et Internet. Le serveur proxy extrait les ressources et les relaie à l'utilisateur.
Ce guide vous expliquera comment configurer et installer le serveur Squid Proxy sur Ubuntu.
Prérequis
- Un système d'exploitation Ubuntu
- Accès à une fenêtre de terminal/ligne de commande (Ctrl-Alt-T)
- Un utilisateur Ubuntu avec des privilèges root ou sudo
- Le programme d'installation du package apt, inclus par défaut
- Un éditeur de texte, tel que nano
Installation du proxy Squid sur Ubuntu
Étape 1 :Actualiser les référentiels de logiciels
Assurez-vous que vous travaillez avec la dernière version de logiciel disponible.
Lancez une fenêtre de terminal et entrez ce qui suit :
sudo apt-get update
Étape 2 :Installez le package Squid sur Ubuntu
Pour installer Squid, exécutez la commande :
sudo apt-get install squid
Le système devrait demander une confirmation - entrez Y
et laissez le processus se terminer.
Configuration du serveur proxy Squid
Le fichier de configuration de Squid se trouve dans /etc/squid/squid.conf.
1. Ouvrez ce fichier dans votre éditeur de texte avec la commande :
sudo nano /etc/squid/squid.conf
2. Naviguez pour trouver l'option http_port . En règle générale, il est configuré pour écouter sur le port 3218 . Ce port transporte généralement le trafic TCP. Si votre système est configuré pour le trafic sur un autre port, modifiez-le ici.
Vous pouvez également définir le mode proxy sur transparent si vous souhaitez empêcher Squid de modifier vos requêtes et réponses.
Modifiez-le comme suit :
http_port 1234 transparent
3. Accédez au http_access deny all option. Ceci est actuellement configuré pour bloquer tout le trafic HTTP. Cela signifie qu'aucun trafic Web n'est autorisé.
Remplacez-le par ce qui suit :
http_access allow all
4. Accédez au visible_hostname option. Ajoutez le nom de votre choix à cette entrée. C'est ainsi que le serveur apparaîtra à toute personne essayant de se connecter. Enregistrez les modifications et quittez.
5. Redémarrez le service Squid en saisissant :
sudo systemctl restart squid
Configurer le client Squid
Toute cette configuration a été faite pour mettre en place votre serveur proxy Squid. Maintenant, passez à votre ordinateur client et ouvrez votre navigateur Web.
Si vous utilisez Firefox, vous pouvez trouver les paramètres de proxy sous :
Menu > Options > Paramètres réseau > Paramètres
Cochez le bouton radio pour la configuration manuelle du proxy.
Si vous avez entré un nom d'hôte à l'étape 4, vous devriez pouvoir entrer ce nom ainsi que le port que vous avez désigné. Sinon, utilisez l'adresse IP du système hébergeant votre proxy Squid.
Pour le tester, vous pouvez visiter https://whatismyipaddress.com/ip-lookup - si votre proxy fonctionne, votre adresse IP devrait s'afficher comme adresse IP du serveur proxy.
Ajouter Squid ACL
Remarque : Après chacune de ces étapes, vous devez enregistrer et quitter, puis redémarrer le service Squid pour appliquer la nouvelle configuration.
Créez une liste de contrôle d'accès en modifiant à nouveau le fichier squid.conf, comme à l'étape 4.
Ajoutez une nouvelle ligne comme suit :
acl localnet src 192.168.0.15
Cela créera une règle qui autorise uniquement le système à cette adresse IP à se connecter. Il est recommandé de commenter la ligne pour identifier la règle :
acl localnet src 192.168.0.15 # test computer
Tout ce qui suit le signe # est ignoré par Squid.
Vous pouvez spécifier une plage d'adresses IP comme suit :
acl localnet src 192.168.0.15/30
Ouvrir les ports
Pour ouvrir un port spécifique, ajoutez ce qui suit :
acl Safe_ports port 123 # Custom port
Configurer l'authentification proxy
Cela oblige les utilisateurs à s'authentifier pour utiliser le proxy.
Commencez par installer apache2-utils :
sudo apt-get install apache2-utils
Créez un fichier passwd et modifiez la propriété du proxy utilisateur Squid :
sudo touch /etc/squid/passwd
sudo chown proxy: etc/squid/passwd
Ajouter un nouvel utilisateur et un nouveau mot de passe
1. Pour ajouter un nouvel utilisateur à Squid, utilisez la commande :
sudo htpasswd /etc/squid/passwd newuser
Le système vous demandera d'entrer et de confirmer un mot de passe pour le nouvel utilisateur.
2. Modifiez le fichier /etc/squid/squid.conf fichier et ajoutez les lignes de commande suivantes :
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Bloquer les sites Web sur le proxy Squid
1. Créez et modifiez un nouveau fichier texte /etc/squid/blocked.acl en saisissant :
sudo nano /etc/squid/blocked.acl
2. Dans ce fichier, ajoutez les sites Web à bloquer, en commençant par un point :
.facebook.com
.twitter.com
Remarque :Le point spécifie de bloquer tous les sous-sites du site principal.
3. Ouvrez le fichier /etc/squid/squid.conf fichier à nouveau :
sudo nano /etc/squid/squid.conf
4. Ajoutez les lignes suivantes juste au-dessus de votre liste ACL :
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Commandes lors de l'utilisation du service Squid
Pour vérifier l'état de votre logiciel Squid, entrez :
sudo systemctl status squid
Cela vous indiquera si le service est en cours d'exécution ou non.
Pour démarrer le service, entrez :
sudo systemctl start squid
Configurez ensuite le service Squid pour qu'il se lance au démarrage du système en saisissant :
sudo systemctl enable squid
Vous pouvez réexécuter la commande d'état maintenant pour vérifier que le service est opérationnel.
Pour arrêter le service, utilisez la commande :
sudo systemctl stop squid
Pour empêcher Squid de se lancer au démarrage, saisissez :
sudo systemctl disable squid