PROXY ET REVERSE PROXY
HIDAR Tarik
C'est quoi un proxy ?
Un serveur proxy, appelé également serveur mandataire,
est un serveur qui jouera le rôle d'intermédiaire entre
un client et un serveur distant. Par exemple, entre les
ordinateurs connectés au réseau local d'une entreprise et
Internet (et ses milliards de sites).
Jouer le rôle d'intermédiaire entre deux hôtes, c'est-à-dire ?
Dans quel but ? En se positionnant entre le client source et
le serveur cible, le serveur proxy va pouvoir réaliser
plusieurs actions :
•Filtrage,
•Cache,
•Compression
•Journalisation,
•Anonymat,
•Droits d'accès
A. Proxy et proxy transparent
•Un proxy (classique)
Le proxy doit être déclaré sur le poste client afin
que ce dernier soit configuré de manière à passer
par le proxy lorsqu'une requête est envoyée, plutôt
que de contacter directement l'hôte distant. Si le
serveur proxy n'est pas configuré sur le poste
client, alors la requête sera envoyée directement
au serveur distant, comme si le serveur proxy
n'existait pas.
•Un proxy transparent (implicite)
Lors de l'utilisation d'un proxy transparent, appelé
aussi proxy implicite, le proxy ne doit pas être
configuré sur le poste et ce dernier l'utilisera sans
s'en rendre compte, car le proxy sera utilisé
comme passerelle au niveau de la configuration du
poste client. C'est la configuration idéale pour
filtrer le trafic émis par les postes clients.
Dans ce cas, la fonction de pare-feu et de
serveur proxy transparent sont
généralement regroupée sur un même
serveur/équipement. Même si l'on pourrait mettre
Le proxy se configure au niveau de chaque
logiciel, ou au niveau du système
d’exploitation.
Soit on effectue la configuration poste par
poste, ou alors par GPO pour automatiser le
déploiment de l’adresse du proxy.
La GPO peut configure le proxy directement ou
indiquer l’emplacement d’un script d’auto-
configuration avec une function JAVASCRIPT
nommée “FindProxyForURL” Fichier avec
extension PAC pour “Proxy Automatic
Configuration”
Le proxy se configure au niveau de chaque
logiciel, ou au niveau du système
d’exploitation.
Soit on effectue la configuration poste par
poste, ou alors par GPO pour automatiser le
déploiment de l’adresse du proxy.
La GPO peut configure le proxy directement ou
indiquer l’emplacement d’un script d’auto-
configuration avec une function JAVASCRIPT
nommée “FindProxyForURL” Fichier avec
extension PAC pour “Proxy Automatic
Configuration”
Quels logiciels pour mettre en place un proxy ?
Pour mettre en place un serveur Proxy, il existe de nombreuses
solutions. Certaines sont gratuites, d'autres sont payantes. Lorsque
l'on parle de serveur proxy, a savoir squid
Squid est un logiciel qui permet de monter un proxy (et même un reverse proxy) sous Linux
, il est performant et très célèbre. Il est toujours maintenu aujourd'hui et sa première
version date de juillet 1996 ! Si vous montez un pare-feu avec PfSense, il est possible
d'installer le paquet "Squid" pour ajouter la fonctionnalité de proxy à son pare-
feu. En complément, l'installation du paquet "Squid-Guard" permettra d'effectuer du
filtrage Web.
Port utilisé par un serveur proxy
Il n'y a pas de port associé obligatoirement aux serveurs proxy, car ce
n'est pas un protocole en soi. Malgré tout, il y a deux ports que l'on voit
très souvent : 3128 et 8080. Pourquoi ? Tout simplement parce que le port
3128 est utilisé par défaut par Squid, et la popularité de ce logiciel fait que
l'on associe souvent le port 3128 à la notion de proxy. Un autre numéro de
port que l'on rencontre souvent est le 8080
Contourner les restrictions avec un proxy
Grâce à un proxy, on va pouvoir contourner les restrictions, que ce soit les
restrictions géographiques ou les restrictions appliquées au sein d'un
réseau local de votre entreprise (par un pare-feu, par exemple).
Pour contourner cette restriction, vous pouvez vous appuyer sur un proxy externe
situé sur Interne
•Si le pare-feu effectue du filtrage DNS ou de site Web, il y a de fortes chances
qu'il bloque une liste de proxy connu pour être utilisé pour contourner les
restrictions.
•Si le proxy écoute sur un port particulier comme le 3128 ou le 8080 et que le
pare-feu n'autorise pas ces ports en sortie vers Internet, la connexion vers le
proxy ne pourra pas aboutir.
C'est quoi un reverse proxy ?
À l'inverse du proxy, le reverse proxy comme son nom l'indique fonctionne à l'inverse,
c'est-à-dire qu'il permet aux utilisateurs externes d'accéder à une ressource du
réseau interne.
Le client n'a pas de visibilité sur le ou les serveurs cachés derrière le reverse
proxy. Le reverse proxy agit comme une barrière de protection vis-à-vis des serveurs
du réseau interne, et il va permettre de publier la ressource de façon sécurisée.
Si le serveur reverse proxy est un serveur à part entière, on va venir le positionner
en DMZ
Quels logiciels pour mettre en place un reverse
proxy ?
Pour mettre en œuvre un reverse proxy, il existe plusieurs
solutions open source très connue
• HAProxy
• Apache et son module mod_proxy
• Nginx
• Squid
• Pfsense