Tutoriel Créer un serveur proxy HTTP (Squid)

Zalati

Administrateur
Membre du personnel
Administrateur
Auteur de la discussion #1
1. Installer le proxy
Pour installer Squid tapez dans un terminal :
Bash:
sudo aptitude install squid

2. Configurer le proxy
La configuration de Squid se fait en éditant le fichier /etc/squid/squid.conf
Pour éditer ce fichier, appuyez sur Alt+F2 et :
Bash:
gksu gedit /etc/squid/squid.conf

2.1 Nommer le proxy
Squid a besoin de connaître le nom de la machine. Pour cela, repérez la ligne visible_hostname. Par exemple, si la machine s'appelle 'ubuntu', mettez:
Bash:
visible_hostname ubuntu

2.2 Choisir le port
Par défaut, le serveur proxy sera en écoute sur le port 3128. Pour choisir un autre port, repérez la ligne:
Bash:
http_port 3128
et changez le numéro de port, par exemple:
Bash:
http_port 3177

2.3 Choisir l'interface
Par défaut le serveur proxy sera en écoute sur toutes les interfaces. Pour des raisons de sécurité, il ne faut le mettre en écoute que sur votre réseau local. Par exemple si la carte réseau reliée à votre LAN a l'IP 10.0.0.1, modifiez la ligne:
Bash:
http_port 10.0.0.1:3177

2.4 Définir les droits d'accès
Par défaut, personne n'est autorisé à se connecter au serveur proxy, sauf votre machine elle-même. Il faut créer une liste d'autorisations.
Par exemple, on va définir un groupe englobant tout le réseau local.

Repérez la ligne du fichier commençant par acl localhost...
A la fin de la section, ajoutez:
Bash:
acl lanhome src 10.0.0.0/255.255.255.0
(lanhome est un nom arbitraire que nous avons choisi).



2.5 Autoriser le groupe
Maintenant que le groupe est défini, nous allons l'authoriser à utiliser le proxy. Repérez la ligne http_access allow...
et ajoutez en dessous (avant la ligne http_access deny all)
Bash:
http_access allow lanhome


2.6 Autoriser les ports non standards
Par défaut, Squid n'autorise le traffic HTTP que sur certains ports (80, etc.) Cela peut poser problème pour certains sites utilisant d'autres ports.
Exemple: http://toto.com:81/images/titi.png serait bloqué par Squid.

Pour éviter ce blocage, trouvez la ligne:
http_access deny !Safe_ports

et commentez-la:
#http_access deny !Safe_ports

3. Démarrer le proxy
(re)démarrez le proxy pour qu'il prenne en compte la configuration que nous venons de modifier. Tapez:
Bash:
sudo /etc/init.d/squid restart
À partir de là, le proxy devrait fonctionner. Il suffit de configurer les différents logiciels pour qu'ils l'utilisent.

Logs du serveur
les logs du proxy sont situés dans /var/log/squid/access.log

Changer la taille du cache
Par défaut, le cache de Squid est activé, ce qui permet d'accélérer le chargement de certaines pages. La taille par défaut est de 100 Mo (situé dans /var/spool/squid).

Pour changer sa taille, modifiez le fichier /etc/squid/squid.conf
Trouvez la ligne:
# cache_dir ufs /var/spool/squid 100 16 256

Et décommentez-la. Vous pouvez changer la valeur 100 par ce que vous voulez (par exemple 200 pour 200 Mo):
cache_dir ufs /var/spool/squid 200 16 256

Fonctions et modules supplémentaires
Squid possède plein d'options et modules :
  • préfetch (pour précharger les pages et ainsi accélérer la navigation)
  • filtres antivirus, antipopups, etc...
  • contrôle d'accès au proxy par login et mot de passe.
  • contrôle d'accès en fonction des heures.
  • etc...
Pour cela, ouvrez Synaptic, et cliquez sur le bouton "Rechercher" et entrez "squid" pour trouver les modules en relations avec Squid.
Consultez la documentation de chaque module et la documentation de Squid pour plus d'informations.
 
Dernière édition:
Haut