Product SiteDocumentation Site

11.6. Mandataire HTTP/FTP

Un mandataire HTTP/FTP (ou proxy) est un intermédiaire pour les connexions HTTP et/ou FTP. Son rôle est double :
Le serveur mandataire employé par Falcot SA est Squid.

11.6.1. Installation

Le paquet Debian squid3 n'est qu'un mandataire modulaire. Pour le transformer en serveur filtrant, il faut lui adjoindre le paquet squidguard. Le paquet squid-cgi permet d'interroger et d'administrer un mandataire Squid.
Préalablement à l'installation, il faut vérifier que le système est capable d'identifier son nom complet. La commande hostname -f doit renvoyer un nom long (incluant un nom de domaine). Si ce n'est pas le cas, il faut modifier /etc/hosts pour documenter le nom complet du système (exemple : arrakis.falcot.com). N'hésitez pas à faire valider le nom officiel de l'ordinateur avec votre administrateur réseau afin de ne pas créer de conflits inutiles.

11.6.2. Configuration d'un cache

Pour activer la fonctionnalité de serveur cache, il suffit de modifier le fichier de configuration /etc/squid3/squid.conf pour autoriser les machines du réseau local à effectuer des requêtes au travers du mandataire. L'exemple ci-dessous montre les modifications effectuées par les administrateurs de Falcot SA.

Exemple 11.25. Extrait du fichier /etc/squid3/squid.conf

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all

11.6.3. Configuration d'un filtre

Le filtrage des requêtes n'est pas effectué par squid mais par squidGuard. Il faut donc configurer squid pour qu'il interagisse avec ce dernier, ce qui s'effectue en ajoutant au fichier /etc/squid3/squid.conf la directive suivante :
url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf
Il faut également installer le programme CGI /usr/lib/cgi-bin/squidGuard.cgi à partir du fichier d'exemple squidGuard.cgi.gz, que l'on trouve dans le répertoire /usr/share/doc/squidguard/examples/. On modifiera ce script en changeant les variables $proxy (nom du serveur mandataire) et $proxymaster (courrier électronique de contact de l'administrateur). Les variables $image et $redirect devront pointer sur des images existantes, symbolisant le refus d'accéder à la page demandée.
La commande service squid3 reload active le filtre. Le paquet squidguard n'offrant aucun filtrage par défaut, l'administrateur a la responsabilité de le définir. Pour cela, il doit créer le fichier /etc/squid3/squidGuard.conf, en utilisant éventuellement /etc/squidguard/squidGuard.conf.default comme modèle.
Après chaque modification du fichier de configuration de squidGuard ou de l'une des listes de domaines ou d'URL qu'il mentionne, il est nécessaire de régénérer la base de données de travail. Cela s'effectue en exécutant la commande update-squidguard. Le format du fichier de configuration est documenté sur le site web suivant :