Page suivantePage pr�c�denteTable des mati�res

3. Je suis troubl� ! Routage, camouflage, redirection de ports, ipautofw...

Ce HOWTO a pour sujet le filtrage de paquets. Ce filtrage permet la prise de d�cision concernant le destin d'un paquet : s'il est autoris� � passer ou non. Cependant, Linux �tant le joujou pour bidouilleurs qu'il est, vous voudriez probablement en savoir un peu plus.

Un des probl�mes est que le m�me outil ("ipchains") est utilis� pour contr�ler � la fois le camouflage et le cache transparent, alors que ce sont des notions s�par�es du filtrage de paquets (l'impl�mentation actuelle de Linux les brouille tous les trois de fa�on inhabituelle, laissant l'impression qu'ils sont tr�s proches).

Le camouflage et le cachage sont recouverts par des HOWTOs s�par�s, et les possibilit�s de redirection automatique et de redirection de ports sont contr�l�es par des outils s�par�s, mais puisque de nombreuses personnes continuent � me harceler � leur propos, je vais ajouter un ensemble de sc�narios classiques en indiquant les moments o� chacun doit �tre utilis�. Les m�rites de la s�curit� de chacun de ces sc�narios ne seront n�anmoins pas discut�s ici.

3.1 Le guide du camouflage en 3 lignes par Rusty

Ces lignes pr�sument que votre interface externe est appell�e "ppp0". Utilisez ifconfig pour le v�rifier, et ajustez selon votre go�t.

# ipchains -P forward DENY
# ipchains -A forward -i ppp0 -j MASQ
# echo 1> /proc/sys/net/ipv4/ip_forward

3.2 Publicit� gratuite : le z�le de WatchGuard

Vous pouvez acheter des pare-feu tout faits. Un excellent est le FireBox de WatchGuard. C'est excellent parce que je l'appr�cie, parce qu'il est s�curis�, bas� sur Linux, et parce qu'ils financent la maintenance d'ipchains ainsi que du nouveau code pare-feu (pr�vu pour le 2.3). En bref, WatchGuard me paye � manger lorsque je travaille pour vous. Donc, je vous prierai de prendre leur travail en compte.

http://www.watchguard.com

3.3 Configurations classiques de type pare-feu

Vous �tes petiteboite.com. Vous avez un r�seau interne, et une connexion intermittente (PPP) simple � l'Internet (firewall.petiteboite.com a pour IP 1.2.3.4). Vous �tes en Ethernet sur votre r�seau local, et votre machine personnelle s'appelle "mamachine".

Cette section illustrera les diff�rents arrangements classiques. Lisez attentivement, car ils sont tous subtilement diff�rents.

R�seaux priv�s : caches traditionnels

Dans ce sc�nario, les paquets venant d'un r�seau priv� ne traversent jamais l'Internet, et vice versa. Les adresses IP du r�seau priv� doivent �tre assign�es en utilisant les adresses priv�es r�serv�es par la RFC 1597 (c�d 10.*.*.*, 172.16.*.* ou 192.168.*.*).

La seule m�thode pour que les choses soient connect�s � l'Internet est en se connectant au pare-feu, qui est la seule machine sur les deux r�seaux qui sont connect�s plus loin. Vous lancez un programme (sur le pare-feu) appell� un proxy pour ce faire (il y a des proxy (caches) pour le FTP, l'acc�s web, telnet, RealAudio, les News Usenet et autres services). Voyez le Firewall HOWTO.

Tous les services auxquels vous voulez que l'Internet puisse avoir acc�s doivent �tre sur le pare-feu (mais voyez Services internes limit�s plus bas).

