Présentation
Les administrateurs système utilisent le proxy Squid pour augmenter leur diffusion de contenu. Squid Proxy permet spécifiquement à un serveur de mettre en cache les pages Web fréquemment visitées.
Comment? Lorsqu'un utilisateur recherche une page Web ou un fichier, la requête est transmise au serveur proxy, l'appareil intermédiaire entre l'ordinateur de bureau et Internet. Le serveur proxy extrait la ressource et la relaie à l'utilisateur, en mettant en cache les nouvelles données et en les utilisant pour les futures requêtes adressées au même serveur.
Dans ce guide, vous apprendrez comment configurer, configurer et installer un serveur proxy Squid sur CentOS 7.
Prérequis
- Système d'exploitation CentOS
- Accès à une fenêtre de terminal/ligne de commande (Ctrl-Alt-T)
- Un utilisateur CentOS avec des privilèges root ou sudo
- Le programme d'installation du package yum , inclus par défaut
- Un éditeur de texte, tel que vim
Étapes d'installation du proxy Squid sur CentOS
Étape 1 :Actualiser les dépôts de logiciels CentOS
Assurez-vous que vous travaillez avec la dernière version du logiciel en mettant à jour vos référentiels.
Lancez une fenêtre de terminal et entrez ce qui suit :
sudo yum -y update
Étape 2 :Installez le package Squid sur CentOS
Pour installer Squid, tapez :
yum -y install squid
Lancez maintenant Squid en saisissant la commande suivante :
systemctl start squid
Pour configurer un démarrage automatique au démarrage :
systemctl enable squid
Vérifiez l'état du service, utilisez :
systemctl status squid
Dans l'exemple ci-dessous, nous voyons que l'état est "Actif".
Configuration du serveur proxy Squid
Le fichier de configuration de Squid se trouve dans /etc/squid/squid.conf.
1. Ouvrez le fichier dans votre éditeur de texte préféré (vim a été utilisé dans cet exemple} :
sudo vi /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 demandes et réponses.
Modifiez-le comme suit :
http_port 1234 transparent
3. Accédez à http_access deny all option.
Il est actuellement configuré pour bloquer tout le trafic HTTP et aucun trafic Web n'est autorisé, comme indiqué ci-dessous.
Remplacez-le par ce qui suit :
http_access allow all
4. Redémarrez le service Squid en saisissant :
sudo systemctl restart squid
Configurer le client Squid
Le serveur proxy Squid est maintenant configuré. Pour configurer le serveur client, 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
Sélectionnez le bouton radio pour la configuration manuelle du proxy.
Utilisez l'adresse IP du système hébergeant votre proxy Squid.
Pour tester, vous pouvez visiter https://whatismyipaddress.com/ip-lookup. Votre adresse IP apparaît comme l'adresse IP du serveur proxy.
Créer une liste de contrôle d'accès (ACL)
Pour les connexions en dehors du réseau local du serveur proxy, vous devez configurer les listes de contrôle d'accès (ACL). Cela peut être nécessaire si vous obtenez une erreur "Refusé de se connecter".
Pour résoudre ce problème, ajoutez simplement à votre liste de ports sécurisés une nouvelle entrée ACL.
Modifiez le fichier /etc/squid/squid.conf déposer une nouvelle fois. Ajoutez une nouvelle ligne comme suit :
acl localnet src 192.166.0.10
Cela créera une règle qui autorise uniquement le système à cette adresse IP à se connecter.
Commentez la ligne pour identifier la règle. Le texte après le signe # est ignoré par Squid.
acl localnet src 192.166.0.10 # test computer
Vous pouvez spécifier une plage d'adresses IP comme suit :
acl localnet src 192.166.0.10/30
Ouvrir les ports proxy Squid
Pour ouvrir un port spécifique, ajoutez ce qui suit :
acl Safe_ports port 123 # Custom port
Pour enregistrer les modifications, redémarrez Squid :
systemctl restart squid
Configurer l'authentification proxy
Squid offre une authentification de base en plus de prendre en charge d'autres types d'authentification.
Tout d'abord, installez httpd-tools avec la commande suivante :
yum -y install httpd-tools
Une fois l'outil installé, créez le nouveau fichier :
touch /etc/squid/passwd && chown squid /etc/squid/passwd
Pour créer le mot de passe, utilisez cette commande :
htpasswd /etc/squid/passwd newuser
Échangez le ‘ nouvelutilisateur‘ avec votre nom d'utilisateur.
Le système vous demandera d'entrer et de confirmer un mot de passe pour « newuser ».
Redémarrez le service proxy et rouvrez votre navigateur en insérant :
systemctl restart squid
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
À partir de maintenant, lorsque vous vous connecterez au serveur proxy Linux, vous verrez une invite pour votre nom d'utilisateur et votre mot de passe. Toute personne non authentifiée sera stoppée par un message d'erreur.
Comment bloquer des sites Web avec Squid Proxy
1. Créez et modifiez un nouveau fichier texte /etc/squid/blocked.acl en saisissant :
sudo vi /etc/squid/blocked.acl
2. Dans ce fichier, ajoutez les sites Web à bloquer, en commençant par un point :
.facebook.com
.twitter.com
Le point spécifie de bloquer tous les sous-sites du site principal.
3. Ouvrez le fichier /etc/squid/squid.conf fichier à nouveau :
sudo vi /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