next up previous contents
Next: Translation d'adresses (masquerading, NAT) Up: Toujours plus de sécurité Previous: Toujours plus de sécurité

Mandatement ou relais (serveur proxy)

Utilisé le plus souvent de façon consciente pour le Web et le ftp, mais aussi de façon inconsciente pour le DNS, les news et le mail. Prenons un exemple ``inconscient'', le DNS. Le DNS est le service qui permet de traduire ``kangaroo.krypton.fr'' en 192.168.5.1. Ce service est en UDP, sur le port 53. Comment faire pour permettre aux machines du réseau privé d'utiliser DNS sans leur ouvrir un port UDP vers le reste du monde? Tout simplement en installant un serveur DNS à l'intérieur du réseau. Comme dans la plupart des cas, c'est déjà fait... Ensuite, il suffit d'autoriser les traffic UDP sur le port 53, mais uniquement pour le serveur DNS. Généralement, les serveurs DNS sont configurés de façon à résoudre d'eux même les adresses locales (le serveur DNS de toto.com connaît les adresses de toutes les machines de son domaine - logique), et à relayer la requête à un autre serveur lorsqu'ils ignorent la réponse. Ils gardent ensuite cette réponse en mémoire pour référence ultérieure.

Autre exemple d'utilisation naturelle d'un système de relais : l'e-mail, et aussi je suppose la plupart des messageries électroniques. Lorsqu'on envoie un message à quelqu'un sur un site, on ne contacte jamais directement la machine de l'utilisateur, ni même parfois le serveur de messagerie du site : on envoie le courrier à son serveur SMTP, et lui va le transmettre au serveur du site du destinataire. Dernier exemple : les forums de discussion USENET (les fameux ``newsgroups'') ; quand un site monte son propre serveur news, cela permet aux utilisateurs d'y avoir accès sans se connecter à l'extérieur. Tous ces serveurs - DNS, mail, news se trouvent généralement dans la DMZ, ou, pour les petits sites, sur le firewall (ce qui est extrêmement déconseillé!)

Petite note culturelle : on traduit parfois ``gateway'' par passerelle, et on est alors amené a employé ce terme pour désigner un routeur. Comme me l'a fait remarquer quelqu'un qui semble en connaître assez long sur ce sujet :-), un routeur désigne un élément matériel (avec éventuellement un peu de logiciel) destiné, comme son nom l'indique, à router des paquets, c'est à dire les envoyer vers tel ou tel endroit afin de les approcher de leur destination finale. Exemple de routeur : les plus ou moins petites boîtes magiques portant des étiquettes prestigieuses comme Cisco, Ascend... Ou encore, une machine sous Linux avec le noyau approprié. Une passerelle, par contre, est essentiellement logicielle, exemple : un serveur de messagerie qui relaie du courrier électronique.

Ensuite, les exemples ``conscients'' : c'est le cas du proxy Web. Dans la plupart des navigateurs actuels, on peut spécifier un ``serveur proxy'', et au lieu de contacter directement le site, le navigateur demandera à ce fameux serveur de faire la requête à sa place. Là encore, ce serveur est dans la DMZ. Il existe aussi certains firewall (exemple : le système SOCKS) qui permettent d'ouvrir arbitrairement des ports, moyennant un compte sur le firewall. Ainsi on peut communiquer plus librement, mais chaque connexion est enregistrée dans un ``log'' (fichier journal) qui servira en cas d'incident de sécurité.


next up previous contents
Next: Translation d'adresses (masquerading, NAT) Up: Toujours plus de sécurité Previous: Toujours plus de sécurité
Jerome PETAZZONI
1999-04-02