Exemple : autoriser l'acc�s web d'un r�seau priv� vers l'Internet.

  1. On a assign� les adresses 192.168.1.* au r�seau priv�, avec mamachine �tant 192.168.1.100, et l'interface Ethernet du pare-feu �tant assign�e � 192.168.1.1.
  2. Un cache web (comme "squid") est install� et configur� sur le pare-feu, disons tournant sur le port 8080.
  3. Netscape sur le r�seau priv� est configur� pour utiliser le pare-feu port 8080 comme cache.
  4. Le DNS n'a pas besoin d'�tre configur� sur le r�seau priv�.
  5. Le DNS doit �tre configur� sur le pare-feu.
  6. Le r�seau priv� n'a pas besoin de disposer de route par d�faut (passerelle).

Netscape sur mamachine lit http://slashdot.org.

  1. Netscape se connecte sur le port 8080 du pare-feu, en utilisant le port 1050 de mamachine. Il demande la page web de "http://slashdot.org".
  2. Le cache recherche le nom "slashdot.org", et obtient 207.218.152.131. Il ouvre alors une connexion sur cette adresse IP (en utilisant le port 1025 de l'interface externe du pare-feu), et demande la page au serveur web (port 80).
  3. En recevant la page web par sa connexion au serveur web, le pare-feu copie les donn�es vers la connexion de Netscape.
  4. Netscape affiche la page.

C'est-�-dire que du point de vue de slashdot.org, la connexion est r�alis�e par 1.2.3.4 (interface PPP du pare-feu), port 1025, vers 207.218.152.131 (slashdot.org) port 80. Du point de vue de mamachine, la connexion est faite de 192.168.1.100 (mamachine) port 1050, vers 192.168.1.1 (interface Ethernet du pare-feu), port 8080.

R�seaux priv�s : caches transparents

Dans ce sc�nario, les paquets venant du r�seau priv� ne traversent jamais l'Internet, et vice versa. Les adresses IP du r�seau priv� doivent �tre assign�es en utilisant les adresses priv�es r�serv�es par la RFC 1597 (c�d 10.*.*.*, 172.16.*.* ou 192.168.*.*).

La seule m�thode pour que les choses soient connect�es � l'Internet est en se connectant au pare-feu, qui est la seule machine sur les deux r�seaux, qui sont connect�s plus loin. Vous lancez un programme (sur le pare-feu) appell� un cache transparent pour ce faire ; le noyau envoie les paquets sortants au cache transparent au lieu de les envoyer plus loin (c�d qu'il rend b�tard le routage).

Le cachage transparent signifie que les clients n'ont pas besoin de savoir qu'il y a un proxy dans l'histoire.

Tous les services que l'Internet peut utiliser doivent �tre sur le pare-feu (mais voyez Services internes limit�s plus bas).

Exemple : autoriser l'acc�s web du r�seau priv� vers l'Internet.

  1. On a assign� les adresses 192.168.1.* au r�seau priv�, avec mamachine �tant 192.168.1.100, et l'interface Ethernet du pare-feu �tant assign�e � 192.168.1.1.
  2. Un proxy web transparent (je pr�sume qu'il existe des correctifs pour squid lui permettant d'op�rer de cette fa�on, sinon, essayez "transproxy") est install� et configur� sur le pare-feu, disons tournant sur le port 8080.
  3. On dit au noyau de rediriger les connexions sur le port 80 du proxy, en utilisant ipchains.
  4. Netscape, sur le r�seau priv�, est configur� pour se connecter directement.
  5. Le DNS doit �tre configur� sur le r�seau priv� (c�d que vous devez faire tourner un serveur DNS de la m�me mani�re que le proxy sur le pare-feu).
  6. La route par d�faut (passerelle) doit �tre configur� sur le r�seau priv�, pour envoyer les paquets au pare-feu.

Netscape sur mamachine lit http://slashdot.org.

  1. Netscape recherche le nom "slashdot.org", et obtient 207.218.152.131. Il ouvre alors une connexion vers cette adresse IP, en utilisant le port local 1050, et demande la page au serveur web (port 80).
  2. Comme les paquets venant de mamachine (port 1050) et allant sur slashdot.org (port 80) passent par le pare-feu, ils sont redirig�s sur le proxy transparent en attente sur le port 8080. Le cache transparent ouvre alors une connexion (en utilisant le port local 1025) vers 207.218.152.131 port 80 (vers lequel les paquets de d�part allaient).
  3. Alors que le cache re�oit la page web par sa connexion avec le serveur web, il copie les donn�es vers la connexion avec Netscape.
  4. Netscape affiche la page.

