Voici l'architecture sur laquelle nous allons monter ce système :
Nous disposons d'un ou de plusieurs postes de travail, qui accèdent à l'internet via un routeur NAT, faisant également office de pare-feu.
La solution triviale serait d'installer notre proxy POP3 sur le routeur lui-même, mais ce n'est pas forcément une bonne solution, d'abord parce que nous verrons que Clamav consomme énormément de ressources, ensuite parce que ce routeur peut très bien être une “boite noire” spécialisée, sur laquelle nous ne pouvons rien installer.
La solution qui reste est donc d'ajouter sur notre réseau local une machine dédiée au serveur mandataire et à l'antivirus. Nous trouverons bien un moyen d'y envoyer les flux POP3 à destination d'hôtes de l'internet.
Cette architecture pourrait suffire, nous allons cependant faire plus riche en ajoutant encore une nouvelle machine :
La passerelle « miroir » va être configurée comme un routeur, mais avec une seule patte. En gros, tout flux sortant du ou des postes de travail vers l'internet sera dirigé dessus, à charge pour ce miroir de re-diriger les flux :
Les chemins empruntés par les flux seront quelque chose de ce genre :
Rappelons qu'un serveur mandataire joue en quelque sorte le rôle d'une passerelle, mais au niveau de l'application et non au niveau IP. Le fait qu'il soit transparent va faire que :
Le client, en temps normal n'y verra que du feu, n'aura pas besoin de la moindre modification dans sa configuration. Tout se fait dans son dos.
L'intérêt d'ajouter cette passerelle intermédiaire a un double avantage :
Pratiquement, nous verrons, lorsque nous aurons bien compris le mécanisme, que la fonction de routage intermédiaire dévolue à cette machine peut être reportée sur le mandataire POP3 lui-même, si l'on veut faire plus simple.
Dans la suite de cet exposé, la passerelle miroir et le proxy POP3 sont des machines Linux. Le routeur NAT aussi, mais ça n'a aucune importance dans la suite. Le ou les postes de travail peuvent être n'importe quoi, pourvu que ces n'importe quoi sachent exploiter un réseau TCP/IP.
Le routeur NAT, qui permet « in fine » d'atteindre l'internet sera vu comme un simple routeur, nous ne nous occuperons pas le moins du monde de sa configuration qui est supposée être déjà opérationnelle. Si vous voulez plus de détails sur la façon de réaliser un tel routeur, reportez-vous aux chapitres :
La distribution utilisée est une Debian Sarge
(avec un noyau 2.6.8), encore en statut testing
à l'heure où ces lignes sont écrites, mais qui finira bien un jour pas être déclarée « stable » à la place de la Woody
vieillissante.