GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer Squid Proxy sur Debian 10 Linux

Squid est un proxy de mise en cache complet prenant en charge les protocoles réseau populaires tels que HTTP, HTTPS, FTP, etc. Il peut être utilisé pour améliorer les performances du serveur Web en mettant en cache les demandes répétées, en filtrant le trafic Web et en accédant au contenu géo-restreint.

Dans ce tutoriel, nous expliquerons comment configurer un proxy Squid sur Debian Buster. Nous vous montrerons également comment configurer les navigateurs Web Firefox et Google Chrome pour l'utiliser.

Installer Squid sur Debian #

Le paquet Squid est inclus dans la norme sur les dépôts Debian 10. Exécutez les commandes suivantes en tant qu'utilisateur sudo pour installer Squid :

sudo apt updatesudo apt install squid

Une fois l'installation terminée, le service Squid démarrera automatiquement.

Vérifiez que l'installation a réussi et que le service Squid est en cours d'exécution en vérifiant l'état du service Squid :

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago
...

Configuration de Squid #

Squid peut être configuré en éditant le /etc/squid/squid.conf fichier de configuration. Des fichiers de configuration distincts peuvent être inclus à l'aide de la directive "include".

Le squid.conf le fichier de configuration inclut des commentaires décrivant ce que fait chaque option de configuration.

Avant d'apporter des modifications, il est toujours conseillé de sauvegarder le fichier d'origine :

sudo cp /etc/squid/squid.conf{,.orginal}

Pour modifier la configuration, ouvrez le fichier dans votre éditeur de texte :

sudo nano /etc/squid/squid.conf

Par défaut, Squid écoute sur le port 3128 sur toutes les interfaces réseau.

Si vous souhaitez modifier le port et définir une interface d'écoute, recherchez la ligne commençant par http_port et spécifiez l'adresse IP de l'interface et le nouveau port. Si aucune interface n'est spécifiée, Squid écoutera sur toutes les interfaces.

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

Exécuter Squid sur toutes les interfaces et sur le port par défaut devrait convenir à la plupart des utilisateurs.

Les listes de contrôle d'accès (ACL) vous permettent de contrôler la façon dont les clients peuvent accéder aux ressources Web. Par défaut, Squid n'autorise l'accès qu'à partir de l'hôte local.

Si tous les clients qui utiliseront le proxy ont une adresse IP statique, l'option la plus simple consiste à créer une ACL qui inclura les adresses IP autorisées.

Au lieu d'ajouter les adresses IP dans le fichier de configuration principal, nous allons créer un nouveau fichier d'inclusion qui stockera les adresses IP :

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

Une fois cela fait, ouvrez le fichier de configuration principal et créez une nouvelle ACL nommée allowed_ips (première ligne en surbrillance) et autorisez l'accès à cette ACL à l'aide de http_access directive (deuxième ligne en surbrillance) :

/etc/squid/squid.conf
# ...
acl allowed_ips  src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

L'ordre du http_access les règles sont importantes. Assurez-vous d'ajouter la ligne avant http_access deny all .

Le http_access La directive fonctionne de la même manière que les règles de pare-feu. Squid lit les règles de haut en bas, et lorsqu'une règle correspond, les règles ci-dessous ne sont pas traitées.

Chaque fois que vous apportez des modifications au fichier de configuration, vous devez redémarrer le service Squid pour que les modifications prennent effet :

sudo systemctl restart squid

Numéro d'authentification Squid

Squid peut utiliser différents back-ends, y compris Samba, LDAP et l'authentification de base HTTP pour les utilisateurs authentifiés.

Dans cet exemple, nous allons configurer Squid pour utiliser l'authentification de base. Il s'agit d'une méthode d'authentification simple intégrée au protocole HTTP.

Nous utiliserons le openssl utilitaire pour générer les mots de passe et ajouter le username:password coupler au /etc/squid/htpasswd fichier avec le tee commande comme indiqué ci-dessous :

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Créons un utilisateur nommé "buster" avec le mot de passe "Sz$Zdg69 " :

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
buster:RrvgO7NxY86VM

