Configurer la découverte automatique du proxy avec WPAD

WPAD[1] est un protocole qui permet la découverte automatique du proxy par les navigateurs.

Le principe est simple, si le navigateur est configuré pour détecter automatiquement la configuration du proxy, il essayera de télécharger le fichier : wpad.<domaine_local>/wpad.dat ou le fichier proxy.pac.

Configuration côté client

Détection automatique du proxy dans Firefox
Détection automatique du proxy dans Firefox

Par défaut, les adresses pour lesquelles le proxy ne sera pas utilisé sont : 127.0.0.1 et le réseau local.

Truc & astuce

La détection automatique du proxy par les navigateurs peut être imposée par des outils tels que :

  • ESU/client Scribe ;
  • Gaspacho.

Dans le cas de l'activation du proxy Cntlm[2] le numéro de port change mais sa prise en charge est automatisée, il n'y a donc rien à faire.

Configuration côté serveur

Pour fonctionner correctement, WPAD a besoin de trois éléments qui sont pris en charge par EOLE :

  • un serveur web qui diffuse le fichier, dans le cadre d'EOLE, c'est le service Nginx[3] qui se charge de distribuer les fichiers wpad.dat adaptés à chacun des sous-réseaux.

  • un nom de domaine wpad.<nom_domain_local> qui pointe vers le serveur web ;

  • un serveur DHCP configuré pour envoyer le chemin du fichier.

Par défaut, la configuration est correctement définie sur un AmonEcole mais dans le cadre d'un environnement Amon / Scribe ou Amon / Horus il faut configurer correctement les deux modules.

Configuration sur le module Scribe

Le serveur DHCP doit être activé et correctement configuré sur le module Scribe (ou AmonEcole).

Dans l'interface de configuration du module en mode expert, dans l'onglet Dhcp, le champ Nom de domaine du serveur WPAD permet de configurer le nom de domaine du serveur WPAD.

Attention

Même s'il est possible d'utiliser n'importe quel domaine, il est conseillé d'utiliser la même valeur que celle utilisée pour le nom de domaine local.

Remarque

Pour les postes de travail Windows c'est la valeur du champ Nom de domaine du serveur WPAD qui sera utiliser pour accéder au fichier WPAD tandis que pour des postes de travail GNU/Linux c'est le nom de domaine local qui sera utilisé pour accéder au fichier WPAD.

Dans l'interface de configuration du module, en mode expert, il faut saisir dans le Nom de domaine du serveur WPAD de l'onglet Dhcp la même valeur que celle du champ Nom de domaine privé du réseau local de l'onglet Général.

Attention

Pour être pris en compte, les changements doivent être enregistrés et suivis de la commande reconfigure sur le module.

Configuration sur le module Amon

WPAD est mis à disposition sur les modules Amon et AmonEcole au travers du paquet eole-wpad.

Sur un module personnalisé, il n'est fonctionnel que si le paquet eole-proxy est installé.

Pour fonctionner correctement, il faut que l'URL wpad.<nom_domaine_local> correspondre à l'adresse IP du serveur web.

Le support de WPAD doit être activé et correctement configuré sur le module Amon.

Activation de WPAD dans l'onglet Services
Activation de WPAD dans l'onglet Services

Dans l'onglet Services de l'interface de configuration du module Activer le support de WPAD doit être placé à oui.

Vue de l'onglet Wpad dans l'interface de configuration du module
Vue de l'onglet Wpad dans l'interface de configuration du module

Cela rend disponible l'onglet Wpad au sein duquel le Nom de domaine du service WPAD doit être rempli avec la même valeur que le Nom de domaine privé du réseau local présent dans l'onglet Général.

Attention

Si vous souhaitez utiliser un autre nom de domaine qui ne correspondrait pas au Nom de domaine privé du réseau local de l'onglet Général, il faut le déclarer dans le champ Nom domaine local supplémentaire ou rien de l'onglet Zones-dns.

Attention

Pour être pris en compte, les changements doivent être enregistrés et suivis de la commande reconfigure sur le module.

Truc & astuce

WPAD supporte les VLAN et les alias, Nginx renvoie le bon fichier WPAD si des VLAN ou des alias sont déclarés.

