Android

Comment installer et configurer le proxy Squid sur Ubuntu 18.04

Ubuntu Server 18.04 - Install Squid Proxy Server

Ubuntu Server 18.04 - Install Squid Proxy Server

Table des matières:

Anonim

Squid est un proxy de mise en cache complet prenant en charge les protocoles réseau populaires tels que HTTP, HTTPS, FTP, etc. Squid est principalement 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.

Ce didacticiel vous guidera tout au long du processus de configuration d'un proxy Squid sur Ubuntu 18.04 et de configuration des navigateurs Web Firefox et Google Chrome pour l'utiliser.

Installer Squid sur Ubuntu

Le package Squid est inclus dans les référentiels Ubuntu 18.04 par défaut. Pour l'installer, entrez les commandes suivantes en tant qu'utilisateur sudo:

sudo apt update sudo apt install squid

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

Pour vérifier que l'installation a réussi et que le service Squid est en cours d'exécution, tapez la commande suivante qui imprimera l'état du service:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…

Configuration de Squid

Squid peut être configuré en modifiant le fichier /etc/squid/squid.conf . Vous pouvez également utiliser des fichiers séparés avec des options de configuration qui peuvent être incluses à l'aide de la directive «include».

Le fichier de configuration contient des commentaires qui décrivent ce que fait chaque option de configuration.

Avant d'apporter des modifications, il est judicieux de sauvegarder le fichier de configuration d'origine:

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

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

sudo nano /etc/squid/squid.conf

Par défaut, Squid est configuré pour écouter sur le port 3128 sur toutes les interfaces réseau du serveur.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

L'exécution de Squid sur toutes les interfaces et sur le port par défaut devrait convenir à la plupart des utilisateurs.

Dans Squid, vous pouvez contrôler la façon dont les clients peuvent accéder aux ressources Web à l'aide des listes de contrôle d'accès (ACL).

Par défaut, Squid autorise l'accès uniquement à partir de l'hôte local.

Si tous les clients qui utiliseront le proxy ont une adresse IP statique, vous pouvez créer une ACL qui inclura les IP autorisées.

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

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Une fois terminé, 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 en utilisant la directive http_access (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 des règles http_access est important. Assurez-vous d'ajouter la ligne avant que http_access deny all .

La directive http_access 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

Authentification Squid

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

Dans ce didacticiel, 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

Nous utiliserons l' openssl pour générer les mots de passe et ajouter la paire username:password au fichier /etc/squid/htpasswd en utilisant la commande tee comme indiqué ci-dessous:

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

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

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

josh:RrvgO7NxY86VM

Maintenant que l'utilisateur est créé, l'étape suivante consiste à activer l'authentification de base HTTP et à inclure le fichier htpasswd .

Ouvrez la configuration principale et ajoutez les éléments suivants:

/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 liste de contrôle d'accès nommée authenticated et la dernière ligne en surbrillance permet l'accès aux utilisateurs authentifiés.

Redémarrez le service Squid:

sudo systemctl restart squid

Configuration du pare-feu

En supposant que vous utilisez UFW pour gérer votre pare-feu, vous devrez ouvrir le port teg Squid. Pour cela, activez le profil «Squid» qui inclut des règles pour les ports Squid par défaut.

sudo ufw allow 'Squid'

Pour vérifier le type d'état:

sudo ufw status

La sortie ressemblera à ceci:

Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6) Si Squid s'exécute sur un autre port autre que celui par défaut, par exemple 8888 vous pouvez autoriser le trafic sur ce port avec: sudo ufw allow 8888/tcp .

Configuration de votre navigateur pour utiliser le proxy

Maintenant que Squid est installé, la dernière étape consiste à configurer votre navigateur préféré pour l'utiliser.

Firefox

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

  1. Dans le coin supérieur droit, cliquez sur l'icône hamburger pour ouvrir le menu de Firefox:

    Cliquez sur le lien ⚙ Preferences .

    Faites défiler jusqu'à la section Network Settings et cliquez sur le bouton Settings…

    Une nouvelle fenêtre s'ouvrira.

    • Sélectionnez le bouton radio Manual proxy configuration l'adresse IP de votre serveur Squid dans le champ HTTP Host et 3128 dans le champ Port.Sélectionnez la case Use this proxy server for all protocols sur le bouton OK 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 adresse 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 le bouton radio Use system proxy settings et enregistrez les paramètres.

Il existe plusieurs plugins qui peuvent également 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 utiliser un module complémentaire tel que SwitchyOmega ou démarrer le navigateur Web Chrome à partir de la ligne de commande.

Pour lancer Chrome à l'aide d'un nouveau profil et vous 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"

Les fenêtres:

"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 confirmer que le serveur proxy fonctionne correctement, ouvrez google.com et saisissez «quelle est mon adresse IP». L'IP affichée dans votre navigateur doit être l'adresse IP de votre serveur.

Conclusion

Vous avez appris à installer Squid sur Ubuntu 18.04 et à configurer votre navigateur pour l'utiliser.

Squid est l'un des serveurs de mise en cache de proxy les plus populaires. Il améliore la vitesse du serveur Web et peut vous aider à restreindre l'accès des utilisateurs à Internet.

proxy ubuntu