C'est � dire que du point de vue de slashdot.org, la connexion est r�alis�e par 1.2.3.4 (interface PPP du pare-feu) port 1025 vers 207.218.152.131 (slashdot.org) port 80. Du point de vue de mamachine, la connexion est faite � partir de 192.168.1.100 (mamachine) port 1050, vers 207.218.152.131(slashdot.org) port 80, mais il parle en fait au proxy transparent.

R�seaux priv�s : camouflage

Dans ce sc�nario, les paquets venant du r�seau priv� ne traversent jamais l'Internet sans traitement sp�cial, et vice versa. Les adresses IP du r�seau priv� doivent �tre assign�es en utilisant les adresses priv�es r�serv�es par la RFC 1597 (c�d 10.*.*.*, 172.16.*.* ou 192.168.*.*).

Au lieu d'utiliser un cache, nous utilisons une sp�cificit� sp�ciale du noyau nomm�e "camouflage" (masquerading). Le camouflage r��crit les paquets lorsqu'ils passent par le pare-feu, ce qui fait qu'ils semblent toujours venir du pare-feu lui-m�me. Il r��crit ensuite les r�ponses afin qu'elles semblent venir du destinataire originel.

Le camouflage dispose de modules s�par�s afin de g�rer les protocoles "�tranges", comme FTP, RealAudio, Quake, etc. Pour les protocoles vraiment difficiles � g�rer, la sp�cificit� de "redirection automatique" (auto forwarding) peut en g�rer quelques-uns en configurant automatiquement la redirection de ports pour un ensemble donn� de ports : voyez "ipportfw" (noyaux 2.0) ou "ipmasqadm" (noyaux 2.1 et sup�rieurs).

Tous les services auxquels vous voulez que l'Internet puisse avoir acc�s doivent �tre sur le pare-feu (mais voyez Services internes limit�s plus bas).

Exemple : autoriser l'acc�s web du r�seau priv� sur l'Internet.

  1. On a assign� les adresses 192.168.1.* au r�seau priv�, avec mamachine �tant 192.168.1.100, et l'interface Ethernet du pare-feu �tant assign�e � 192.168.1.1.
  2. Le pare-feu est configur� pour camoufler tous les paquets venant du r�seau priv� et allant sur le port 80 d'un h�te sur Internet.
  3. Netscape est configur� pour se connecter directement.
  4. Le DNS doit �tre configur� correctement sur le r�seau priv�.
  5. Le pare-feu doit �tre la route par d�faut (passerelle) du r�seau priv�.

Netscape sur mamachine lit http://slashdot.org.

  1. Netscape recherche le nom "slashdot.org", et obtient 207.218.152.131. Il ouvre alors une connexion vers cette adresse IP, en utilisant le port local 1050, et demande la page au serveur web (port 80).
  2. Comme les paquets venant de mamachine (port 1050) et allant sur slashdot.org (port 80) passent par le pare-feu, ils sont r��crits pour venir de l'interface PPP du pare-feu, port 65000. Le pare-feu a une adresse Internet valide (1.2.3.4), donc les paquets venant de slashdot.org sont rout�s correctement.
  3. Lorsque les paquets venant de slashdot.org (port 80) sur firewall.petiteboite.com (port 65000) arrivent, ils sont r��crits pour aller sur mamachine, port 1050. La v�ritable magie du camouflage se trouve ici : il se souvient des paquets sortants r��crits afin de pouvoir r��crire les paquets entrants qui en sont la r�ponse.
  4. Netscape affiche la page.

