forked from extern/shorewall_code
1074 lines
39 KiB
HTML
1074 lines
39 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta http-equiv="Content-Language" content="en-us">
|
|||
|
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
|||
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
|||
|
<meta http-equiv="Content-Type"
|
|||
|
content="text/html; charset=windows-1252">
|
|||
|
<title>Three-Interface Firewall</title>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<table border="0" cellpadding="0" cellspacing="0"
|
|||
|
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
|||
|
id="AutoNumber5" bgcolor="#400169" height="90">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td width="100%">
|
|||
|
<h1 align="center"><font color="#ffffff">Three-Interface Firewall</font></h1>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<h2 align="center">Version 2.0.1 Fran<61>aise</h2>
|
|||
|
<p align="left"><small><i><u>Notes du traducteur</u> :<br>
|
|||
|
Je ne pr<70>tends pas <20>tre un vrai traducteur dans le sens ou mon travail
|
|||
|
n?est pas des plus pr<70>cis (loin de l<>...). Je ne me suis pas attach<63> <20>
|
|||
|
une traduction exacte du texte, mais plut<75>t <20> en faire une version
|
|||
|
fran<EFBFBD>aise intelligible par tous (et par moi). Les termes techniques sont
|
|||
|
la plupart du temps conserv<72>s sous leur forme originale et mis entre
|
|||
|
parenth<EFBFBD>ses car vous pouvez les retrouver dans le reste des
|
|||
|
documentations ainsi que dans les fichiers de configuration. N?h<>sitez
|
|||
|
pas <20> me contacter afin d?am<61>liorer ce document <a
|
|||
|
href="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</a> (merci <20> JMM
|
|||
|
pour sa relecture et ses commentaires pertinents, ainsi qu'<27> Tom EASTEP
|
|||
|
pour son formidable outil et sa disponibilit<69>).</i></small></p>
|
|||
|
<p align="left"><br>
|
|||
|
Mettre en place un syst<73>me linux en tant que firewall pour un petit
|
|||
|
r<EFBFBD>seau contenant une DMZ est une chose assez simple <20> r<>aliser si vous
|
|||
|
comprenez les bases et suivez cette documentation.</p>
|
|||
|
<p>Ce guide ne pr<70>tend pas vous mettre au courant de toutes les
|
|||
|
possibilit<EFBFBD>s de Shorewall. Il se focalise sur les besoins pour
|
|||
|
configurer Shorewall dans une de ses utilisations les plus populaire :</p>
|
|||
|
<ul>
|
|||
|
<li>Un syst<73>me Linux utilis<69> en tant que firewall/routeur pour un
|
|||
|
petit r<>seau local.</li>
|
|||
|
<li>Une seule adresse IP publique.</li>
|
|||
|
<li>Une DMZ connect<63>e sur une interface Ethernet s<>par<61>e.</li>
|
|||
|
<li>Une connexion passant par l'ADSL, un Modem C<>ble, ISDN, Frame
|
|||
|
Relay, RTC, ...</li>
|
|||
|
</ul>
|
|||
|
<p align="left">Voici le sch<63>ma d'une installation typique.</p>
|
|||
|
<p align="center"> <img border="0" src="images/dmz1.png" width="692"
|
|||
|
height="635"> </p>
|
|||
|
<p>Ce guide suppose que vous avez le paquet iproute/iproute2
|
|||
|
d'install<6C>. Vous pouvez voir si le paquet est install<6C> en v<>rifiant la
|
|||
|
pr<EFBFBD>sence du programme ip sur votre syst<73>me de firewall. Sous root,
|
|||
|
utilisez la commande 'which' pour rechercher le programme :</p>
|
|||
|
<pre> [root@gateway root]# which ip<br> /sbin/ip<br> [root@gateway root]#</pre>
|
|||
|
<p>Je vous recommande dans un premier temps de parcourir tout le guide
|
|||
|
pour vous familiariser avec ce qu'il va se passer, et de revenir au
|
|||
|
d<EFBFBD>but en effectuant le changements dans votre configuration. Les points
|
|||
|
o<EFBFBD>, les changements dans la configuration sont recommand<6E>es, sont
|
|||
|
signal<EFBFBD>s par une <img border="0" src="images/BD21298_.gif" width="13"
|
|||
|
height="13"> </p>
|
|||
|
<p><img border="0" src="images/j0213519.gif" width="60" height="60"> Si
|
|||
|
vous <20>ditez vos fichiers de configuration sur un syst<73>me Windows, vous
|
|||
|
devez les sauver comme des fichiers Unix si votre <20>diteur offre cette
|
|||
|
option sinon vous devez les faire passer par dos2unix avant d'essayer de
|
|||
|
les utiliser. De la m<>me mani<6E>re, si vous copiez un fichier de
|
|||
|
configuration depuis votre disque dur Windows vers une disquette, vous
|
|||
|
devez lancer dos2unix sur la copie avant de l'utiliser avec Shorewall.</p>
|
|||
|
<ul>
|
|||
|
<li><a href="http://www.simtel.net/pub/pd/51438.html">Windows Version
|
|||
|
of dos2unix</a></li>
|
|||
|
<li><a href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux
|
|||
|
Version of dos2unix</a></li>
|
|||
|
</ul>
|
|||
|
<h2 align="left">Les Concepts de Shorewall</h2>
|
|||
|
<p> <img border="0" src="images/BD21298_.gif" width="13" height="13"
|
|||
|
alt=""> Les fichiers de configuration pour Shorewall sont situ<74>s dans
|
|||
|
le r<>pertoire /etc/shorewall -- pour de simples param<61>trages, vous
|
|||
|
n'avez <20> faire qu'avec quelques un d'entre eux comme d<>cris dans ce
|
|||
|
guide. Apr<70>s avoir <a href="Install.htm">install<EFBFBD> Shorewall</a>, <b>t<EFBFBD>l<EFBFBD>chargez
|
|||
|
la configuration d'exemple <a
|
|||
|
href="/pub/shorewall/LATEST.samples/three-interfaces.tgz">three-interface
|
|||
|
sample</a>, un-tarez la (tar -zxvf three-interfaces.tgz) </b><b>et
|
|||
|
copiez les fichiers vers /etc/shorewall (Ils remplaceront les fichiers
|
|||
|
de m<>me nom d<>j<EFBFBD> existant dans /etc/shorewall install<6C>s lors de
|
|||
|
l'installation de Shorewall)</b>.</p>
|
|||
|
<p>En m<>me temps que chacun des fichiers est pr<70>sent<6E>, je vous sugg<67>re
|
|||
|
de jeter un oeil <20> ceux qui se trouvent r<>ellement sur votre syst<73>me --
|
|||
|
chacun des fichiers contient des instructions de configuration
|
|||
|
d<EFBFBD>taill<EFBFBD>es et des entr<74>es par d<>faut.</p>
|
|||
|
<p>Shorewall voit le r<>seau o<> il tourne comme compos<6F> par un ensemble
|
|||
|
de <i>zones.</i> Dans les fichiers de configuration fournis pour trois
|
|||
|
interfaces, trois zones sont d<>finies :</p>
|
|||
|
<table border="0" style="border-collapse: collapse;" cellpadding="3"
|
|||
|
cellspacing="0" id="AutoNumber2">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>Name</b></u></td>
|
|||
|
<td><u><b>Description</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>net</b></td>
|
|||
|
<td><b>The Internet</b></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>loc</b></td>
|
|||
|
<td><b>Votre r<>seau local</b></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>dmz</b></td>
|
|||
|
<td><b>Zone </b><b>Demilitaris<EFBFBD>e</b></td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<p>Les noms de zone sont d<>finis dans <a href="Documentation.htm#Zones">/etc/shorewall/zones</a>.</p>
|
|||
|
<p>Shorewall reconna<6E>t aussi le syst<73>me de firewall comme sa propre
|
|||
|
zone - par d<>faut, le firewall lui m<>me est connu en tant que <b>fw</b>.</p>
|
|||
|
<p>Les r<>gles concernant le trafic <20> autoriser ou <20> interdire sont
|
|||
|
exprim<EFBFBD>es en utilisant les termes de zones.</p>
|
|||
|
<ul>
|
|||
|
<li>Vous exprimez les politiques par d<>faut pour les connexions d'une
|
|||
|
zone <20> une autre dans le fichier<a href="Documentation.htm#Policy">
|
|||
|
/etc/shorewall/policy </a>.</li>
|
|||
|
<li>Vous d<>finissez les exceptions <20> ces r<>gles de politiques par
|
|||
|
d<EFBFBD>faut dans le fichier <a href="Documentation.htm#Rules">/etc/shorewall/rules</a>.</li>
|
|||
|
</ul>
|
|||
|
<p>Pour chacune des demandes de connexion entrantes dans le firewall,
|
|||
|
les demandes sont en premier lieu compar<61>es par rapport au fichier
|
|||
|
/etc/shorewall/rules. Si aucune des r<>gles dans ce fichier ne
|
|||
|
correspondent, alors la premi<6D>re politique dans /etc/shorewall/policy
|
|||
|
qui y correspond est appliqu<71>e. Si cette politique est REJECT ou DROP la
|
|||
|
requ<EFBFBD>te est alors compar<61>e par rapport aux r<>gles contenues dans
|
|||
|
/etc/shorewall/common (l'archive d'exemple vous fournit ce fichier).</p>
|
|||
|
<p>Le fichier /etc/shorewall/policy d'exemple contenu dans l'archive
|
|||
|
three-interface sample a les politiques suivantes :</p>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber3">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>Source Zone</b></u></td>
|
|||
|
<td><u><b>Destination Zone</b></u></td>
|
|||
|
<td><u><b>Policy</b></u></td>
|
|||
|
<td><u><b>Log Level</b></u></td>
|
|||
|
<td><u><b>Limit:Burst</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>loc</td>
|
|||
|
<td>net</td>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>net</td>
|
|||
|
<td>all</td>
|
|||
|
<td>DROP</td>
|
|||
|
<td>info</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>all</td>
|
|||
|
<td>all</td>
|
|||
|
<td>REJECT</td>
|
|||
|
<td>info</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<blockquote>
|
|||
|
<p>Dans l'archive three-interface, la ligne suivante est existante
|
|||
|
mais elle est comment<6E>e. Si vous souhaitez que votre syst<73>me de firewall
|
|||
|
puisse avoir un acc<63>s complet aux serveurs sur Internet, d<>commentez la.</p>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber3">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>Source Zone</b></u></td>
|
|||
|
<td><u><b>Destination Zone</b></u></td>
|
|||
|
<td><u><b>Policy</b></u></td>
|
|||
|
<td><u><b>Log Level</b></u></td>
|
|||
|
<td><u><b>Limit:Burst</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>fw</td>
|
|||
|
<td>net</td>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Les politiques pr<70>c<EFBFBD>dentes vont :</p>
|
|||
|
<ol>
|
|||
|
<li>permettre toutes demandes de connexion depuis le firewall vers
|
|||
|
l'Internet</li>
|
|||
|
<li>drop (ignorer) toutes les demandes de connexion depuis l'Internet
|
|||
|
vers votre firewall ou vers votre r<>seau local</li>
|
|||
|
<li>Facultativement accepter toutes les demandes de connexion depuis
|
|||
|
votre firewall et vers Internet (si vous decommentez la politique
|
|||
|
pr<EFBFBD>c<EFBFBD>dente)</li>
|
|||
|
<li>reject (rejeter) toutes les autres demandes de connexion.</li>
|
|||
|
</ol>
|
|||
|
<p><img border="0" src="images/BD21298_1.gif" width="13" height="13">A
|
|||
|
ce point, <20>ditez votre /etc/shorewall/policy et faites y les changements
|
|||
|
que vous d<>sire</p>
|
|||
|
<h2 align="left">Les Interfaces R<>seau</h2>
|
|||
|
<p align="center"> <img border="0" src="images/dmz1.png" width="692"
|
|||
|
height="635"> </p>
|
|||
|
<p align="left">Le firewall a trois interfaces de r<>seau. Lorsque la
|
|||
|
connexion Internet passe par le c<>ble ou par un ROUTEUR (pas un simple
|
|||
|
modem) ADSL (non USB), l'interface vers l'ext<78>rieur (External Interface)
|
|||
|
sera l'adaptateur sur lequel est connect<63> le routeur (e.g., eth0) <20>
|
|||
|
moins que vous ne vous connectiez par Point-to-PointProtocol
|
|||
|
overEthernet (PPPoE) ou par Point-to-PointTunneling Protocol (PPTP),
|
|||
|
dans ce cas l'interface ext<78>rieure sera une interface de type ppp (e.g.,
|
|||
|
ppp0). Si vous vous connectez par un simple modem (RTC), votre interface
|
|||
|
ext<EFBFBD>rieure sera aussi ppp0. Si votre connexion passe par Num<75>ris
|
|||
|
(ISDN), votre interface ext<78>rieure sera ippp0<b>.</b></p>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_1.gif" width="13"
|
|||
|
height="13"> Si votre interface vers l'ext<78>rieur est ppp0 ou ippp0
|
|||
|
alors vous mettrez CLAMPMSS=yes dans <a href="Documentation.htm#Conf">
|
|||
|
/etc/shorewall/shorewall.conf.</a></p>
|
|||
|
<p align="left">Votre <i>Interface locale</i> sera un adaptateur
|
|||
|
Ethernet (eth0, eth1 ou eth2) et sera connect<63> <20> un hub ou un
|
|||
|
switch. Vos ordinateurs locaux seront connect<63>s <20> ce m<>me switch (note :
|
|||
|
si vous n'avez qu'un seul ordinateur en local, vous pouvez le connecter
|
|||
|
directement au firewall par un <i>c<EFBFBD>ble crois<69></i>).</p>
|
|||
|
<p align="left">Votre <i>interface DMZ</i> sera aussi un adaptateur
|
|||
|
Ethernet (eth0, eth1 ou eth2) et sera connect<63> <20> un hub ou un switch.
|
|||
|
Vos ordinateurs appartenant <20> la DMZ seront connect<63>s <20> ce m<>me switch
|
|||
|
(note : si vous n'avez qu'un seul ordinateur dans la DMZ, vous pouvez
|
|||
|
le connecter directement au firewall par un <i>c<EFBFBD>ble crois<69></i>).</p>
|
|||
|
<p align="left"><u><b> <img border="0" src="images/j0213519.gif"
|
|||
|
width="60" height="60"></b></u> Ne connectez pas l'interface interne et
|
|||
|
externe sur le m<>me hub ou switch (m<>me pour tester). Cela ne
|
|||
|
fonctionnera pas et ne croyez pas que ce soit shorewall qui ne marche
|
|||
|
pas.</p>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13"> L'exemple de configuration de Shorewall pour trois
|
|||
|
interfaces suppose que l'interface externe est <b>eth0, </b>l'interface
|
|||
|
locale est <b>eth1 </b> et que la DMZ est sur l'interface <b>eth2</b>.
|
|||
|
Si votre configuration diff<66>re, vous devrez modifier le fichier
|
|||
|
d'exemple /etc/shorewall/interfaces en cons<6E>quence. Tant que vous y
|
|||
|
<EFBFBD>tes, vous pourriez parcourir la liste des options qui sont sp<73>cifi<66>es
|
|||
|
pour les interfaces. Quelques trucs :</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p align="left">Si votre interface externe est ppp0 ou ippp0, vous
|
|||
|
pouvez remplacer le "detect" dans la seconde colonne par un "-". </p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p align="left">Si votre interface externe est ppp0 ou ippp0 ou
|
|||
|
bien si vous avez une adresse IP statique, vous pouvez enlever le "dhcp"
|
|||
|
de la liste d'option. </p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h2 align="left">Adresses IP</h2>
|
|||
|
<p align="left">Avant d'aller plus loin, nous devons dire quelques mots
|
|||
|
au sujet du Protocole d'adresse Internet (IP). Normalement, votre
|
|||
|
fournisseur Internet (ISP) vous assignera une seule adresse IP (single
|
|||
|
Public IP address). Cette adresse peut <20>tre assign<67>e par le Dynamic Host
|
|||
|
Configuration Protocol (DHCP) ou lors de l'<27>tablissement de votre
|
|||
|
connexion lorsque vous vous connectez (modem standard) ou <20>tablissez
|
|||
|
votre connexion PPP. Dans de rares cas , votre provider peu vous
|
|||
|
assigner une adresse statique (staticIP address); cela signifie que vous
|
|||
|
configurez votre interface externe sur votre firewall afin d'utiliser
|
|||
|
cette adresse de mani<6E>re permanente. Une fois votre adresse externe
|
|||
|
assign<EFBFBD>e, elle va <20>tre partag<61>e par tout vos syst<73>mes lors de l'acc<63>s <20>
|
|||
|
Internet. Vous devrez assigner vos propres adresses <20> votre r<>seau
|
|||
|
local (votre interface interne sur le firewall ainsi que les autres
|
|||
|
ordinateurs). La RFC 1918 r<>serve plusieurs plages d'IP (Private IP
|
|||
|
address ranges) <20> cette fin :</p>
|
|||
|
<div align="left">
|
|||
|
<pre> 10.0.0.0 - 10.255.255.255<br> 172.16.0.0 - 172.31.255.255<br> 192.168.0.0 - 192.168.255.255</pre>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left"><img border="0" src="images/BD21298_.gif" width="13"
|
|||
|
height="13"> Avant de lancer Shorewall, vous devriez regarder l'adresse
|
|||
|
de votre interface externe et si elle est comprise dans une des plages
|
|||
|
pr<EFBFBD>c<EFBFBD>dentes, vous devriez enlever l'option 'norfc1918' dans le fichier
|
|||
|
/etc/shorewall/interfaces.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Vous devrez assigner les adresses locales <20> un
|
|||
|
sous-r<>seau (<i>sub-network </i>ou <i>subnet)</i> et les adresse pour
|
|||
|
la DMZ <20> un autre sous-r<>seau. Pour ce faire, nous pouvons consid<69>rer
|
|||
|
qu'un sous-r<>seau consiste en une plage d'adresse x.y.z.0 <20> x.y.z.255.
|
|||
|
Chacun des sous-r<>seaux poss<73>dera une masque (<i>Subnet Mask)</i> de
|
|||
|
255.255.255.0. L'adresse x.y.z.0 est r<>serv<72>e comme l'adresse du
|
|||
|
sous-r<>seau (<i>Subnet Address)</i> et x.y.z.255 est r<>serv<72>e en
|
|||
|
tant qu'adresse de broadcast du sous-r<>seau (<i>Subnet Broadcast</i> <i>Address)</i>.
|
|||
|
Sous Shorewall, un sous-r<>seau est d<>crit/d<>sign<67> en utilisant la
|
|||
|
notation <a href="shorewall_setup_guide.htm#Subnets"><i>Classless
|
|||
|
InterDomain Routing</i>(CIDR)</a> qui consiste en l'adresse du
|
|||
|
sous-r<>seau suivie par "/24". Le "24" se r<>f<EFBFBD>re au nombre de bits "1"
|
|||
|
cons<EFBFBD>cutifs dans la partie gauche du masque de sous-r<>seau. </p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Exemple de sous-r<>seau (subnet) :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" style="border-collapse: collapse;" id="AutoNumber1"
|
|||
|
cellpadding="2">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><b>Plage:</b></td>
|
|||
|
<td>10.10.10.0 - 10.10.10.255</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>Subnet Address:</b></td>
|
|||
|
<td>10.10.10.0</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>Broadcast Address:</b></td>
|
|||
|
<td>10.10.10.255</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td><b>CIDR Notation:</b></td>
|
|||
|
<td>10.10.10.0/24</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Il est de convention d'assigner <20> l'interface interne
|
|||
|
la premi<6D>re adresse utilisable dans le sous-r<>seau (10.10.10.1 dans
|
|||
|
l'exemple pr<70>c<EFBFBD>dent) ou la derni<6E>re utilisable (10.10.10.254).</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">L'un des buts d'un sous-r<>seau est de permettre <20> tous
|
|||
|
les ordinateurs dans le sous-r<>seau de savoir avec quels autres
|
|||
|
ordinateurs ils peuvent communiquer directement. Pour communiquer avec
|
|||
|
des syst<73>mes en dehors du sous-r<>seau, les ordinateurs envoient des
|
|||
|
paquets <20> travers le gateway (routeur).</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left"><img border="0" src="images/BD21298_1.gif" width="13"
|
|||
|
height="13"> Vos ordinateurs locaux (ordinateur local 1 et 2) devraient
|
|||
|
<EFBFBD>tre configur<75>s avec leur passerelle par d<>faut (<i>default gateway)</i>pointant
|
|||
|
sur l'adresse IP de l'interface interne du firewall, et les ordinateurs
|
|||
|
de la DMZ devraient <20>tre configur<75>s avec leur passerelle par d<>faut (<i>default
|
|||
|
gateway)</i> pointant sur l'adresse IP de l'interface DMZ du firewall. </p>
|
|||
|
</div>
|
|||
|
<p align="left">Cette courte description ne fait que survoler les
|
|||
|
concepts de routage et de sous-r<>seau. Si vous vous voulez en apprendre
|
|||
|
plus sur l'adressage IP et le routage, je vous recommande chaudement <i>"IP
|
|||
|
Fundamentals: What Everyone Needs to Know about Addressing &
|
|||
|
Routing",</i> Thomas A. Maufer, Prentice-Hall, 1999, ISBN
|
|||
|
0-13-975483-0.</p>
|
|||
|
<p align="left">Pour rappel, ce guide supposera que vous avez configur<75>
|
|||
|
votre r<>seau comme montrer ci-dessous :</p>
|
|||
|
<p align="center"> <img border="0" src="images/dmz2.png" width="721"
|
|||
|
height="635"> </p>
|
|||
|
<p align="left">La passerelle par d<>faut (default gateway) pour les
|
|||
|
ordinateurs de la DMZ sera 10.10.11.254 et le passerelle par
|
|||
|
d<EFBFBD>faut pour les ordinateurs en local sera 10.10.10.254.</p>
|
|||
|
<h2 align="left">IP Masquerading (SNAT)</h2>
|
|||
|
<p align="left">Les adresses r<>serv<72>es par la RFC 1918 sont parfois
|
|||
|
d<EFBFBD>sign<EFBFBD>es comme non-routables car les routeurs Internet (backbone) ne
|
|||
|
font pas circuler les paquets qui ont une adresse de destination
|
|||
|
appartenant <20> la RFC-1918. Lorsqu'un de vos syst<73>mes en local (supposons
|
|||
|
l'ordinateur1) demande une connexion <20> un serveur par Internet, le
|
|||
|
firewall doit appliquer un NAT (Network Address Translation). Le
|
|||
|
firewall r<> <20>crit l'adresse source dans le paquet, et l'a remplace par
|
|||
|
l'adresse de l'interface externe du firewall; en d'autres mots, le
|
|||
|
firewall fait croire que c'est lui m<>me qui initie la connexion. Ceci
|
|||
|
est n<>cessaire afin que l'h<>te de destination soit capable de renvoyer
|
|||
|
les paquets au firewall (souvenez vous que les paquets qui ont pour
|
|||
|
adresse de destination, une adresse r<>serv<72>e par la RFC 1918 ne pourront
|
|||
|
pas <20>tre rout<75>s <20> travers Internet, donc l'h<>te Internet ne pourra
|
|||
|
adresser sa r<>ponse <20> l'ordinateur 1). Lorsque le firewall re<72>oit le
|
|||
|
paquet de r<>ponse, il remet l'adresse de destination <20> 10.10.10.1 et
|
|||
|
fait passer le paquet vers l'ordinateur 1. </p>
|
|||
|
<p align="left">Sur les syst<73>mes Linux, ce proc<6F>d<EFBFBD> est souvent appel<65>
|
|||
|
de l'IP Masquerading mais vous verrez aussi le terme de Source Network
|
|||
|
Address Translation (SNAT) utilis<69>. Shorewall suit la convention
|
|||
|
utilis<EFBFBD>e avec Netfilter :</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p align="left">Masquerade d<>signe le cas ou vous laissez votre
|
|||
|
firewall d<>tecter automatiquement l'adresse de l'interface externe. </p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p align="left">SNAT d<>signe le cas o<> vous sp<73>cifiez explicitement
|
|||
|
l'adresse source des paquets sortant de votre r<>seau local. </p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<p align="left">Sous Shorewall, autant le Masquerading que le SNAT sont
|
|||
|
configur<EFBFBD> avec des entr<74>s dans le fichier /etc/shorewall/masq.</p>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13"> Si votre interface externe est <b>eth0</b>, votre
|
|||
|
interface locale <b>eth1</b> et votre interface pour la DMZ <b>eth2</b>
|
|||
|
vous n'avez pas besoin de modifier le fichier fourni avec l'exemple.
|
|||
|
Dans le cas contraire, <20>ditez /etc/shorewall/masq et changez le en
|
|||
|
cons<EFBFBD>quence.</p>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13"> Si votre IP externe est statique, vous pouvez la mettre
|
|||
|
dans la troisi<73>me colonne dans /etc/shorewall/masq si vous le d<>sirez,
|
|||
|
de toutes fa<66>ons votre firewall fonctionnera bien si vous laissez cette
|
|||
|
colonne vide. Le fait de mettre votre IP statique dans la troisi<73>me
|
|||
|
colonne permet un traitement des paquets sortant un peu plus efficace.<br>
|
|||
|
</p>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_.gif" width="13"
|
|||
|
height="13" alt=""> Si vous utilisez les paquets Debian, v<>rifiez que
|
|||
|
votre fichier de configuration shorewall.conf contient bien les valeurs
|
|||
|
suivantes, si elles n'y sont pas faite les changements n<>cessaires :<br>
|
|||
|
</p>
|
|||
|
<ul>
|
|||
|
<li>NAT_ENABLED=Yes</li>
|
|||
|
<li>IP_FORWARDING=On<br>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h2 align="left">Port Forwarding (DNAT)</h2>
|
|||
|
<p align="left">Un de nos buts est de, peut <20>tre, faire tourner un ou
|
|||
|
plusieurs serveurs sur nos ordinateurs dans la DMZ. que ces ordinateurs
|
|||
|
on une adresse RFC-1918, il n'est pas possible pour les clients sur
|
|||
|
Internet de se connecter directement <20> eux. Il est n<>cessaire <20> ces
|
|||
|
clients d'adresser leurs demandes de connexion au firewall qui r<> <20>crit
|
|||
|
l'adresse de destination de votre serveur, et fait passer le paquet <20>
|
|||
|
celui-ci. Lorsque votre serveur r<>pond, le firewall applique
|
|||
|
automatiquement un SNAT pour r<> <20>crire l'adresse source dans la r<>ponse.</p>
|
|||
|
<p align="left">Ce proc<6F>d<EFBFBD> est appel<65> Port Forwarding ou Destination
|
|||
|
Network Address Translation(DNAT). Vous configurez le port forwarding en
|
|||
|
utilisant les r<>gles DNAT dans le fichier /etc/shorewall/rules.</p>
|
|||
|
<p>La forme g<>n<EFBFBD>rale d'une simple r<>gle de port forwarding dans
|
|||
|
/etc/shorewall/rules est :</p>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>DNAT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>dmz:<i><server local ip address> </i>[:<i><server
|
|||
|
port></i>]</td>
|
|||
|
<td><i><protocol></i></td>
|
|||
|
<td><i><port></i></td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Si vous ne sp<73>cifiez pas le <i><server port></i>, il est
|
|||
|
suppos<EFBFBD> <20>tre le m<>me que <i><port></i>.</p>
|
|||
|
<p>Exemple - vous faites tourner un serveur Web dans votre DMZ (2) et
|
|||
|
vous voulez faire passer les paquets entrant en TCP sur le port 80 <20> ce
|
|||
|
syst<EFBFBD>me :</p>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>DNAT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>dmz:10.10.11.2</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>80</td>
|
|||
|
<td># Fait suivre le port 80</td>
|
|||
|
<td>depuis Internet</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>dmz:10.10.11.2</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>80</td>
|
|||
|
<td>#Permet les connexions </td>
|
|||
|
<td>depuis le r<>seau local</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Deux points importants <20> garder en m<>moire :</p>
|
|||
|
<ul>
|
|||
|
<li>Lorsque vous vous connectez <20> votre serveur <20> partir de votre
|
|||
|
r<EFBFBD>seau local, vous devez utiliser l'adresse IP interne du serveur
|
|||
|
(10.10.11.2).</li>
|
|||
|
<li>Quelques fournisseurs Internet (Provider/ISP) bloquent les
|
|||
|
requ<EFBFBD>tes de connexion entrantes sur le port 80. Si vous avez des
|
|||
|
probl<EFBFBD>mes pour vous connecter <20> votre serveur web, essayez la r<>gle
|
|||
|
suivante et connectez vous sur le port 5000 (c.a.d., connectez vous <20> <a
|
|||
|
href="http://w.x.y.z:5000"> http://w.x.y.z:5000</a> o<> w.x.y.z est votre
|
|||
|
IP externe).</li>
|
|||
|
</ul>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>DNAT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>dmz:10.10.11.2:80</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>5000</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Si vous voulez avoir la possibilit<69> de vous connecter <20> votre
|
|||
|
serveur depuis le r<>seau local en utilisant votre adresse externe, et si
|
|||
|
vous avez une adresse IP externe statique (fixe), vous pouvez remplacer
|
|||
|
la r<>gle loc->dmz pr<70>c<EFBFBD>dente par :</p>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>DNAT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>dmz:10.10.11.2:80</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>80</td>
|
|||
|
<td>-</td>
|
|||
|
<td><i><external IP></i></td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Si vous avez une IP dynamique, alors vous devez vous assurer que
|
|||
|
votre interface externe est en route avant de lancer Shorewall et vous
|
|||
|
devez suivre les <20>tapes suivantes (en supposant que votre interface
|
|||
|
externe est <b>eth0</b>) :</p>
|
|||
|
<ol>
|
|||
|
<li>Ins<EFBFBD>rez ce qui suit dans /etc/shorewall/params :<br>
|
|||
|
<br>
|
|||
|
ETH0_IP=`find_interface_address eth0`<br>
|
|||
|
</li>
|
|||
|
<li>Faites votre r<>gle loc->dmz :</li>
|
|||
|
</ol>
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>DNAT</td>
|
|||
|
<td>loc<br>
|
|||
|
</td>
|
|||
|
<td>dmz:10.10.11.2:80</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>80</td>
|
|||
|
<td>-</td>
|
|||
|
<td>$ETH0_IP</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
<p>Si vous voulez acc<63>der <20> votre serveur dans la DMZ en utilisant
|
|||
|
votre adresse IP externe, regardez <a href="FAQ.htm#faq2a">FAQ 2a</a>.</p>
|
|||
|
<p><img border="0" src="images/BD21298_2.gif" width="13" height="13"> A
|
|||
|
ce point, ajoutez les r<>gles DNAT et ACCEPT pour vos serveurs..</p>
|
|||
|
<h2 align="left">Domain Name Server (DNS)</h2>
|
|||
|
<p align="left">Normalement, quand vous vous connectez <20> votre
|
|||
|
fournisseur (ISP), une partie consiste <20> obtenir votre adresse IP, votre
|
|||
|
DNS pour le firewall (Domain Name Service) est configur<75> automatiquement
|
|||
|
(c.a.d., le fichier /etc/resolv.conf a <20>t<EFBFBD> <20>crit). Il arrive que votre
|
|||
|
provider vous donne une paire d'adresse IP pour les DNS (name servers)
|
|||
|
afin que vous configuriez manuellement votre serveur de nom primaire et
|
|||
|
secondaire. La mani<6E>re dont le DNS est configur<75> sur votre firewall est
|
|||
|
de votre responsabilit<69>. Vous pouvez proc<6F>der d'une de ses deux fa<66>ons :</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p align="left">Vous pouvez configurer votre syst<73>me interne pour
|
|||
|
utiliser les noms de serveurs de votre provider. Si votre fournisseur
|
|||
|
vous donne les adresses de leurs serveurs ou si ces adresses sont
|
|||
|
disponibles sur leur site web, vous pouvez configurer votre syst<73>me
|
|||
|
interne afin de les utiliser. Si cette information n'est pas disponible,
|
|||
|
regardez dans /etc/resolv.conf sur votre firewall -- les noms des
|
|||
|
serveurs sont donn<6E>s dans l'enregistrement "nameserver" dans ce fichier. </p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif"
|
|||
|
width="13" height="13"> Vous pouvez installer/configurer un cache dns
|
|||
|
(Caching Name Server) sur votre firewall ou dans la DMZ.<i> </i>Red Hat
|
|||
|
a un RPM pour mettre en cache un serveur de nom (le RPM requis aussi le
|
|||
|
RPM 'bind') et pour les utilisateurs de Bering, il y a dnscache.lrp. Si
|
|||
|
vous adoptez cette approche, vous configurez votre syst<73>me interne pour
|
|||
|
utiliser le firewall lui m<>me comme <20>tant le seul serveur de nom
|
|||
|
primaire. Vous pouvez utiliser l'adresse IP interne du firewall
|
|||
|
(10.10.10.254 dans l'exemple) pour l'adresse de serveur de nom si vous
|
|||
|
d<EFBFBD>cidez de faire tourner le serveur de nom sur votre firewall. Pour
|
|||
|
permettre <20> vos syst<73>mes locaux de discuter avec votre serveur cache de
|
|||
|
nom, vous devez ouvrir le port 53 (UDP ET<45> TCP) sur le firewall vers le
|
|||
|
r<EFBFBD>seau local; vous ferez ceci en ajoutant les r<>gles suivantes dans
|
|||
|
/etc/shorewall/rules. </p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<blockquote>
|
|||
|
<p align="left">Si vous faites tourner le serveur de nom sur le
|
|||
|
firewall :
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>udp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>dmz</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>dmz</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>udp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</p>
|
|||
|
</blockquote>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<p>Le serveur de nom tourne sur l'ordinateur 1 de la DMZ</p>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>dmz:10.10.11.1</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>dmz:10.10.11.1</td>
|
|||
|
<td>udp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>dmz:10.10.10.1</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>dmz:10.10.10.1</td>
|
|||
|
<td>udp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<h2 align="left">Autres Connexions</h2>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">L'exemple pour trois interfaces contient les r<>gles
|
|||
|
suivantes :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>net</td>
|
|||
|
<td>udp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>net</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Ces r<>gles permettent l'acc<63>s DNS depuis votre firewall
|
|||
|
et peuvent <20>tre enlev<65>es si vous avez d<>comment<6E> la ligne dans
|
|||
|
/etc/shorewall/policy autorisant toutes les connexions depuis votre
|
|||
|
firewall et vers Internet.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">L'exemple contient aussi :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>22</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>loc</td>
|
|||
|
<td>dmz</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>22</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Cette r<>gle permet de faire fonctionner une serveur SSH
|
|||
|
sur le firewall et sur tous les syst<73>mes de la DMZ et d'y autoriser la
|
|||
|
connexion <20> partir de votre r<>seau local.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Si vous d<>sirez permettre d'autres connexions entre vos
|
|||
|
syst<EFBFBD>mes, la forme g<>n<EFBFBD>rale est :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td><i><source zone></i></td>
|
|||
|
<td><i><destination zone></i></td>
|
|||
|
<td><i><protocol></i></td>
|
|||
|
<td><i><port></i></td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Exemple - Vous voulez faire tourner un serveur DNS
|
|||
|
disponible pour le publique sur votre firewall :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td>#permet les acc<63>s DNS</td>
|
|||
|
<td>depuis Internet</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>53</td>
|
|||
|
<td>#permet les acc<63>s DNS</td>
|
|||
|
<td>depuis Internet</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Ces deux r<>gles seront, bien sur, ajout<75>es aux r<>gles
|
|||
|
d<EFBFBD>crites dans "Vous pouvez installer/configurer un cache dns (Caching
|
|||
|
Name Server) sur votre firewall ou dans la DMZ".</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Si vous ne savez pas quel port ou protocole une
|
|||
|
application particuli<6C>re utilise, regardez <a href="ports.htm">ici</a>.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Important: Je ne vous recommande pas d'autoriser le
|
|||
|
telnet depuis ou vers l'Internet car il utilise du texte en clair (m<>me
|
|||
|
pour le login et le mot de passe !). Si vous voulez avoir un acc<63>s au
|
|||
|
shell de votre firewall depuis Internet, utilisez SSH :</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<blockquote>
|
|||
|
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
|||
|
id="AutoNumber4">
|
|||
|
<tbody>
|
|||
|
<tr>
|
|||
|
<td><u><b>ACTION</b></u></td>
|
|||
|
<td><u><b>SOURCE</b></u></td>
|
|||
|
<td><u><b>DESTINATION</b></u></td>
|
|||
|
<td><u><b>PROTOCOL</b></u></td>
|
|||
|
<td><u><b>PORT</b></u></td>
|
|||
|
<td><u><b>SOURCE PORT</b></u></td>
|
|||
|
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td>ACCEPT</td>
|
|||
|
<td>net</td>
|
|||
|
<td>fw</td>
|
|||
|
<td>tcp</td>
|
|||
|
<td>22</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
<td> <br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</blockquote>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13"> Et maintenant, <20>ditez /etc/shorewall/rules pour rajouter
|
|||
|
les autres connexions d<>sir<69>es.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<h2 align="left">Lancer et Arr<72>ter son Firewall</h2>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left"> <img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13" alt="Arrow"> La <a href="Install.htm">proc<EFBFBD>dure
|
|||
|
d'installation</a> configure votre syst<73>me pour lancer Shorewall au boot
|
|||
|
du syst<73>me, mais au d<>but avec la version 1.3.9 de Shorewall le
|
|||
|
lancement est d<>sactiv<69>, n'essayer pas de lancer Shorewall avec que la
|
|||
|
configuration soit finie. Une fois que vous en avez fini avec la
|
|||
|
configuration du firewall, vous pouvez permettre le lancement de
|
|||
|
Shorewall en supprimant le fichier /etc/shorewall/startup_disabled.<br>
|
|||
|
</p>
|
|||
|
<p align="left">IMPORTANT: Les utilisateurs des paquets .deb doivent
|
|||
|
<EFBFBD>diter /etc/default/shorewall et mettre 'startup=1'<font color="#ff0000">.</font><br>
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">Le firewall est activ<69> en utilisant la commande
|
|||
|
"shorewall start" et arr<72>t<EFBFBD> avec "shorewall stop". Lorsque le firewall
|
|||
|
est stopp<70>, le routage est autoris<69> sur les h<>tes qui poss<73>dent une
|
|||
|
entr<EFBFBD>e dans <a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
|||
|
Un firewall qui tourne peut <20>tre relanc<6E> en utilisant la commande
|
|||
|
"shorewall restart". Si vous voulez enlever toutes traces de Shorewall
|
|||
|
sur votre configuration de Netfilter, utilisez "shorewall clear".</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left"><img border="0" src="images/BD21298_2.gif" width="13"
|
|||
|
height="13"> L'exemple pour trois interfaces suppose que vous voulez
|
|||
|
permettre le routage depuis/vers <b>eth1 </b>(votre r<>seau local) et<b>
|
|||
|
eth2</b>(DMZ) lorsque Shorewall est arr<72>t<EFBFBD>. Si ces deux
|
|||
|
interfaces ne sont pas connect<63>es <20> votre r<>seau local et votre DMZ, ou
|
|||
|
si vous voulez permettre un ensemble d'h<>tes diff<66>rents, modifiez
|
|||
|
/etc/shorewall/routestopped en cons<6E>quence.</p>
|
|||
|
</div>
|
|||
|
<div align="left">
|
|||
|
<p align="left">ATTENTION: Si vous <20>tes connect<63> <20> votre firewall
|
|||
|
depuis Internet, n'essayez pas une commande "shorewall stop" tant que
|
|||
|
vous n'avez pas ajout<75> une entr<74>e pour votre adresse IP (celle <20> partir
|
|||
|
de laquelle vous <20>tes connect<63>e) dans <a
|
|||
|
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
|||
|
De la m<>me mani<6E>re, je ne vous recommande pas d'utiliser "shorewall
|
|||
|
restart"; il est plus int<6E>ressant de cr<63>er une <i><a
|
|||
|
href="configuration_file_basics.htm#Configs">configuration </a></i><i><a
|
|||
|
href="file:///C:/Mes%20documents/shorewalldoc/configuration_file_basics.htm#Configs">alternative</a></i>et
|
|||
|
de la tester en utilisant la commande <a
|
|||
|
href="starting_and_stopping_shorewall.htm">"shorewall try"</a>.</p>
|
|||
|
</div>
|
|||
|
<p align="left"><font size="2">Last updated 12/20/2002 - <a
|
|||
|
href="support.htm">Tom Eastep</a></font></p>
|
|||
|
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002
|
|||
|
Thomas M. Eastep</font></a></p>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
<br>
|
|||
|
</body>
|
|||
|
</html>
|