Un proxy est un composant logiciel informatique qui joue le rôle d'intermédiaire en se plaçant entre deux hôtes pour faciliter/surveiller ou contrôler leurs échanges.

Cette page va donc expliquer la mise en place d'un proxy avec Squid.

Présentation

Squid est un proxy capable d'utiliser les protocoles FTP, HTTP, Gopher, et HTTPS. C'est un logiciel libre écrit en C et C++ distribué sous licence GNU GPL.

Installation

Debian:

aptitude install squid

Centos:

yum install squid.x86_64

FreeBSD:

#Avec pkg
pkg install squid
#Avec ports
cd /usr/ports/www/squid33
make config-recursive
make
make install
#Activation de squid au démarrage
echo "squid_enable='YES'" >/etc/erc.conf

Configuration

La configuration se fait dans le dossier de squid, soit: /etc/squid pour Debian et Centos et dans /usr/local/etc/squid pour FreeBSD
La plupart de la conf s'effectue dans le fichier squid.conf

Par domaine

 

Par mots

Pour filtrer par regex, il suffis de créer une règle dans le fichier squid.conf et d'appliquer une action dessus:

acl badsites1 url_regex -i "/usr/local/etc/squid/rsites"
http_access deny badsites1

On crée le fichier badsites 1 dans lequel seront mises les regex a match:

badsites.txt
[Pp]orn
[Ff]acebook

Ceci refusera toutes les url contenant les mots porn et facebook

Avec authentification

On génere un fichier contenant l'utilisateur ainsi que son mot de passe avec la commande suivante:

htpasswd -c -b fichier user passwd

Dans le fichier de conf de squid on ajoute le chemin de l'exécutable ncsa_auth ainsi que le fichier contenant l'utilisateur et son mot de passe

auth_param basic program /usr/local/libexec/squid/basic_ncsa_auth /usr/local/etc/squid/passwd

Si on ne sait pas ou se trouve ncsa_auth, on peut le trouver en utilisant:

find / | grep "ncsa_auth"

On rajoute la règle concernant l'authentification

acl users proxy_auth REQUIRED
http_access allow users
wiki/proxy.txt · Dernière modification: 2018/04/23 19:13 (modification externe)
CC0 1.0 Universal
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5