C'est � dire que du point de vue de slashdot.org, la connexion est r�alis�e de 1.2.3.4 (interface PPP du pare-feu), port 65000 vers 207.218.152.131 (slashdot.org) port 80. Du point de vue de mamachine, la connexion est faite entre 192.168.1.100 (mamachine) port 1050, et 207.218.152.131 (slashdot.org) port 80.

R�seaux publics

Dans ce sc�nario, votre r�seau personnel fait partie de l'Internet : les paquets peuvent passer sans avoir � changer de r�seau. Les adresses IP du r�seau interne doivent �tre assign�es en utilisant un bloc d'adresses IP, de mani�re � ce que le reste du r�seau sache comment vous envoyer des paquets. Ceci implique une connexion permanente.

Dans ce r�le, le filtrage de paquets est utilis� pour restreindre les paquets qui peuvent �tre redirig�s entre votre r�seau et le reste de l'Internet, c�d pour restreindre le reste de l'Internet � acc�der uniquement au serveur web qui se trouve en interne.

Exemple : autoriser l'acc�s web du r�seau priv� vers l'Internet.

  1. Votre r�seau interne dispose du bloc d'adresses IP que vous avez enregistr�, disons 1.2.3.*.
  2. Le pare-feu est configur� pour autoriser tout le trafic.
  3. Netscape est configur� pour se connecter directement.
  4. Le DNS doit �tre configur� correctement sur votre r�seau.
  5. Le pare-feu doit �tre la route par d�faut (passerelle) pour le r�seau priv�.

Netscape sur mamachine lit http://slashdot.org.

  1. Netscape recherche le nom "slashdot.org", et obtient 207.218.152.131. Il ouvre alors une connexion vers cette adresse IP, en utilisant le port local 1050, et demande la page au serveur web, port 80.
  2. Les paquets passent par votre pare-feu, comme ils passent par d'autres routeurs entre vous et slashdot.org.
  3. Netscape affiche la page.

C'est � dire qu'il n'y a qu'une seule connexion : � partir de 1.2.3.100 (mamachine) port 1050, vers 207.218.152.131 (slashdot.org) port 80.

Services internes limit�s

Il y a quelques trucs que vous pouvez utiliser pour autoriser l'Internet � acc�der � vos services internes, plut�t que de faire tourner vos services internes sur le pare-feu. Ils fonctionneront soit avec un proxy, soit avec une approche type camouflage pour les connexions externes.

L'approche la plus simple est de faire tourner un "redirecteur", qui est un cache de pauvre, attendant une connexion sur un port donn�, et ouvrant une connexion sur un h�te et un port interne fix�, et copiant les donn�es entre les deux connexions. Un exemple de ceci est le programme "redir". Du point de vue de l'Internet, la connexion est faite sur votre pare-feu. Du point de vue de votre serveur interne, la connexion est faite par l'interface interne du pare-feu sur le serveur.

Une autre approche (qui n�cessite un noyau 2.0 corrig� pour ipportfw, ou un noyau 2.1 ou sup�rieur) est d'utiliser la redirection des ports du noyau. Il effectue le m�me travail que "redir" d'une mani�re diff�rente : le noyau r��crit les paquets lorsqu'ils passent, en changeant leur adresse de destination et le port pour les faire pointer sur un port et un h�te interne. Du point de vue de l'Internet, la connexion est faite sur votre pare-feu. Du point de vue de votre serveur interne, une connexion directe est r�alis�e entre l'h�te Internet et votre serveur.

3.4 Pour plus d'informations sur le camouflage

David Ranch a �crit un excellent howto tout neuf sur le camouflage, qui en grande partie recouvre ce howto. Vous pouvez le trouver sur http://www.ecst.csuchico.edu/~dranch/LINUX/index-LINUX.html

J'esp�re pouvoir bient�t le trouver h�berg� sous les auspices du LDP (Linux Documentation Project), sur http://www.metalab.unc.edu/LDP.

La page officielle du camouflage se trouve sur http://ipmasq.cjb.net.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:35