L'étape suivante consiste à activer l'authentification de base HTTP. Ouvrez la configuration principale et ajoutez ce qui suit :

/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

Les trois premières lignes en surbrillance créent une nouvelle ACL nommée authenticated et la dernière ligne en surbrillance autorise l'accès aux utilisateurs authentifiés.

Redémarrez le service Squid :

sudo systemctl restart squid

Configuration du pare-feu #

Les utilisateurs UFW peuvent ouvrir le port 3128 en activant le profil "Squid":

sudo ufw allow 'Squid'

Si vous utilisez nftables pour filtrer les connexions à votre système, ouvrez les ports nécessaires en exécutant la commande suivante :

sudo nft add rule inet filter input tcp dport 3128 ct state new,established counter accept
Si Squid s'exécute sur un autre port autre que celui par défaut, vous devrez autoriser le trafic sur ce port.

Configuration de votre navigateur pour utiliser le proxy #

Dans cette section, nous vous montrons comment configurer votre navigateur pour utiliser le proxy Squid.

Firefox #

Les étapes ci-dessous sont les mêmes pour Windows, macOS et Linux.

  1. En haut à droite, cliquez sur l'icône hamburger pour ouvrir le menu de Firefox :

  2. Cliquez sur ⚙ Preferences lien.

  3. Faites défiler jusqu'à Network Settings section et cliquez sur Settings... bouton.

  4. Une nouvelle fenêtre s'ouvrira.

    • Sélectionnez la Manual proxy configuration bouton radio.
    • Entrez l'adresse IP de votre serveur Squid dans HTTP Host champ et 3128 dans le Port champ.
    • Sélectionnez Use this proxy server for all protocols case à cocher.
    • Cliquez sur OK bouton pour enregistrer les paramètres.

À ce stade, votre Firefox est configuré et vous pouvez naviguer sur Internet via le proxy Squid. Pour le vérifier, ouvrez google.com , tapez "quelle est mon ip" et vous devriez voir l'adresse IP de votre serveur Squid.

Pour revenir aux paramètres par défaut, accédez à Network Settings , sélectionnez Use system proxy settings bouton radio et enregistrez les paramètres.

Il existe également plusieurs plugins qui peuvent vous aider à configurer les paramètres de proxy de Firefox tels que FoxyProxy.

Google Chrome#

Google Chrome utilise les paramètres de proxy système par défaut. Au lieu de modifier les paramètres de proxy de votre système d'exploitation, vous pouvez soit utiliser un module complémentaire tel que SwitchyOmega, soit démarrer le navigateur Web Chrome à partir de la ligne de commande.

Pour lancer Chrome avec un nouveau profil et se connecter au serveur Squid, utilisez la commande suivante :

Linux :

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

macOS :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

Windows :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

Le profil sera créé automatiquement s'il n'existe pas. De cette façon, vous pouvez exécuter plusieurs instances de Chrome en même temps.

Pour vérifier que le serveur proxy fonctionne correctement, ouvrez google.com , et tapez "quelle est mon adresse IP". L'adresse IP affichée dans votre navigateur doit être l'adresse IP de votre serveur.


Debian
  1. Comment installer et configurer Squid Proxy sur Ubuntu 18.04

  2. Comment installer et configurer ZFS sur Linux avec Debian Jessie 8.1

  3. Comment installer et configurer docker sur Debian 11

  4. Comment installer et configurer Squid Proxy sur Debian 11

  5. Comment installer et configurer Squid Proxy sur Rocky Linux/Alma Linux 8

Comment installer et configurer Monit sur Debian 9

Comment installer et configurer Squid Proxy dans Ubuntu, Linux Mint

Comment installer et configurer Nagios sous Linux

Comment installer et configurer Samba sur Debian 11

Comment installer et configurer Git dans Debian 11

Comment installer et configurer Squid Proxy sur le système Linux