En mode expert, Il est également possible de changer le port du proxy diffusé par défaut pour une interface, un VLAN ou un alias donné.

Ajouter des exclusions dans la configuration automatique du proxy

Dans l'onglet Exceptions proxy de l'interface de configuration du module il est possible d'ajouter des exclusions dans la configuration automatique du proxy.

Il est possible de déclarer différents types d'exceptions.

Exception de proxy pour des domaines de destination

Cette exception commune à ERA et à WPAD permet de déclarer un domaine de destination pour lequel on ne passe pas par le proxy.

Il est possible d'ajouter plusieurs exceptions sur une même interface.

Il est également possible de fournir une liste de noms de domaine ou d'IP à inclure dans les exceptions au proxy depuis une URL, en activant la variable Télécharger et appliquer des exceptions de domaine depuis une URL.

Attention

Si vous utilisez une copie des modèles ERA fournis, il faudra l'adapter pour obtenir les règles supplémentaires

Exception au niveau de l'authentification des domaines de destination

Cette exception permet de déclarer des sites pour lesquels le proxy ne demandera pas l'authentification à l'utilisateur qui souhaite y accéder.

Si cNTLM et WPAD sur activés sur l'interface réseau, les utilisateurs utiliseront directement Squid (sans passer par cNTLM) pour accéder à ces sites.

Remarque

Les domaines commençants par un . sont gérés, le domaine lui-même et les sous-domaines ne sont pas authentifiés.

Exemple

Si on spécifie la valeur .ac-dijon.fr alors ac-dijon.fr et www.ac-dijon.fr seront autorisés sans authentification.

Complément

Une liste de sites à ne pas authentifier par défaut est stockée dans la variable cachée proxy_noauth_auto.

Il est possible de l'afficher dans l'onglet Exceptions proxy de l'interface de configuration du module en activant le mode Debug.

Cette variable reprend la liste des sites qui étaient dans le template domaines_noauth des versions EOLE antérieures à 2.5.2.

Exceptions de proxy pour des IP et adresses réseaux de destination

Cette exception commune à ERA et à WPAD permet de déclarer une adresse IP ou une plage d'adresses IP de destination pour laquelle on ne passe pas par le proxy.

Le bouton Exceptions de type réseau pour l'interface n permet d'ajouter plusieurs exceptions sur une même interface.

Exceptions de proxy pour des IP et adresses réseaux source

Cette exception spécifique à ERA permet de déclarer une adresse IP ou une plage d'adresses IP source pour laquelle on ne passe pas par le proxy.

Le bouton + Exception source de type réseau pour l'interface n permet d'ajouter plusieurs exceptions sur une même interface.

Attention

Cette fonctionnalité permet à une machine de contourner le proxy ce qui constitue un non respect des règles légales de sécurité. Elle peut servir pour effectuer des tests de proxy et d'exceptions de filtrage.

Exception sur un nom d'hôte (spécifique à WPAD)

L'exception sur un nom d'hôte s'effectue sur le nom d'hôte et sur le nom d'hôte complet.

Il faut choisir une interface ou toutes les interfaces sur lesquelles l'exception sera appliquée. Le bouton + Ne pas passer par le proxy pour l'hôte ou le domaine permet d'ajouter plusieurs exceptions sur une même interface.

Ce type d'exception étant spécifique à WPAD, il n'est pas prise en compte par les autres services gérant des exceptions au niveau du proxy.

Exemple

Si le champ Ne pas passer par le proxy pour l'hôte ou le domaine a comme valeur www.ac-monacad.fr, le fichier WPAD.dat généré contiendra la ligne || localHostOrDomainIs(host, "www.ac-monacad.fr") qui permet d'exclure simplement des URLs.

Complément

Compléments sur Ne pas passer par le proxy pour le domaine (dnsDomainIs) :

http://findproxyforurl.com/netscape-documentation/#dnsDomainIs

Compléments sur Ne pas passer par le proxy pour l'hôte ou le domaine (localHostOrDomainIs) :

http://findproxyforurl.com/netscape-documentation/#localHostOrDomainIs