5Juin

Comment installer et configurer un proxy sur votre serveur avec Squid

Dans ce tuto on va voir comment installer et configurer Squid Proxy sur notre serveur Ubuntu 14.04.

Squid est un serveur mandataire, en anglais un proxy, entièrement libre et très performant. Squid est capable de gérer les protocoles FTP, HTTP, HTTPS et Gopher. Il est généralement utilisé dans certaines entreprises et universités pour des fonctions de filtrage d’URL ou en tant que tampon. Les pages Internet sont stockées localement ce qui évite d’aller les recharger plusieurs fois et permet d’économiser la bande passante Internet.

Source : ubuntu-fr.org

 

1. Installation

 

On commence par executer la commande suivante pour mettre à jour les sources Aptitude :

$ sudo apt-get update

 

Et après la mise à jour on lance l’installation de Squid :

$ sudo apt-get install squid

 

2. Configuration de Squid

 

Après l’installation on modifie le fichier de configuration de Squid /etc/squid3/squid.conf   avec l’éditeur de texte de notre choix (Vim, Nano … ) :

$ sudo vim /etc/squid3/squid.conf

 

On change ensuite la ligne suivante :

http_access deny all

 

Elle devient :

http_access allow all

 

Et pour activer les modifications on doit redémarrer Squid avec la commande suivante :

$ sudo service squid restart

 

Si tout va bien on aura l’output suivant :

squid3 stop/waiting
squid3 start/running, process 4481

 

On peut maintenant tester le proxy, je vais utiliser Firefox juste comme exemple, dans Préférences > Avancé > Réseaux > Paramètres,  on ajoute l’adresse IP du serveur,  le port 3128 et on coche la case « Utiliser ce serveur proxy pour tous les protocoles »  :

 

squid1

 

Et voilà vous pouvez tester la nouvelle adresse IP sur un site comme whatsmyip.

 

3. Ajouter un mot de passe

 

Vu qu’on a donné l’accès au serveur à tout le monde dans l’étape 2, on va ajouter un nom d’utilisateur et mot de passe à Squid, pour le faire il faut installer l’utilitaire htpasswd , on execute la commande suivante :

 

$ sudo apt-get install apache2-utils

 

Ensuite on va créer un nouveau fichier pour enregistrer le nom d’utilisateur et mot de passe et on change les droits d’accès pour l’utilisateur « proxy » :

$ sudo touch /etc/squid3/squid_passwd
$ sudo chown proxy /etc/squid3/squid_passwd

 

Maintenant on ajoute l’utilisateur « fethi » par exemple, avec la commande suivante :

$ sudo htpasswd /etc/squid3/squid_passwd fethi

 

Le sytème va demander de faire entrer un mot de passe avec confirmation pour cet utilisateur :

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

 

On peut ajouter des utilisateurs avec l’exécution de cette commande à tout moment.

Maintenant on modifie la ligne « http_access allow all » de l’étape 2 en ajoutant les 2 lignes  suivantes juste avant dans le fichier de configuration /etc/squid3/squid.conf :

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd
acl basic_ncsa_users proxy_auth REQUIRED
http_access allow basic_ncsa_users

 

Pour activer les modifications on redémarre Squid :

$ sudo service squid restart

 

Maintenant Firefox va demander de faire entrer le nom d’utilisateur et mot de passe pour continuer :

 

squid2

 

Et voilà !

 

4. Navigation anonyme

 

Pour rendre la navigation anonyme et cacher notre IP des sites visités, on ajoute les lignes suivantes dans le fichier de configuration /etc/squid3/squid.conf :

 

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

 

On redémarre Squid  :

$ sudo service squid restart

 

Et voilà 🙂

 

Pour plus d’informations :

Squid : serveur mandataire (proxy).

Creating an HTTP Proxy Using Squid on Ubuntu.

How To Install And Configure Squid Proxy On Ubuntu And Debian.

Partager cet Article

2 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont marqués *

*

Fethi El Hassasna © Copyright 2017, Tous droits réservés