mirror of
https://gitlab.com/shorewall/code.git
synced 2024-12-27 00:29:02 +01:00
1312 lines
41 KiB
HTML
1312 lines
41 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
|
||
|
<meta http-equiv="CONTENT-TYPE"
|
||
|
content="text/html; charset=iso-8859-1">
|
||
|
<title>Two-Interface Firewall</title>
|
||
|
|
||
|
<meta name="GENERATOR" content="OpenOffice.org 1.0.1 (Linux)">
|
||
|
|
||
|
<meta name="CREATED" content="20030121;19181000">
|
||
|
|
||
|
<meta name="CHANGED" content="20030121;20290700">
|
||
|
|
||
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||
|
|
||
|
<meta name="Microsoft Theme" content="none">
|
||
|
|
||
|
<meta http-equiv="Content-Language" content="en-us">
|
||
|
</head>
|
||
|
<body lang="fr-FR">
|
||
|
<p style="margin-bottom: 0cm;"><a name="AutoNumber5"></a><br>
|
||
|
</p>
|
||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0"
|
||
|
bgcolor="#400169">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td width="100%" height="90">
|
||
|
<h1 align="center"><font color="#ffffff">Basic Two-Interface
|
||
|
Firewall</font></h1>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
<h2 align="center">Version 2.0.1 Française</h2>
|
||
|
<p align="left"><br>
|
||
|
<small><i><u>Notes du traducteur</u> :<br>
|
||
|
Je ne prétends pas être un vrai traducteur dans le sens ou
|
||
|
mon travail n’est pas des plus précis (loin de là...). Je
|
||
|
ne me suis pas attaché à une traduction exacte du texte,
|
||
|
mais plutôt à en faire une version française
|
||
|
intelligible par tous (et par moi). Les termes techniques sont la
|
||
|
plupart du temps conservés sous leur forme originale et mis
|
||
|
entre parenthèses car vous pouvez les retrouver dans le reste des
|
||
|
documentations ainsi que dans les fichiers de configuration.
|
||
|
N’hésitez pas à me contacter afin d’améliorer ce
|
||
|
document <a href="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</a>
|
||
|
(merci à JMM pour sa relecture et ses commentaires pertinents,
|
||
|
ainsi qu'à Tom EASTEP pour son formidable outil et sa
|
||
|
disponibilité)</i></small><i>.<br>
|
||
|
<br>
|
||
|
</i></p>
|
||
|
<p align="left">Mettre en place un système Linux en tant que
|
||
|
firewall pour un petit réseau est une chose assez simple, si
|
||
|
vous comprenez les bases et suivez la documentation.</p>
|
||
|
<p>Ce guide ne veut pas vous apprendre tous les rouages de Shorewall.
|
||
|
Il se focalise sur ce qui est nécessaire pour configurer
|
||
|
Shorewall, dans son utilisation la plus courante :</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">Un système Linux
|
||
|
utilisé en tant que firewall/routeur pour un petit
|
||
|
réseau local. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">Une seule adresse IP publique. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>Une connexion Internet par le biais d'un modem câble,
|
||
|
ADSL, ISDN, "Frame Relay", RTC ... </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p align="left">Voici un schéma d'une installation typique.</p>
|
||
|
<p align="center"><img src="images/basics.png" name="Image1"
|
||
|
align="bottom" width="444" height="635" border="0"></p>
|
||
|
<p><b>Si vous faites tourner Shorewall sous Mandrake 9.0 ou plus
|
||
|
récent, vous pouvez facilement réaliser la configuration
|
||
|
ci-dessus en utilisant l'applet Mandrake "Internet Connection Sharing".
|
||
|
Depuis le "Mandrake Control Center", sélectionnez "Network &
|
||
|
Internet" et "Connection Sharing". Vous ne devriez pas avoir besoin de
|
||
|
vous référer à ce guide.</b></p>
|
||
|
<p>Ce guide suppose que vous avez le paquet iproute/iproute2
|
||
|
d'installé.<i> </i>Vous pouvez voir si le paquet est
|
||
|
installé en vérifiant la présence du programme ip
|
||
|
sur votre systè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 qui va se passer, et de revenir au
|
||
|
début en effectuant le changements dans votre configuration. Les
|
||
|
points où, les changements dans la configuration sont
|
||
|
recommandées, sont signalés par une <img
|
||
|
src="images/BD21298_.gif" name="Image2" align="bottom" width="13"
|
||
|
height="13" border="0">.</p>
|
||
|
<p><img src="images/j0213519.gif" name="Image3" align="bottom"
|
||
|
width="60" height="60" border="0"> Si vous
|
||
|
éditez vos fichiers de configuration sur un système
|
||
|
Windows, vous devez les sauver comme des fichiers Unix si votre
|
||
|
éditeur offre cette option sinon vous devez les faire passer par
|
||
|
dos2unix avant d'essayer de les utiliser. De la même
|
||
|
maniè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>
|
||
|
<p style="margin-bottom: 0cm;"><a
|
||
|
href="http://www.simtel.net/pub/pd/51438.html">Windows Version of
|
||
|
dos2unix</a> </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p><a href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux
|
||
|
Version of dos2unix</a> </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h2 align="left">Les Concepts de Shorewall</h2>
|
||
|
<p><img src="images/BD21298_.gif" name="Image4" align="bottom"
|
||
|
width="13" height="13" border="0"> Les fichiers de
|
||
|
configuration pour Shorewall sont dans le répertoire
|
||
|
/etc/shorewall -- pour de simples configurations, vous n'aurez
|
||
|
seulement à faire qu'avec quelques fichiers comme décrit
|
||
|
dans ce guide. Après avoir <a href="Install.htm">installé
|
||
|
Shorewall</a>, télé chargez<b> le <a
|
||
|
href="../../../pub/shorewall/LATEST.samples/two-interfaces.tgz">two-interface
|
||
|
sample</a>, un-tarez le (tar -zxvf two-interfaces.tgz) et copiez les
|
||
|
fichiers vers /etc/shorewall (ces fichiers remplaceront les fichiers de
|
||
|
même nom).</b></p>
|
||
|
<p>Parallèlement à la présentation de chacun des
|
||
|
fichiers, je vous suggère de regarder le fichier qui se trouve
|
||
|
réellement sur votre système -- tous les fichiers
|
||
|
contiennent des instructions de configuration détaillées
|
||
|
et des valeurs par défaut.</p>
|
||
|
<p>Shorewall voit le réseau où il tourne, comme un
|
||
|
ensemble de <i>zones.</i> Dans une configuration avec deux interfaces,
|
||
|
les noms des zones suivantes sont utilisés:</p>
|
||
|
<a name="AutoNumber2"></a>
|
||
|
<table border="0" cellpadding="3" cellspacing="0">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>Nom</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Description</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>net</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><b>Internet</b></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>loc</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><b>Votre réseau local</b></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
<p>Les zones sont définies dans le fichier<a
|
||
|
href="Documentation.htm#Zones">/etc/shorewall/zones</a> .</p>
|
||
|
<p>Shorewall reconnaît aussi le système de firewall comme
|
||
|
sa propre zone - par défaut, le firewall est connu comme<b> fw.</b></p>
|
||
|
<p>Les règles à propos de quel trafic autoriser, et de
|
||
|
quel trafic interdire sont exprimées en terme de zones.</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">Vous exprimez votre politique par
|
||
|
défaut pour les connexions d'une zone vers une autre zone dans
|
||
|
le fichier<a href="Documentation.htm#Policy"> /etc/shorewall/policy </a>.
|
||
|
</p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>Vous définissez les exceptions à ces politiques
|
||
|
pas défaut dans le fichier <a href="Documentation.htm#Rules">/etc/shorewall/rules
|
||
|
</a>. </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>Pour chaque connexion demandant à entrer dans le firewall, la
|
||
|
requête est en premier lieu comparée par rapport au fichier
|
||
|
/etc/shorewall/rules. Si aucune règle dans ce fichier ne
|
||
|
correspond à la demande de connexion alors la première
|
||
|
politique dans le fichier /etc/shorewall/policy qui y correspond sera
|
||
|
appliquée. Si cette politique est REJECT ou DROP la
|
||
|
requête est dans un premier temps comparée par rapport aux
|
||
|
règles contenues dans /etc/shorewall/common.</p>
|
||
|
<p>Le fichier /etc/shorewall/policy inclue dans l'archive d'exemple
|
||
|
(two-interface) a les politiques suivantes:</p>
|
||
|
<a name="AutoNumber3"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>Source Zone</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Destination Zone</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Policy</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Log Level</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Limit:Burst</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>loc</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>all</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>DROP</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>info</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>all</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>all</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>REJECT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>info</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<blockquote>Dans le fichier d'exemple (two-interface), la ligne
|
||
|
suivante est inclue mais elle est commentée. Si vous voulez que
|
||
|
votre firewall puisse avoir un accès complet aux serveurs sur
|
||
|
Internet, décommentez la ligne.</blockquote>
|
||
|
<a name="AutoNumber31"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>Source Zone</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Destination Zone</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Policy</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Log Level</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>Limit:Burst</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p>Ces politiques vont:</p>
|
||
|
<ol>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">permettre toutes les demandes de
|
||
|
connexion depuis votre réseau local vers l'Internet </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">drop (ou ignorer) toutes les
|
||
|
demandes de connexion depuis l'Internet vers votre firewall ou votre
|
||
|
réseau local. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">Facultativement accepter toutes
|
||
|
les demandes de connexion de votre firewall vers l'Internet (si vous
|
||
|
avez dé commenté la politique additionnelle) </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>reject (rejeter) toutes les autres demandes de connexion. </p>
|
||
|
</li>
|
||
|
</ol>
|
||
|
<p><img src="images/BD21298_.gif" name="Image5" align="bottom"
|
||
|
width="13" height="13" border="0"> A ce point,
|
||
|
éditez votre fichier /etc/shorewall/policy et faite les
|
||
|
changements que vous désirez.</p>
|
||
|
<h2 align="left">Network Interfaces</h2>
|
||
|
<p align="center"><img src="images/basics.png" name="Image6"
|
||
|
align="bottom" width="444" height="635" border="0"></p>
|
||
|
<p align="left">Le firewall a deux 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érieur (<i>External
|
||
|
Interface)</i> sera l'adaptateur sur lequel est connecté le
|
||
|
routeur (e.g., <b>eth0</b>) <u>à moins que</u> vous ne
|
||
|
vous connectiez par <i><u>P</u>oint-to-<u>P</u>oint<u>P</u>rotocol over<u>E</u>thernet</i>
|
||
|
(PPPoE) ou par <i><u>P</u>oint-to-<u>P</u>oint<u>T</u>unneling<u>P</u>rotocol</i>(PPTP),
|
||
|
dans ce cas l'interface extérieure sera une interface de type
|
||
|
ppp (e.g., <b>ppp0</b>). Si vous vous connectez par un simple modem
|
||
|
(RTC), votre interface extérieure sera aussi <b>ppp0</b>. Si
|
||
|
votre connexion passe par Numéris (ISDN), votre interface
|
||
|
extérieure sera<b>ippp0.</b></p>
|
||
|
<p align="left"><img src="images/BD21298_1.gif" name="Image7"
|
||
|
align="bottom" width="13" height="13" border="0"> Si
|
||
|
votre interface vers l'extérieur est<b>ppp0</b> ou <b>ippp0</b>
|
||
|
alors vous mettrez CLAMPMSS=yes dans <a href="Documentation.htm#Conf">/etc/shorewall/shorewall.conf.</a></p>
|
||
|
<p align="left">Votre <i>Internal Interface</i> (interface vers votre
|
||
|
réseau local -> LAN) sera un adaptateur Ethernet (eth1 ou
|
||
|
eth0) et sera connectée à un hub ou switch (ou un PC avec
|
||
|
un câble croisé). Vos autres ordinateurs seront
|
||
|
connectés à ce même hub/switch</p>
|
||
|
<p align="left"><b><u><img src="images/j0213519.gif" name="Image8"
|
||
|
align="bottom" width="60" height="60" border="0"></u></b>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 src="images/BD21298_.gif" name="Image9"
|
||
|
align="left" width="13" height="13" border="0"> Le
|
||
|
fichier de configuration d'exemple pour deux interfaces suppose que
|
||
|
votre interface externe est <b>eth0</b>et que l'interne est <b>eth1</b>.
|
||
|
Si votre configuration est différente, vous devrez modifier le
|
||
|
fichier <a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||
|
en conséquence. Tant que vous y êtes, vous pourriez
|
||
|
parcourir la liste des options qui sont spécifiées pour
|
||
|
les interfaces. Quelques trucs:</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p align="left">Si votre interface vers l'extérieur est <b>ppp0</b>
|
||
|
ou <b>ippp0</b>, vous pouvez remplacer le "detect" dans la seconde
|
||
|
colonne par un "-". </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p align="left">Si votre interface vers l'extérieur
|
||
|
est <b>ppp0</b> ou <b>ippp0</b> ou si vous avez une adresse IP
|
||
|
statique, vous pouvez enlever "dhcp" dans la liste des options. </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h2 align="left">Adresses IP</h2>
|
||
|
<p align="left">Avant d'aller plus loin, nous devons dire quelques mots
|
||
|
au sujet de Internet Protocol (IP) <i>addresses</i>. Normalement, votre
|
||
|
fournisseur Internet (ISP) vous assignera une seule adresse IP (single <i>Public</i>IP
|
||
|
address). Cette adresse peut être assignée par le Dynamic<i>
|
||
|
Host Configuration Protocol</i>(DHCP) ou lors de l'établissement
|
||
|
de votre connexion lorsque vous vous connectez (modem standard) ou
|
||
|
établissez votre connexion PPP. Dans de rares cas , votre
|
||
|
provider peut vous assigner une adresse statique<i> (static</i>IP
|
||
|
address); cela signifie que vous devez configurer l'interface externe
|
||
|
de votre firewall afin d'utiliser cette adresse de manière
|
||
|
permanente. Votre adresse externe assignée, elle va être
|
||
|
partagée par tous vos systèmes lors de l'accès
|
||
|
à Internet. Vous devrez assigner vos propres adresses dans votre
|
||
|
réseau local (votre interface interne sur le firewall
|
||
|
ainsi que les autres ordinateurs). La RFC 1918 réserve
|
||
|
plusieurs plages d'IP (<i>Private</i>IP address ranges) à cette
|
||
|
fin :</p>
|
||
|
<pre style="text-align: left;"> 10.0.0.0 - 10.255.255.255an<br> 172.16.0.0 - 172.31.255.255<br> 192.168.0.0 - 192.168.255.255</pre>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image10"
|
||
|
align="bottom" width="13" height="13" border="0">
|
||
|
Avant de lancer Shorewall, vous devriez regarder l'adresse IP de votre
|
||
|
interface externe, et si elle est dans les plages
|
||
|
précédentes, vous devriez enlever l'option 'norfc1918'
|
||
|
dans la ligne concernant l'interface externe dans le fichier
|
||
|
/etc/shorewall/interfaces.</p>
|
||
|
<p align="left">Vous devrez assigner vos adresses depuis le même
|
||
|
sous-réseau (<i>sub-network/subnet)</i>. Pour ce faire, nous
|
||
|
pouvons considérer un sous-réseau dans une plage
|
||
|
d'adresses x.y.z.0 - x.y.z.255. Chaque sous-réseau aura un
|
||
|
masque (<i>Subnet Mask) </i>de 255.255.255.0. L'adresse x.y.z.0 est
|
||
|
réservée comme l'adresse de sous-réseau (<i>Subnet
|
||
|
Address) </i>et x.y.z.255 est réservée en tant
|
||
|
qu'adresse de broadcast (<i>Subnet Broadcast</i> <i>Address)</i>. Dans
|
||
|
Shorewall, un sous-réseau est décrit en utilisant <a
|
||
|
href="shorewall_setup_guide.htm#Subnets"><i>la notation Classless
|
||
|
InterDomain Routing </i>(CIDR)</a> qui consiste en l'adresse du
|
||
|
sous-réseau suivie par "/24". Le "24" se réfère au
|
||
|
nombre consécutif de bits marquant "1" dans la partie gauche du
|
||
|
masque de sous-réseau.</p>
|
||
|
<p align="left">Un exemple de sous-réseau (sub-network) :</p>
|
||
|
<a name="AutoNumber1"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>Plage:</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>10.10.10.0 - 10.10.10.255</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>Subnet Address:</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>10.10.10.0</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>Broadcast Address:</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>10.10.10.255</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><b>CIDR Notation:</b></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>10.10.10.0/24</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left">Il est de mise d'assigner l'interface interne (LAN)
|
||
|
à la première adresse utilisable du sous-réseau
|
||
|
(10.10.10.1 dans l'exemple précédent) ou la
|
||
|
dernière adresse utilisable (10.10.10.254).</p>
|
||
|
<p align="left">L'un des buts d'un sous-réseau est de permettre
|
||
|
à tous les ordinateurs dans le sous-réseau de savoir avec
|
||
|
quels autres ordinateurs ils peuvent communiquer directement. Pour
|
||
|
communiquer avec des systèmes en dehors du sous-réseau,
|
||
|
les ordinateurs envoient des paquets à travers le gateway
|
||
|
(routeur).</p>
|
||
|
<p align="left"><img src="images/BD21298_1.gif" name="Image11"
|
||
|
align="bottom" width="13" height="13" border="0">
|
||
|
Vos ordinateurs en local (ordinateur 1 et ordinateur 2 dans le
|
||
|
diagramme) devraient être configurés avec leur passerelle
|
||
|
par défaut<i> (default gateway</i>) pointant sur l'adresse IP de
|
||
|
l'interface interne du firewall.</p>
|
||
|
<p align="left">The foregoing short discussion barely scratches the
|
||
|
surface regarding subnetting and routing. If you are interested in
|
||
|
learning more about IP addressing and routing, I highly recommend <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">Le reste de ce guide assumera que vous avez
|
||
|
configuré votre réseau comme montré ci-dessous :</p>
|
||
|
<p align="center"><img src="images/basics1.png" name="Image12"
|
||
|
align="bottom" width="444" height="635" border="0"></p>
|
||
|
<p align="left">La passerelle par défaut pour les ordinateurs 1
|
||
|
et 2 devrait être 10.10.10.254.</p>
|
||
|
<h2 align="left">IP Masquerading (SNAT)</h2>
|
||
|
<p align="left">Les adresses réservées par la RFC 1918
|
||
|
sont parfois désignées comme <i>non-routables</i> car les
|
||
|
routeurs Internet (backbone) ne font pas circuler les paquets qui ont
|
||
|
une adresse de destination appartenant à la RFC-1918. Lorsqu'un
|
||
|
de vos systèmes en local (supposons l'ordinateur1) demande une
|
||
|
connexion à un serveur par Internet, le firewall doit appliquer
|
||
|
un NAT<i> (Network Address Translation)</i>. Le firewall ré
|
||
|
é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ée par la RFC 1918 ne pourront pas être
|
||
|
routés à travers Internet, donc l'hôte Internet ne
|
||
|
pourra adresser sa réponse à l'ordinateur 1). Lorsque le
|
||
|
firewall reçoit le paquet de réponse, il remet l'adresse
|
||
|
de destination à 10.10.10.1 et fait passer le paquet vers
|
||
|
l'ordinateur 1. </p>
|
||
|
<p align="left">Sur les systèmes Linux, ce procédé
|
||
|
est souvent appelé de l'<i>IP Masquerading</i> mais vous verrez
|
||
|
aussi le terme de <i>Source Network Address Translation </i>(SNAT)
|
||
|
utilisé. Shorewall suit la convention utilisée avec
|
||
|
Netfilter:</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p align="left"><i>Masquerade</i> désigne le cas ou vous
|
||
|
laissez votre firewall détecter automatiquement l'adresse de
|
||
|
l'interface externe. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p align="left"><i>SNAT</i> désigne le cas où vous
|
||
|
spé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é avec des entrés dans le fichier
|
||
|
/etc/shorewall/masq. Vous utiliserez normalement le Masquerading si
|
||
|
votre adresse IP externe est dynamique, et SNAT si elle est statique.</p>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image13"
|
||
|
align="bottom" width="13" height="13" border="0"> Si
|
||
|
votre interface externe du firewall est <b>eth0</b>, vous n'avez pas
|
||
|
besoin de modifier le fichier fourni avec l'exemple. Dans le cas
|
||
|
contraire, éditez /etc/shorewall/masq et changez la
|
||
|
première colonne par le nom de votre interface externe, et la
|
||
|
seconde colonne par le nom de votre interface interne.</p>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image14"
|
||
|
align="bottom" width="13" height="13" border="0"> Si
|
||
|
votre IP externe est statique, vous pouvez la mettre dans la
|
||
|
troisième colonne dans /etc/shorewall/masq si vous le
|
||
|
désirez, de toutes façons votre firewall fonctionnera
|
||
|
bien si vous laissez cette colonne vide. Le fait de mettre votre IP
|
||
|
statique dans la troisième colonne permet un traitement des
|
||
|
paquets sortant un peu plus efficace.<br>
|
||
|
<br>
|
||
|
<img src="images/BD21298_.gif" name="Image15" align="bottom" width="13"
|
||
|
height="13" border="0"> 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:</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">NAT_ENABLED=Yes </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>IP_FORWARDING=On</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h2 align="left">Port Forwarding (DNAT)</h2>
|
||
|
<p align="left">Un de nos buts est de , peut être, faire tourner
|
||
|
un ou plusieurs serveurs sur nos ordinateurs locaux. Parce que ces
|
||
|
ordinateurs on une adresse RFC-1918, il n' est pas possible pour les
|
||
|
clients sur Internet de se connecter directement à eux. Il est
|
||
|
nécessaire à ces clients d'adresser leurs demandes de
|
||
|
connexion au firewall qui ré écrit l'adresse de
|
||
|
destination de votre serveur, et fait passer le paquet à
|
||
|
celui-ci. Lorsque votre serveur répond, le firewall applique
|
||
|
automatiquement un SNAT pour ré écrire l'adresse source
|
||
|
dans la réponse.</p>
|
||
|
<p align="left">Ce procédé est appelé<i> Port
|
||
|
Forwarding</i> ou <i>Destination Network Address Translation</i>(DNAT).
|
||
|
Vous configurez le port forwarding en utilisant les règles DNAT
|
||
|
dans le fichier /etc/shorewall/rules.</p>
|
||
|
<p>La forme générale d'une simple règle de port
|
||
|
forwarding dans /etc/shorewall/rules est:</p>
|
||
|
<a name="AutoNumber4"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>DNAT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc:<i><server local ip address> </i>[:<i><server
|
||
|
port></i>]</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><protocol></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><port></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p>Exemple - vous faites tourner un serveur Web sur l'ordinateur 2 et
|
||
|
vous voulez faire passer les requêtes TCP sur le port 80 à
|
||
|
ce système :</p>
|
||
|
<a name="AutoNumber41"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>DNAT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc:10.10.10.2</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>80</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p>Deux points importants à garder en mémoire :</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p style="margin-bottom: 0cm;">Vous devez tester la règle
|
||
|
précédente depuis un client à l'extérieur
|
||
|
de votre réseau local (c.a.d., ne pas tester depuis un
|
||
|
navigateur tournant sur l'ordinateur 1 ou 2 ou sur le firewall). Si
|
||
|
vous voulez avoir la possibilité d'accéder à
|
||
|
votre serveur web en utilisant l'adresse IP externe de votre
|
||
|
firewall, regardez <a href="FAQ.htm#faq2">Shorewall FAQ #2</a>. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>Quelques fournisseurs Internet (Provider/ISP) bloquent les
|
||
|
requêtes entrantes de connexion sur le port 80. Si vous avez des
|
||
|
problèmes à vous connecter à votre serveur web,
|
||
|
essayez la règle suivante et connectez vous sur le port 5000. </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="AutoNumber42"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>DNAT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc:10.10.10.2:80</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>5000</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><img src="images/BD21298_.gif" name="Image16" align="bottom"
|
||
|
width="13" height="13" border="0"> A ce point,
|
||
|
modifiez /etc/shorewall/rules pour ajouter les règles DNAT dont
|
||
|
vous avez besoin.</p>
|
||
|
<h2 align="left">Domain Name Server (DNS)</h2>
|
||
|
<p align="left">Normalement, quand vous vous connectez à votre
|
||
|
fournisseur (ISP), une partie consiste à obtenir votre adresse
|
||
|
IP, votre DNS pour le firewall (<i>Domain Name Service) </i>est
|
||
|
configuré automatiquement (c.a.d.,le fichier /etc/resolv.conf a
|
||
|
été écrit). Il arrive que votre provider vous
|
||
|
donne une paire d'adresse IP pour les DNS<i> (name servers)</i> afin que
|
||
|
vous configuriez manuellement votre serveur de nom primaire et
|
||
|
secondaire. La manière dont le DNS est configuré sur
|
||
|
votre firewall est de <u>votre</u> responsabilité. Vous pouvez
|
||
|
procéder d'une de ses deux façons :</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<p align="left">Vous pouvez configurer votre systè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è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és dans
|
||
|
l'enregistrement "nameserver" dans ce fichier. </p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image17"
|
||
|
align="bottom" width="13" height="13" border="0">
|
||
|
Vous pouvez configurer un cache dns<i> (Caching Name Server) </i>sur
|
||
|
votre firewall.<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ème interne pour utiliser
|
||
|
le firewall lui même comme é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. Pour
|
||
|
permettre à vos systèmes locaux de discuter avec votre
|
||
|
serveur cache de nom, vous devez ouvrir le port 53 (UDP ET TCP)
|
||
|
sur le firewall vers le réseau local; vous ferez ceci en
|
||
|
ajoutant les règles suivantes dans /etc/shorewall/rules. </p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="AutoNumber43"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>53</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>udp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>53</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<h2 align="left">Autres Connexions</h2>
|
||
|
<p align="left">Les fichiers exemples inclus dans l'archive
|
||
|
(two-interface) contiennent les règles suivantes :</p>
|
||
|
<a name="AutoNumber44"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>53</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>udp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>53</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left">Ces règles autorisent l'accès DNS
|
||
|
à partir de votre firewall et peuvent être enlevées
|
||
|
si vous avez dé commenté la ligne dans
|
||
|
/etc/shorewall/policy autorisant toutes les connexions depuis le
|
||
|
firewall vers Internet.</p>
|
||
|
<p align="left">Les exemples contiennent aussi :</p>
|
||
|
<a name="AutoNumber45"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>22</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left">Cette règle vous autorise à faire tourner
|
||
|
un serveur SSH sur votre firewall et à vous y connecter depuis
|
||
|
votre réseau local.</p>
|
||
|
<p align="left">Si vous voulez permettre d'autres connexions entre
|
||
|
votre firewall et d'autres systèmes, la forme
|
||
|
générale est :</p>
|
||
|
<a name="AutoNumber46"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><source zone></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><destination zone></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><protocol></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><i><port></i></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left">Exemple - Vous voulez faire tourner un serveur Web sur
|
||
|
votre firewall :</p>
|
||
|
<a name="AutoNumber47"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>80</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>#Permet l'accès Web</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>depuis Internet</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>loc</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>80</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>#Permet l'accès Web</p>
|
||
|
<br>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>depuis Internet</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left">Ces deux règles bien sûr viennent
|
||
|
s'ajouter aux règles décrites précédemment
|
||
|
dans "Vous pouvez configurer un cache dns<i> (Caching Name Server) </i>sur
|
||
|
votre firewall"</p>
|
||
|
<p align="left">Si vous ne savez pas quel port et quel protocole une
|
||
|
application particulière utilise, regardez <a href="ports.htm">ici</a>.</p>
|
||
|
<p align="left"><b>Important: </b>Je ne vous recommande pas de
|
||
|
permettre le telnet depuis ou vers Internet car il utilise du texte en
|
||
|
clair (même pour le login et le mot de passe!). Si vous voulez un
|
||
|
accès au shell sur votre firewall depuis Internet, utilisez SSH :</p>
|
||
|
<a name="AutoNumber48"></a>
|
||
|
<dl>
|
||
|
<dd>
|
||
|
<table border="1" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p><u><b>ACTION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>DESTINATION</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PROTOCOL</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>SOURCE PORT</b></u></p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p><u><b>ORIGINAL ADDRESS</b></u></p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>
|
||
|
<p>ACCEPT</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>net</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>fw</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>tcp</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p>22</p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
<td>
|
||
|
<p> </p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image18"
|
||
|
align="bottom" width="13" height="13" border="0">
|
||
|
Maintenant éditez votre fichier /etc/shorewall/rules pour
|
||
|
ajouter ou supprimer les connexions voulues.</p>
|
||
|
<h2 align="left">Lancer et Arrêter votre Firewall</h2>
|
||
|
<p align="left"><img src="images/BD21298_2.gif" name="Image19"
|
||
|
alt="Arrow" align="bottom" width="13" height="13" border="0">
|
||
|
La <a href="Install.htm">procédure d'installation</a>
|
||
|
configure votre système pour lancer Shorewall au boot du
|
||
|
système, mais pour les débutants sous Shorewall version
|
||
|
1.3.9, le lancement est désactivé tant que la
|
||
|
configuration n' est pas finie. Une fois la configuration de votre
|
||
|
firewall achevée, vous pouvez permettre le lancement de Shorewall
|
||
|
en enlevant le fichier /etc/shorewall/startup_disabled.</p>
|
||
|
<p align="left"><font color="#ff0000"><b>IMPORTANT</b>: Les
|
||
|
utilisateurs des paquets .deb doivent éditer
|
||
|
/etc/default/shorewall et mettre 'startup=1'.</font></p>
|
||
|
<p align="left">Le firewall est lancé en utilisant la commande
|
||
|
"shorewall start" et stoppé avec "shorewall stop". Lorsque le
|
||
|
firewall est stoppé, le routage est permis sur les hôtes
|
||
|
qui sont dans le fichier<a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||
|
Un firewall fonctionnant peut être relancé en utilisant la
|
||
|
commande "shorewall restart". Si vous voulez enlever toutes les traces
|
||
|
de Shorewall dans votre configuration de Netfilter, utilisez "shorewall
|
||
|
clear".</p>
|
||
|
<p align="left"><img src="images/BD21298_.gif" name="Image20"
|
||
|
align="bottom" width="13" height="13" border="0">
|
||
|
Les exemples (two-interface) supposent que vous voulez permettre le
|
||
|
routage depuis ou vers <b>eth1 </b>(le réseau local) lorsque
|
||
|
Shorewall est stoppé. Si votre réseau local n' est pas
|
||
|
connecté à <b>eth1</b> ou si vous voulez permettre
|
||
|
l'accès depuis ou vers d'autres hôtes, changez
|
||
|
/etc/shorewall/routestopped en conséquence.</p>
|
||
|
<p align="left"><b>ATTENTION: </b>Si vous êtes connecté
|
||
|
à votre firewall depuis Internet, n'essayez pas la commande
|
||
|
"shorewall stop" tant que vous n'avez pas ajouté une
|
||
|
entrée pour votre adresse IP depuis laquelle vous êtes
|
||
|
connecté dans<a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||
|
De plus, je ne vous recommande pas d'utiliser "shorewall restart"; il
|
||
|
est mieux de créer une <a
|
||
|
href="configuration_file_basics.htm#Configs"><i>configuration
|
||
|
alternative</i></a> et de l'essayer en utilisant la commande<a
|
||
|
href="starting_and_stopping_shorewall.htm">"shorewall try".</a></p>
|
||
|
<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>
|
||
|
</body>
|
||
|
</html>
|