Squid est un proxy de mise en cache pour le Web prenant en charge HTTP, HTTPS, FTP, etc. Il réduit la bande passante et améliore les temps de réponse en mettant en cache et en réutilisant les pages Web fréquemment demandées. Squid dispose de contrôles d'accès étendus et constitue un excellent accélérateur de serveur. Il fonctionne sur la plupart des systèmes d'exploitation disponibles.
Le proxy inverse Squids est un service situé entre Internet et le serveur Web (généralement au sein d'un réseau privé) qui redirige les demandes entrantes des clients vers un serveur où les données sont stockées pour une récupération plus facile. Si le serveur de mise en cache (proxy) ne dispose pas des données mises en cache, il transmet alors la demande au serveur Web sur lequel les données sont réellement stockées. Ce type de mise en cache permet de collecter des données et de reproduire les valeurs de données d'origine stockées dans un emplacement différent pour faciliter l'accès.
Un proxy inverse fournit généralement une couche de contrôle supplémentaire pour fluidifier le flux du trafic réseau entrant entre vos clients et le serveur Web.
Lors de la sélection d'un système informatique à utiliser comme serveur proxy de mise en cache Squid dédié, de nombreux utilisateurs s'assurent qu'il est configuré avec une grande quantité de mémoire physique (RAM) car Squid maintient un cache en mémoire pour des performances accrues.
Messages associés :
- Comment installer et configurer Squid Proxy sur Ubuntu 20.04
- Comment installer et configurer Squid Proxy sur Debian 11
- Comment installer et configurer Squid Proxy sur OpenSUSE Leap 11
Prérequis
- Un serveur Rocky Linux 8 mis à jour avec au moins 1 Go de RAM
- Accès root au serveur ou utilisateur avec accès sudo
- Accès à Internet depuis le serveur
Table des matières
- S'assurer que le serveur est à jour
- Installation du serveur proxy Squid
- Démarrer et activer le service squid
- Configuration de votre navigateur Web
- Configurer squid
- Utilisation de la liste de contrôle d'accès (ACL) du proxy Squid
- Utiliser Squid pour mettre en cache des pages Web
1. S'assurer que le serveur est à jour
Avant de continuer, assurons-nous que notre serveur a mis à jour les packages. Utilisez cette commande pour y parvenir :
sudo dnf update -y
2. Installation du serveur proxy Squid
Les packages fournissant le serveur proxy squid sont disponibles dans les référentiels Rocky Linux par défaut. Installez-le à l'aide de cette commande :
sudo dnf install -y squid
Confirmez que le package a été installé comme prévu
$ rpm -qi squid
Name : squid
Epoch : 7
Version : 4.15
Release : 1.module+el8.5.0+705+218dec94
Architecture: x86_64
Install Date: Mon 17 Jan 2022 07:07:04 PM UTC
Group : Unspecified
Size : 12402901
License : GPLv2+ and (LGPLv2+ and MIT and BSD and Public Domain)
Signature : RSA/SHA256, Tue 09 Nov 2021 11:01:49 PM UTC, Key ID 15af5dac6d745a60
Source RPM : squid-4.15-1.module+el8.5.0+705+218dec94.src.rpm
Build Date : Tue 09 Nov 2021 10:50:18 PM UTC
Build Host : ord1-prod-x86build004.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : http://www.squid-cache.org
Summary : The Squid proxy caching server
Description :
Squid is a high-performance proxy caching server for Web clients,
supporting FTP, gopher, and HTTP data objects. Unlike traditional
caching software, Squid handles all requests in a single,
non-blocking, I/O-driven process. Squid keeps meta data and especially
hot objects cached in RAM, caches DNS lookups, supports non-blocking
DNS lookups, and implements negative caching of failed requests.
Squid consists of a main server program squid, a Domain Name System
lookup program (dnsserver), a program for retrieving FTP data
(ftpget), and some management and client tools.
3. Démarrage et activation du service squid
Le serveur proxy squid ne sera pas démarré par défaut dans notre système Rocky Linux 8. Démarrez-le avec cette commande :
sudo systemctl start squid
Pour vérifier l'état, lancez cette commande :
$ sudo systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-17 19:08:32 UTC; 6s ago
Docs: man:squid(8)
Process: 429390 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 429396 (squid)
Tasks: 3 (limit: 23176)
Memory: 13.9M
CGroup: /system.slice/squid.service
├─429396 /usr/sbin/squid --foreground -f /etc/squid/squid.conf
├─429398 (squid-1) --kid squid-1 --foreground -f /etc/squid/squid.conf
└─429399 (logfile-daemon) /var/log/squid/access.log
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Starting Squid caching proxy...
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: will start 1 kids
Jan 17 19:08:32 dev-rockysrv.inv.re squid[429396]: Squid Parent: (squid-1) process 429398 started
Jan 17 19:08:32 dev-rockysrv.inv.re systemd[1]: Started Squid caching proxy.
Nous pouvons confirmer que le service est en cours d'exécution à partir de la commande ci-dessus. Pour vous assurer que le service démarre au démarrage, utilisez la commande enable :
sudo systemctl enable squid
4. Configuration de votre navigateur Web
Avant d'apporter des modifications au fichier de configuration de squid, vous devez modifier certains paramètres de votre navigateur Web. Alors, ouvrez votre navigateur Web et ouvrez "paramètres réseau", puis passez aux "paramètres proxy". Cliquez sur la configuration "proxy manuel", puis écrivez la adresse_IP de votre serveur proxy squid dans la barre de proxy HTTP et numéro de port (par défaut, le port proxy squid est 3128). Maintenant, le proxy squid passera par votre IP_Address. Vous pouvez le vérifier en tapant n'importe quelle URL dans votre navigateur Web; cela vous donnera une erreur indiquant que l'accès est refusé, et pour autoriser l'accès, nous devons apporter des modifications au fichier de configuration de squid.
5. Configuration de Squid
Le fichier de configuration Squid par défaut se trouve dans /etc/squid/
et le fichier de configuration principal s'appelle squid.conf
. Ce fichier contient l'essentiel des directives de configuration qui peuvent être modifiées pour modifier le comportement de Squid. Les lignes commençant par #
, sont mis en commentaire ou non lus par le fichier. Ces commentaires sont fournis pour expliquer la signification des paramètres de configuration associés.
Pour modifier le fichier de configuration, commençons par effectuer une sauvegarde du fichier d'origine, au cas où nous devions annuler les modifications en cas de problème ou l'utiliser pour comparer les nouvelles configurations de fichiers.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Maintenant qu'une copie a été faite en tant que fichier de sauvegarde, nous pouvons apporter des modifications au fichier "squid.conf".
Pour ouvrir le fichier "squid.conf" dans vim, tapez cette commande :
sudo vim /etc/squid/squid.conf
Aller à la ligne
http_access deny all
Changez-le en :
http_access allow all
Vous devrez redémarrer le serveur proxy squid pour que les modifications s'appliquent. Utilisez cette commande :
sudo systemctl restart squid
Maintenant, vérifiez à nouveau votre navigateur Web, tapez n'importe quelle URL et cela devrait fonctionner.
6. Utilisation du proxy Squid ACL (liste de contrôle d'accès)
Nous pouvons également utiliser Squid pour contrôler l'accès à différents sites Web (trafic Web) en les autorisant ou en les bloquant. Pour cela, rendez-vous sur la ligne acl CONNECT method CONNECT
.
Et sous cette ligne, écrivez l'ACL (liste de contrôle d'accès) pour bloquer les sites Web que vous voulez.
acl block_websites dstdomain .facebook.com .youtube.com .instagram.com
Ensuite, niez la déclaration.
http_access deny block_websites
Enregistrez les modifications et pour vérifier si vos sites Web bloqués sont bloqués ou non, redémarrez votre service squid et vérifiez l'URL dans votre navigateur Web.
Vous pouvez également empêcher un utilisateur de télécharger des fichiers spécifiques, tels que des fichiers audio et vidéo, à l'aide de ACL. .
acl media_files urlpath_regex -i \.(mp3|mp4|FLV|AVI|MKV)
Cela empêchera l'utilisateur de télécharger des fichiers audio ou vidéo avec des extensions telles que mp3, mp4, FLV, etc. Ajoutez toute extension de fichier que vous souhaitez empêcher le téléchargement. Maintenant, sous cette ligne, écrivez la déclaration de refus.
http_access deny media_files
Le téléchargement des fichiers multimédias sera alors bloqué.
7. Utilisation de Squid pour mettre en cache des pages Web
Les serveurs proxy sont également utilisés pour améliorer les performances du réseau en chargeant la page Web plus rapidement en mettant en cache les données du site Web. Vous pouvez également modifier l'emplacement du répertoire dans lequel les données mises en cache doivent être stockées. De plus, vous pouvez également modifier la taille du fichier cache et non. de répertoires dans lesquels les données seraient enregistrées.
Pour apporter des modifications, ouvrez squid.conf
fichier et allez à la ligne suivante :
#cache_dir ufs /var/spool/squid 100 16 256
Cette ligne sera commentée par défaut, donc décommentez cette ligne en supprimant le #
signe.
Dans la ligne ci-dessus, il y a une phrase "100 16 256 ”. Les 100 affiche la taille du fichier cache, et vous pouvez la modifier à n'importe quelle taille comme 300. 16 indique le nombre de répertoires dans lesquels le fichier cache est enregistré. 256 affiche le non. de sous-répertoires.
cache_dir ufs /var/spool/squid 100 16 256
Vous pouvez également modifier la taille du fichier cache en ajoutant la ligne suivante dans le fichier « squid.conf » :
cache_mem 300 MB
Si vous souhaitez modifier le chemin du répertoire du fichier cache, créez une nouvelle structure de répertoire à l'aide de cette commande :
sudo mkdir -p /path/where/you/want/to/place/file
Pour changer la propriété du répertoire cache en proxy squid, vous devez exécuter cette commande :
sudo chown -R proxy:proxy /path/where/you/want/to/place/file
Maintenant, arrêtez le service squid en utilisant cette commande :
sudo systemctl stop squid
Et puis exécutez la commande avec cette commande pour créer les répertoires de cache manquants dans le nouveau répertoire de cache :
sudo squid -z
Maintenant, redémarrez le service squid en utilisant la commande ci-dessous :
sudo systemctl start squid
Conclusion
Nous avons réussi à installer et à configurer le serveur proxy squid dans ce guide. Le proxy Squid est un très bon outil qui peut être utilisé dans les organisations ou par les petits fournisseurs de services Internet pour contrôler le trafic Web et l'accès à Internet. Il accélère la vitesse de navigation Web et fournit des mécanismes de sécurité pour le trafic Web.