GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un proxy HTTP à l'aide de Squid sur CentOS 8

Squid est un serveur de mise en cache proxy Web gratuit et open source qui prend en charge différents protocoles, tels que HTTP, HTTPS, FTP et SSL. Il est principalement utilisé comme serveur proxy de mise en cache et peut grandement améliorer les performances du serveur en mettant en cache les requêtes répétées, en filtrant le trafic Web et en accédant au contenu géo-restreint.

Squid peut servir d'intermédiaire entre le client et le serveur Web. Après avoir connecté le proxy Squid, vous pourrez accéder anonymement aux services Internet et contourner les restrictions du réseau local.

Dans ce tutoriel, nous allons apprendre à installer et configurer Squid Proxy sur CentOS 8.

Prérequis

  • Un nouveau VPS CentOS 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 - Installer le serveur proxy Squid

Le package Squid est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer en exécutant simplement la commande suivante :

dnf install squid -y

Une fois installé, démarrez le service proxy Squid et activez-le pour qu'il démarre au redémarrage avec la commande suivante :

systemctl start squid
systemctl enable squid

Étape 3 - Configurer l'authentification basée sur IP

Il existe plusieurs façons de configurer Squid pour accepter les connexions et servir de proxy HTTP. Dans cette section, nous allons configurer Squid pour authentifier les clients en fonction de leurs adresses IP.

Ouvrez le fichier de configuration par défaut de Squid dans /etc/squid/squid.conf :

nano /etc/squid/squid.conf

Ajoutez la ligne suivante au début du fichier :

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Squid pour appliquer les modifications :

systemctl restart squid

Dans l'étape ci-dessus, remplacez vos informations pertinentes comme ci-dessous :

utilisateur1 et utilisateur2 est le nom qui identifie les ordinateurs clients.

192.168.0.10 et 192.168.0.11 est l'adresse IP de l'ordinateur client.

Étape 4 - Configurer l'authentification basée sur l'utilisateur

Dans cette section, nous allons configurer Squid pour authentifier un client avec des noms d'utilisateur et des mots de passe.

Tout d'abord, installez le package de l'utilitaire Apache sur votre système :

dnf install httpd-tools -y

Ensuite, créez un fichier pour stocker les utilisateurs et les mots de passe Squid et modifiez le propriétaire du fichier de mots de passe :

touch /etc/squid/squid_passwd
chown squid /etc/squid/squid_passwd

Ensuite, créez un nouvel utilisateur squid avec le nom user1 en utilisant la commande suivante :

htpasswd /etc/squid/squid_passwd user1

Il vous sera demandé de créer un mot de passe pour cet utilisateur comme indiqué ci-dessous :

New password:
Re-type new password:
Adding password for user user1

Ensuite, créez un autre utilisateur nommé user2 avec la commande suivante :

htpasswd /etc/squid/squid_passwd user2

Fournissez un mot de passe pour cet utilisateur comme indiqué ci-dessous :

New password:
Re-type new password:
Adding password for user user2

Vous pouvez maintenant vérifier les deux utilisateurs avec la commande suivante :

cat /etc/squid/squid_passwd

Vous devriez obtenir le résultat suivant :

user1:$apr1$szXO3OTj$37MuRy2V06mIAOiRpFjnr1
user2:$apr1$MCAckv0h$0VwDLLhAfMLaLm3Xvk3H/0

Modifiez ensuite le fichier de configuration de Squid :

nano /etc/squid/squid.conf

Ajoutez les lignes suivantes au début du fichier :

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Enregistrez et fermez le fichier, puis redémarrez le service proxy Squid pour appliquer les modifications :

systemctl restart squid

Étape 5 - Configurer l'authentification combinée

Dans cette section, nous allons configurer Squid pour authentifier un client en fonction de l'adresse IP et du nom d'utilisateur/mot de passe.

Modifiez le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Recherchez les lignes suivantes que vous avez ajoutées précédemment :

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Et remplacez-les par les lignes suivantes :

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow user1 user2 ncsa_users

Enregistrez et fermez le fichier, puis redémarrez le service proxy Squid pour appliquer les modifications :

systemctl restart squid

Étape 6 - Configurer Squid pour anonymiser le trafic

Ensuite, vous devrez ajouter quelques règles pour masquer les adresses IP des clients des serveurs qui reçoivent le trafic de votre proxy HTTP Squid.

Vous pouvez le faire en éditant le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Ajoutez les lignes suivantes au début du fichier :

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Enregistrez et fermez le fichier, puis redémarrez le service proxy Squid pour appliquer les modifications :

systemctl restart squid

Étape 7 - Tester le proxy Squid

À ce stade, votre serveur proxy Squid est configuré pour accepter les connexions client basées sur l'adresse IP et le nom d'utilisateur/mot de passe et gérer de manière anonyme le trafic Internet.

Ensuite, vous devrez configurer les paramètres du navigateur de votre ordinateur client pour utiliser votre serveur Squid comme proxy HTTP.

Sur l'ordinateur client, ouvrez Mozilla Firefox et cliquez sur Modifier => Préférences comme indiqué ci-dessous :

Faites défiler jusqu'à la section Paramètres réseau et cliquez sur Paramètres . Vous devriez voir la page suivante :

Sélectionnez le bouton radio Configuration manuelle du proxy, entrez l'adresse IP de votre serveur Squid dans le champ Hôte HTTP et 3128 dans le champ Port, cochez la case "Utiliser ce serveur proxy pour tous les protocoles" et cliquez sur OK bouton pour enregistrer les paramètres.

Votre navigateur est maintenant configuré pour naviguer sur Internet via le proxy Squid.

Pour le vérifier, tapez l'URL https://www.whatismyip.com/. Il vous sera demandé de fournir un nom d'utilisateur et un mot de passe comme indiqué ci-dessous :

Fournissez le nom d'utilisateur et le mot de passe de votre serveur proxy Squid que vous avez créés précédemment et cliquez sur OK bouton. Vous devriez voir la page suivante :

Sur la page ci-dessus, vous devriez voir l'adresse IP de votre serveur Squid au lieu de l'adresse IP de votre ordinateur client.

Conclusion

Dans le guide ci-dessus, vous avez appris à configurer Squid en tant que serveur proxy HTTP sur CentOS 8 et à configurer votre navigateur pour l'utiliser. Vous pouvez désormais surfer sur le Web de manière anonyme et empêcher Firefox de vous suivre. Essayez Squid sur un compte d'hébergement VPS d'Atlantic.Net dès aujourd'hui !


Linux
  1. Serveur proxy Squid

  2. Comment utiliser la méthode CONNECT sur un proxy HTTP utilisant Telnet ?

  3. Comment Ssh vers un serveur en utilisant un autre serveur ? ?

  4. Comment configurer VSFTPD sur CentOS 8

  5. Comment configurer un serveur proxy squid sur CentOS/RHEL 7

Comment configurer un serveur FTP sur CentOS 8 à l'aide de VSFTPD

Comment configurer un serveur TeamSpeak sur CentOS 7

Comment installer Nginx sur CentOS 7

Comment configurer NGINX sur un serveur CentOS 7

Comment configurer Apache en tant que serveur proxy frontal pour Node.js CentOS 8

Comment installer le serveur proxy Squid sur Ubuntu 18.04