mirror of
https://gitlab.com/shorewall/code.git
synced 2024-11-21 15:13:10 +01:00
c93817f30b
The invariant sections clause doesn't quite match the official text. It should read: with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts not: with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
731 lines
32 KiB
XML
731 lines
32 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
<article id="standalone_fr" lang="fr">
|
|
<!--$Id$-->
|
|
|
|
<articleinfo>
|
|
<title>Firewall Monoposte (une interface)</title>
|
|
|
|
<subtitle>Version Française de <foreignphrase lang="en"><ulink
|
|
url="https://shorewall.org/standalone.htm">Standalone
|
|
Firewall</ulink></foreignphrase></subtitle>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tom</firstname>
|
|
|
|
<surname>Eastep</surname>
|
|
</author>
|
|
|
|
<othercredit role="translator">
|
|
<firstname>Patrice</firstname>
|
|
|
|
<surname>Vetsel</surname>
|
|
|
|
<contrib>Traduction française initiale</contrib>
|
|
</othercredit>
|
|
|
|
<othercredit role="translator">
|
|
<firstname>Fabien</firstname>
|
|
|
|
<surname>Demassieux</surname>
|
|
|
|
<contrib>Adaptation française version 2.0</contrib>
|
|
</othercredit>
|
|
|
|
<othercredit role="translator">
|
|
<firstname>Guy</firstname>
|
|
|
|
<surname>Marcenac</surname>
|
|
|
|
<contrib>Adaptation française version 3.0 et version 4.0</contrib>
|
|
</othercredit>
|
|
</authorgroup>
|
|
|
|
<pubdate><?dbtimestamp format="Y/m/d"?></pubdate>
|
|
|
|
<copyright>
|
|
<year>2002-2007</year>
|
|
|
|
<holder>Thomas M. Eastep</holder>
|
|
|
|
<holder>Patrice Vetsel</holder>
|
|
|
|
<holder>Fabien Demassieux</holder>
|
|
|
|
<holder>Guy Marcenac</holder>
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
<para>Permission est accordée de copier, distribuer et/ou modifier ce
|
|
document selon les termes de la Licence de Documentation Libre GNU (GNU
|
|
Free Documentation License), version 1.2 ou toute version ultérieure
|
|
publiée par la Free Software Foundation ; sans section Invariables, sans
|
|
première de Couverture, et sans texte de quatrième de couverture. Une
|
|
copie de la présente Licence est incluse dans la section intitulée. Une
|
|
traduction française de la licence se trouve dans la section
|
|
<quote><ulink url="http://cesarx.free.fr/gfdlf.html">Licence de
|
|
Documentation Libre GNU</ulink></quote>. Ce paragraphe est une
|
|
traduction française pour aider à votre compréhension. Seul le texte
|
|
original en anglais présenté ci-dessous fixe les conditions
|
|
d'utilisation de cette documentation.</para>
|
|
|
|
<para>Permission is granted to copy, distribute and/or modify this
|
|
document under the terms of the GNU Free Documentation License, Version
|
|
1.2 or any later version published by the Free Software Foundation; with
|
|
no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
|
Texts. A copy of the license is included in the section entitled
|
|
<quote><ulink url="GnuCopyright.htm">GNU Free Documentation
|
|
License</ulink></quote>.</para>
|
|
</legalnotice>
|
|
</articleinfo>
|
|
|
|
<note>
|
|
<para><emphasis role="underline">Notes du traducteur :</emphasis> Le guide
|
|
initial a été traduit par <ulink
|
|
url="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</ulink> et la
|
|
révision pour la version 2 de Shorewall a été effectuée par <ulink
|
|
url="mailto:fd03x@wanadoo.fr">Fabien Demassieux</ulink>. J'ai assuré la
|
|
révision pour l'adapter à la version 3, puis 4 de Shorewall. Si vous
|
|
trouvez des erreurs ou des améliorations à y apporter vous pouvez <ulink
|
|
url="mailto:guy@posteurs.com">me contacter</ulink>.</para>
|
|
</note>
|
|
|
|
<caution>
|
|
<para><emphasis role="bold">Cet article s'applique à Shorewall 4.0 et à
|
|
ses versions ultérieures. Si vous utilisez une version plus ancienne de
|
|
Shorewall, référez-vous à la documentation s'appliquant à votre
|
|
version.</emphasis></para>
|
|
</caution>
|
|
|
|
<caution>
|
|
<para><emphasis role="bold">Ne tentez pas d'installer Shorewall sur un
|
|
système distant. Il est pratiquement certain que vous vous enfermerez à
|
|
l'extérieur de ce système.</emphasis></para>
|
|
</caution>
|
|
|
|
<section id="Introduction">
|
|
<title>Introduction</title>
|
|
|
|
<para>Configurer Shorewall sur un système isolé Linux est très simple si
|
|
vous comprenez les bases et suivez la documentation.</para>
|
|
|
|
<para>Ce guide ne prétend pas vous apprendre tous les rouages de
|
|
Shorewall. Il se concentre sur ce qui est nécessaire pour configurer
|
|
Shorewall dans son utilisation la plus courante :</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Un système Linux</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Une seule adresse IP externe</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Une connexion passant par un modem câble,
|
|
<acronym>ADSL</acronym>, <acronym>ISDN-RNIS</acronym>, Frame Relay,
|
|
<acronym>RTC</acronym>... ou bien une connexion à un réseau local
|
|
(<acronym>LAN</acronym>) et vous souhaitez simplement protéger votre
|
|
système Linux des autres systèmes sur ce réseau local.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<section id="System">
|
|
<title>Pré-requis système</title>
|
|
|
|
<para>Shorewall a besoin que le package
|
|
<command><command>iproute</command></command>/<command><command>iproute2</command></command>
|
|
soit installé (avec la distribution <trademark>RedHat</trademark>, le
|
|
package s'appelle <command>iproute</command>). Vous pouvez vérifier que
|
|
le package est installé en contrôlant la présence du programme
|
|
<command><command>ip</command></command> sur votre firewall. En tant que
|
|
<systemitem class="username">root</systemitem>, vous pouvez utiliser la
|
|
commande <command><command>which</command></command> pour cela:</para>
|
|
|
|
<programlisting>[root@gateway root]# <command>which ip</command>
|
|
/sbin/ip
|
|
[root@gateway root]#</programlisting>
|
|
</section>
|
|
|
|
<section id="Before">
|
|
<title>Avant de commencer</title>
|
|
|
|
<para>Je vous recommande de commencer par une lecture complète du guide
|
|
afin de vous familiariser avec les concepts mis en oeuvre, puis de
|
|
recommencer la lecture et seulement alors d'appliquer vos modifications
|
|
de configuration.</para>
|
|
|
|
<caution>
|
|
<para>Si vous éditez vos fichiers de configuration sur un système
|
|
<trademark>Windows</trademark>, vous devez les enregistrer comme des
|
|
fichiers <trademark>Unix</trademark> si votre éditeur supporte cette
|
|
option, sinon vous devez les convertir avec
|
|
<command>dos2unix</command> avant d'essayer de les utiliser. De la
|
|
même manière, si vous copiez un fichier de configuration depuis votre
|
|
disque dur <trademark>Windows</trademark> vers une disquette, vous
|
|
devez lancer <command>dos2unix</command> sur la copie avant de
|
|
l'utiliser avec Shorewall.</para>
|
|
|
|
<simplelist>
|
|
<member><ulink url="http://www.simtel.net/pub/pd/51438.html">Version
|
|
Windows de dos2unix</ulink></member>
|
|
|
|
<member><ulink
|
|
url="http://www.megaloman.com/~hany/software/hd2u/">Version Linux de
|
|
dos2unix</ulink></member>
|
|
</simplelist>
|
|
</caution>
|
|
</section>
|
|
|
|
<section id="Conventions">
|
|
<title>Conventions</title>
|
|
|
|
<para>Les points ou les modifications qui s'imposent sont indiqués par
|
|
<inlinegraphic fileref="images/BD21298_.gif" format="GIF" />.</para>
|
|
</section>
|
|
</section>
|
|
|
|
<section id="PPTP">
|
|
<title>PPTP/ADSL</title>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Si vous êtes équipé d'un modem
|
|
<acronym><acronym>ADSL</acronym></acronym> et que vous utilisez
|
|
<acronym><acronym>PPTP</acronym></acronym> pour communiquer avec un
|
|
serveur à travers ce modem, vous devez faire les changements <ulink
|
|
url="PPTP.htm#PPTP_ADSL">suivants</ulink> en plus de ceux décrits
|
|
ci-dessous. <acronym><acronym>ADSL</acronym></acronym> avec
|
|
<acronym><acronym>PPTP</acronym></acronym> est répandu en Europe,
|
|
notamment en Autriche.</para>
|
|
</section>
|
|
|
|
<section id="Concepts">
|
|
<title>Les Concepts de Shorewall</title>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Les fichiers de configuration pour Shorewall sont situés dans le
|
|
répertoire <filename class="directory">/etc/shorewall</filename> -- pour
|
|
de simples paramétrages, vous n'aurez à faire qu'avec quelques-uns d'entre
|
|
eux comme décrit dans ce guide. Après avoir <ulink
|
|
url="Install_fr.html">installé Shorewall</ulink>,vous pourrez trouver les
|
|
exemples de la manière suivante:</para>
|
|
|
|
<para><orderedlist>
|
|
<listitem>
|
|
<para>Si vous avez installé shorewall en utilisant un
|
|
<acronym>RPM</acronym>, les exemples seront dans le sous-répertoire
|
|
<filename class="directory">Samples/one-interface/</filename> du
|
|
répertoire de la documentation de Shorewall. Si vous ne savez pas où
|
|
se trouve le répertoire de la documentation de Shorewall, vous
|
|
pouvez trouver les exemples en utilisant cette commande:</para>
|
|
|
|
<programlisting>~# rpm -ql shorewall | fgrep one-interface
|
|
/usr/share/doc/packages/shorewall/Samples/one-interface
|
|
/usr/share/doc/packages/shorewall/Samples/one-interface/interfaces
|
|
/usr/share/doc/packages/shorewall/Samples/one-interface/policy
|
|
/usr/share/doc/packages/shorewall/Samples/one-interface/rules
|
|
/usr/share/doc/packages/shorewall/Samples/one-interface/zones
|
|
~#</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Si vous avez installé depuis le tarball, les exemples sont
|
|
dans le répertoire <filename>Samples/one-interface</filename> du
|
|
tarball.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Si vous avez installé en utilisant un .deb de Shorewall 3.x,
|
|
les exemples sont dans
|
|
<filename>/usr/share/doc/shorewall/examples/one-interface</filename>.
|
|
Il vous faut installer le paquetage shorewall-doc.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Si vous avez installé en utilisant un .deb de Shorewall 4.x,
|
|
les exemples sont dans <filename
|
|
class="directory">/usr/share/doc/shorewall/examples/one-interface</filename>.
|
|
Vous n'avez pas besoin d'installer le paquetage shorewall-doc pour
|
|
pouvoir accéder aux exemples.</para>
|
|
</listitem>
|
|
</orderedlist><warning>
|
|
<para><emphasis role="bold">Note aux utilisateurs de Debian et de
|
|
Ubuntu</emphasis></para>
|
|
|
|
<para>Si vous vous servez du .deb pour installer, vous vous rendrez
|
|
compte que votre répertoire <filename>/etc/shorewall</filename> est
|
|
vide. Ceci est voulu. Les squelettes des fichiers de configuration se
|
|
trouvent sur votre système dans le répertoire <filename
|
|
class="directory">/usr/share/doc/shorewall/default-config</filename>.
|
|
Copiez simplement les fichiers dont vous avez besoin depuis ce
|
|
répertoire dans <filename class="directory">/etc/shorewall</filename>,
|
|
puis modifiez ces copies.</para>
|
|
</warning></para>
|
|
|
|
<para>Si vous installez la version 3.4.0 de Shorewall ou une version
|
|
ultérieure, au fur et à mesure de la présentation de chaque fichier, je
|
|
vous suggère de jeter un oeil à ceux qui sont physiquement présents sur
|
|
votre système et que vous voyez la <ulink
|
|
url="configuration_file_basics.htm#Manpages">page de manuel (man
|
|
page)</ulink> pour ce fichier. Par exemple, tapez <command>man
|
|
shorewall-zones</command> à l'invite du système pour voir la page de
|
|
manuel du fichier <filename>/etc/shorewall/zones</filename>.</para>
|
|
|
|
<para>Si vous installez une version antérieure à shorewall 3.4.0, au fur
|
|
et à mesure de la présentation de chaque fichier, je vous suggère de jeter
|
|
un oeil à ceux qui sont physiquement présents sur votre système -- chacun
|
|
de ces fichiers contient des instructions de configuration détaillées et
|
|
des entrées par défaut.</para>
|
|
|
|
<para>Shorewall voit le réseau où il fonctionne, comme étant composé d'un
|
|
ensemble de <emphasis>zones</emphasis>. Dans les fichiers de configuration
|
|
fournis dans l'archive d'exemples pour une seule interface, deux zones
|
|
seulement sont définies :</para>
|
|
|
|
<para><programlisting>#ZONE TYPE OPTIONS IN OUT
|
|
# OPTIONS OPTIONS
|
|
fw firewall
|
|
net ipv4</programlisting></para>
|
|
|
|
<para>Les zones de Shorewall sont définies dans <filename><ulink
|
|
url="manpages/shorewall-zones.html">/etc/shorewall/zones</ulink></filename>.</para>
|
|
|
|
<para>Remarquez que Shorewall reconnaît le système de firewall comme étant
|
|
sa propre zone. Le nom de la zone firewall (<emphasis
|
|
role="bold">fw</emphasis> dans l'exemple plus haut) est stocké dans la
|
|
variable d'environnement <emphasis>$FW,</emphasis> qui peut être utilisée
|
|
depuis l'ensemble des autres fichiers de configuration de Shorewall pour
|
|
faire référence au firewall lui-même.</para>
|
|
|
|
<para>Les règles concernant le trafic à autoriser ou à interdire sont
|
|
exprimées en utilisant les termes de zones.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Vous exprimez votre politique par défaut pour les connexions
|
|
d'une zone vers une autre zone dans le fichier <ulink
|
|
url="manpages/shorewall-policy.html"><filename
|
|
class="directory">/etc/shorewall/policy</filename></ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vous définissez les exceptions à ces politiques pas défaut dans
|
|
le fichier <ulink
|
|
url="manpages/shorewall-rules.html"><filename>/etc/shorewall/rules</filename></ulink>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Pour chaque connexion demandant à entrer dans le firewall, la
|
|
requête est en premier lieu vérifiée par rapport au contenu du fichier
|
|
<filename class="directory">/etc/shorewall/rules</filename>. Si aucune
|
|
règle dans ce fichier ne correspond à la demande de connexion alors la
|
|
première politique dans le fichier
|
|
<filename>/etc/shorewall/policy</filename> qui y correspond sera
|
|
appliquée. S'il y a une <ulink
|
|
url="shorewall_extension_scripts.htm">action commune</ulink> définie pour
|
|
cette politique dans <filename>/etc/shorewall/actions</filename> ou dans
|
|
<filename>/usr/share/shorewall/actions.std</filename> cette action commune
|
|
sera exécutée avant que la politique ne soit appliquée. Le but de l'action
|
|
commune est double:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Elle ignore (DROP) ou rejette (REJECT) silencieusement le trafic
|
|
courant qui n'est pas dangereux qui sans cela encombrerait votre
|
|
fichier journal - les messages de broadcast, par exemple.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Elle garantit que le trafic nécessaire à un fonctionnement
|
|
normal est autorisé à traverser le firewall — ICMP
|
|
<emphasis>fragmentation-needed</emphasis> par exemple</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Le fichier <filename>/etc/shorewall/policy</filename> inclus dans
|
|
l'archive d'exemple (one-interface) contient les politiques
|
|
suivantes:</para>
|
|
|
|
<programlisting>#SOURCE ZONE DESTINATION ZONE POLICY LOG LEVEL LIMIT:BURST
|
|
$FW net ACCEPT
|
|
net all DROP info
|
|
all all REJECT info</programlisting>
|
|
|
|
<para>Ces politiques vont :</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Autoriser (ACCEPT) toute demande de connexion depuis le firewall
|
|
vers internet</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ignorer (DROP) toutes les demandes de connexion depuis internet
|
|
vers votre firewall</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Rejeter (REJECT) toutes les autres requêtes de connexion.
|
|
Shorewall à toujours besoin de cette dernière politique.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" /> A ce point, éditez
|
|
votre <filename>/etc/shorewall/policy</filename> et faites y les
|
|
changements que vous désirez.</para>
|
|
</section>
|
|
|
|
<section id="External">
|
|
<title>Interface Externe</title>
|
|
|
|
<para>Le firewall possède une seule interface réseau. Lorsque la connexion
|
|
internet passe par un "modem" câble ou
|
|
<acronym><acronym>ADSL</acronym></acronym>, l'<emphasis>Interface
|
|
Externe</emphasis> sera l'adaptateur ethernet qui est connecté à ce
|
|
<quote>Modem</quote> (par exemple <filename
|
|
class="devicefile">eth0</filename>). Par contre, si vous vous connectez
|
|
par <emphasis role="bold"><acronym>PPPoE</acronym></emphasis>
|
|
(<emphasis>Point-to-Point Protocol</emphasis> over Ethernet) ou par
|
|
<emphasis role="bold"><acronym>PPTP</acronym></emphasis>
|
|
<emphasis>(Point-to-Point Tunneling Protocol), </emphasis>l'interface
|
|
externe sera une interface ppp (par exemple <filename
|
|
class="devicefile">ppp0</filename>). Si vous vous connectez par un simple
|
|
modem <acronym><acronym>RTC</acronym></acronym>, votre interface externe
|
|
sera aussi <filename class="devicefile">ppp0</filename>. Si vous vous
|
|
connectez en utilisant l'<acronym><acronym>ISDN</acronym></acronym>, votre
|
|
interface externe sera <filename
|
|
class="devicefile">ippp0</filename>.</para>
|
|
|
|
<caution>
|
|
<para>Assurez-vous de savoir laquelle de vos interfaces est l'interface
|
|
externe. Certains utilisateurs qui avaient configuré la mauvaise
|
|
interface ont passé des heures avant de comprendre leur erreur. Si vous
|
|
n'êtes pas sûr, tapez la commande <command>ip route ls</command> en tant
|
|
que root. L'interface listée à la fin (default) devrait être votre
|
|
interface externe.</para>
|
|
|
|
<para>Exemple:</para>
|
|
|
|
<programlisting>root@lists:~# ip route ls
|
|
192.168.2.2 dev tun0 proto kernel scope link src 192.168.2.1
|
|
10.13.10.0/24 dev tun1 scope link
|
|
192.168.2.0/24 via 192.168.2.2 dev tun0
|
|
206.124.146.0/24 dev eth0 proto kernel scope link src 206.124.146.176
|
|
10.10.10.0/24 dev tun1 scope link
|
|
default via 206.124.146.254 dev <emphasis role="bold">eth0</emphasis>
|
|
root@lists:~# </programlisting>
|
|
|
|
<para>Dans cette exemple, l'interface externe est <filename
|
|
class="devicefile">eth0</filename>.</para>
|
|
</caution>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Les fichiers de configuration d'exemple pour le firewall monoposte
|
|
(one-interface) supposent que votre interface externe est <filename
|
|
class="devicefile">eth0</filename>. Si votre configuration est différente,
|
|
vous devrez modifier le
|
|
fichier<filename>/etc/shorewall/interfaces</filename> en conséquence. Tant
|
|
que vous y êtes, vous pourriez parcourir la liste des options qui sont
|
|
spécifiées pour les interfaces. Quelques astuces:</para>
|
|
|
|
<tip>
|
|
<para>Si votre interface vers l'extérieur est <emphasis
|
|
role="bold"><filename class="devicefile">ppp0</filename></emphasis>
|
|
ou<emphasis role="bold"> <filename
|
|
class="devicefile">ippp0</filename></emphasis>, vous pouvez remplacer le
|
|
<quote>detect</quote> dans la seconde colonne par un <quote>-</quote>
|
|
(sans guillemets).</para>
|
|
</tip>
|
|
|
|
<tip>
|
|
<para>Si votre interface vers l'extérieur est <emphasis
|
|
role="bold"><filename class="devicefile">ppp0</filename></emphasis> or
|
|
<emphasis role="bold"><filename
|
|
class="devicefile">ippp0</filename></emphasis> ou si vous avez une
|
|
adresse <acronym>IP</acronym> statique, vous pouvez enlever
|
|
<quote>dhcp</quote> de la liste des options .</para>
|
|
</tip>
|
|
</section>
|
|
|
|
<section id="Addresses">
|
|
<title>Adresses IP</title>
|
|
|
|
<para>Avant d'aller plus loin, nous devons dire quelques mots au sujet des
|
|
adresses IP. Normalement, votre Fournisseur d' Accès Internet
|
|
(<acronym>FAI</acronym>) ne vous allouera qu'une seule adresse IP. Cette
|
|
adresse peut vous être allouée par <acronym>DHCP</acronym> (Dynamic Host
|
|
Configuration Protocol), lors de l'établissement de votre connexion (modem
|
|
standard) ou bien lorsque vous établissez un autre type de connexion
|
|
<acronym>PPP</acronym> (<acronym>PPPoA</acronym>,
|
|
<acronym>PPPoE</acronym>, etc.). Dans certains cas , votre fournisseur
|
|
peut vous allouer une adresse statique IP. Dans ce cas vous devez
|
|
configurer l'interface externe de votre firewall afin d'utiliser cette
|
|
adresse de manière permanente.</para>
|
|
|
|
<para>La RFC 1918 réserve des plages d'adresses IP pour utilisation dans
|
|
les réseau privés:</para>
|
|
|
|
<programlisting>10.0.0.0 - 10.255.255.255
|
|
172.16.0.0 - 172.31.255.255
|
|
192.168.0.0 - 192.168.255.255</programlisting>
|
|
|
|
<para>Ces adresses sont parfois nommées <emphasis>non-routables</emphasis>
|
|
car les routeurs centraux d'internet ne transfèrent pas un paquet dont la
|
|
destination est une adresse réservée par la RFC 1918. Dans certain cas
|
|
cependant, les <acronym>FAI</acronym> (fournisseurs d'accès Internet)
|
|
peuvent vous affecter une de ces adresses et utiliser la Traduction
|
|
d'Adresses Réseau (<acronym>NAT</acronym> <emphasis>Network Address
|
|
Translation</emphasis>) pour réécrire les en-têtes des paquets transmis en
|
|
provenance ou à destination d'internet.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Avant de lancer Shorewall, <emphasis role="bold">il faut
|
|
impérativement regarder l'adresse IP de votre interface externe, et, si
|
|
elle est dans l'une des plages précédentes, vous devez enlever l'option
|
|
"norfc1918" dans la ligne concernant l'interface externe dans le fichier
|
|
<filename><filename
|
|
class="directory">/etc/shorewall/</filename><filename>interfaces</filename></filename></emphasis><tip>
|
|
<para>Pour déterminer l'adresse IP de votre interface externe, en tant
|
|
que root tapez <command>ip addr ls dev <interface></command> à
|
|
l'invite du système. <<emphasis>interface</emphasis>> étant
|
|
votre interface externe. La ligne qui commence par
|
|
<emphasis>inet</emphasis> vous donne votre adresse IP.</para>
|
|
|
|
<para>Exemple:</para>
|
|
|
|
<programlisting>root@lists:~# ip addr ls dev eth0
|
|
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc htb qlen 1000
|
|
link/ether 00:02:e3:08:48:4c brd ff:ff:ff:ff:ff:ff
|
|
inet <emphasis role="bold">206.124.146.176</emphasis>/24 brd 206.124.146.255 scope global eth0
|
|
inet6 fe80::202:e3ff:fe08:484c/64 scope link
|
|
valid_lft forever preferred_lft forever
|
|
root@lists:~# </programlisting>
|
|
|
|
<para>Dans cet exemple, l'adresse IP de votre interface externe est
|
|
206.124.146.176</para>
|
|
</tip>.</para>
|
|
</section>
|
|
|
|
<section id="Logging">
|
|
<title>Journalisation (log)</title>
|
|
|
|
<para>Shorewall ne produit pas un fichier journal lui-même, mais il
|
|
s'appuie sur votre <ulink url="shorewall_logging.html">configuration de la
|
|
journalisation système</ulink>. Les <ulink
|
|
url="manpages/shorewall.html">commandes</ulink> suivantes nécessitent un
|
|
bonne configuration de la journalisation, car elles ont besoin de
|
|
connaitre le fichier dans lequel netfilter enregistre ses messages.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><command>shorewall show log</command> (Affiche les 20 derniers
|
|
messages enregistrés par netfilter)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><command>shorewall logwatch</command> (Consulte le fichier
|
|
journal à un intervalle régulier paramétrable)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><command>shorewall dump</command> (Produit un état très détaillé
|
|
à inclure à vos rapports d'anomalie)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Il est important que ces commandes fonctionnent correctement. En
|
|
effet, lorsque vous rencontrez des problèmes de connexion alors que
|
|
shorewall est actif, la première chose que vous devriez faire est de
|
|
regarder le journal netfilter, et vous pourrez généralement résoudre
|
|
rapidement votre problème en vous aidant de la <ulink
|
|
url="FAQ_fr.htm#faq17">FAQ 17 de Shorewall</ulink>.</para>
|
|
|
|
<para>La plupart du temps, les messages de Netfilter sont journalisés dans
|
|
le fichier <filename>/var/log/messages</filename>. Certaines version
|
|
récentes de <trademark>SuSE/OpenSuSE</trademark> sont pré configurées pour
|
|
utiliser syslog-ng et journalisent les messages de netfilter dans le
|
|
fichier <filename>/var/log/firewall</filename>.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Si votre distribution enregistre les message de netfilter dans un
|
|
autre fichier que <filename>/var/log/messages</filename>, il faut modifier
|
|
le paramètre LOGFILE dans le fichier <filename>
|
|
/etc/shorewall/shorewall.conf</filename> et y spécifier le nom de votre
|
|
fichier journal.</para>
|
|
|
|
<important>
|
|
<para>Le paramètre LOGFILE ne contrôle pas le fichier dans lequel
|
|
netfilter va enregistrer ses messages -- Il indique simplement à
|
|
/sbin/<filename>shorewall</filename>où trouver le fichier
|
|
journal.</para>
|
|
</important>
|
|
</section>
|
|
|
|
<section id="Open">
|
|
<title>Permettre d'autres connexions</title>
|
|
|
|
<para>Shorewall inclue une collection de <ulink url="???">macros</ulink>
|
|
qui peuvent être utilisées pour rapidement autoriser ou refuser des
|
|
services. Vous pouvez trouver une liste des macros comprises dans votre
|
|
version de Shorewall en utilisant la commande <command>ls
|
|
<filename>/usr/share/shorewall/macro.*</filename></command> ou bien la
|
|
commande <command>shorewall show macros</command> si vous utilisez une
|
|
version 3.0.3 ou ultérieure de shorewall.</para>
|
|
|
|
<para>Si vous souhaitez autoriser des connexions depuis internet vers
|
|
votre firewall et que vous avez trouvé une macro appropriée dans
|
|
<filename><filename>/etc/shorewall/macro.*</filename></filename>, le
|
|
format général d'une règle dans <filename>/etc/shorewall/rules</filename>
|
|
est le suivant:</para>
|
|
|
|
<programlisting>#ACTION SOURCE DESTINATION PROTO DEST PORT(S)
|
|
<<emphasis>macro</emphasis>>/ACCEPT net $FW</programlisting>
|
|
|
|
<important>
|
|
<para>Assurez-vous d'ajouter vos règles après la ligne contenant
|
|
<emphasis role="bold">SECTION NEW.</emphasis></para>
|
|
</important>
|
|
|
|
<example id="Example1">
|
|
<title>Un serveur Web et un serveur IMAP sur votre firewall, accessibles
|
|
depuis l'extérieur:</title>
|
|
|
|
<programlisting>#ACTION SOURCE DESTINATION PROTO DEST PORT(S)
|
|
Web/ACCEPT net $FW
|
|
IMAP/ACCEPT net $FW</programlisting>
|
|
</example>
|
|
|
|
<para>Vous pouvez aussi choisir de coder vos règles directement, sans
|
|
utiliser de macro pré-définie. Ceci sera nécessaire quand aucune macro
|
|
pré-définie ne répond à vos besoins. Dans ce cas, le format général d'une
|
|
règle dans <filename>/etc/shorewall/rules</filename> est:</para>
|
|
|
|
<programlisting>#ACTION SOURCE DESTINATION PROTO DEST PORT(S)
|
|
ACCEPT net $FW <emphasis><protocol></emphasis> <emphasis><port></emphasis></programlisting>
|
|
|
|
<example id="Example2">
|
|
<title>Un serveur Web et un serveur IMAP sur votre firewall, accessibles
|
|
depuis l'extérieur:</title>
|
|
|
|
<para><programlisting>#ACTION SOURCE DESTINATION PROTO DEST PORT(S)
|
|
ACCEPT net $FW tcp 80
|
|
ACCEPT net $FW tcp 143</programlisting></para>
|
|
</example>
|
|
|
|
<para>Si vous ne savez pas quel port ou protocole utilise une application
|
|
donnée, allez voir <ulink url="ports.htm">ici</ulink>.</para>
|
|
|
|
<important>
|
|
<para>Je ne recommande pas d'activer <command>telnet</command>
|
|
depuis/vers internet car il utilise du texte en clair (y compris pour le
|
|
login !). Si vous voulez un accès shell à votre firewall, utilisez
|
|
SSH:</para>
|
|
|
|
<programlisting>#ACTION SOURCE DESTINATION PROTO DEST PORT(S)
|
|
SSH/ACCEPT net $FW </programlisting>
|
|
</important>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Maintenant, éditez votre fichier de configuration <filename
|
|
class="directory">/etc/shorewall/</filename><filename>rules</filename>
|
|
pour ajouter, modifier ou supprimer d'autres connexions suivant vos
|
|
besoins.</para>
|
|
</section>
|
|
|
|
<section id="Starting">
|
|
<title>Démarrer et Arrêter Votre Firewall</title>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>La <ulink url="Install_fr.html">procédure d'installation</ulink>
|
|
configure votre système pour lancer Shorewall dès le boot du système, mais
|
|
le lancement est désactivé, de façon à ce que votre système ne tente pas
|
|
de lancer Shorewall avant que la configuration ne soit terminée. Une fois
|
|
que vous en avez fini avec la configuration du firewall, vous devez éditer
|
|
/etc/shorewall/shorewall.conf et y mettre STARTUP_ENABLED=Yes.</para>
|
|
|
|
<important>
|
|
<para><emphasis role="bold">Les utilisateurs des paquets .deb doivent
|
|
éditer <filename>/etc/default/shorewall</filename> et mettre
|
|
<varname>startup=1</varname></emphasis>.</para>
|
|
</important>
|
|
|
|
<important>
|
|
<para><emphasis role="bold">Vous devez activer le lancement de Shorewall
|
|
en éditant <filename>/etc/shorewall/shorewall.conf</filename> et en y
|
|
mettant <command>STARTUP_ENABLED=Yes</command>.</emphasis></para>
|
|
</important>
|
|
|
|
<para>Le firewall est activé en utilisant la commande
|
|
<quote><command>shorewall start</command></quote> et arrêté avec la
|
|
commande <quote><command>shorewall stop</command></quote>. Lorsque le
|
|
firewall est arrêté, le routage est autorisé sur les hôtes qui possèdent
|
|
une entrée dans <filename class="directory"><ulink
|
|
url="manpages/shorewall-routestopped.html">/etc/shorewall/routestopped</ulink></filename>.
|
|
Un firewall qui tourne peut être relancé en utilisant la commande
|
|
<quote><command>shorewall restart</command></quote>. Si vous voulez
|
|
enlever toute trace de Shorewall sur votre configuration de Netfilter,
|
|
utilisez <quote><emphasis role="bold">shorewall
|
|
clear</emphasis></quote></para>
|
|
|
|
<warning>
|
|
<para>Si vous êtes connecté à votre firewall depuis internet, n'essayez
|
|
pas d'exécuter une commande <quote><command>shorewall
|
|
stop</command></quote> tant que vous n'avez pas ajouté une entrée dans
|
|
<filename class="directory"><ulink
|
|
url="manpages/shorewall-routestopped.html">/etc/shorewall/routestopped</ulink></filename>
|
|
pour l'adresse IP à partir de laquelle vous êtes connecté . De la même
|
|
manière, je vous déconseille d'utiliser <quote><command>shorewall
|
|
restart</command></quote>; il est plus intéressant de créer <ulink
|
|
url="configuration_file_basics.htm#Configs">une configuration
|
|
alternative</ulink> et de la tester en utilisant la commande
|
|
<quote><ulink url="starting_and_stopping_shorewall.htm">shorewall
|
|
try</ulink></quote></para>
|
|
</warning>
|
|
</section>
|
|
|
|
<section id="Problems">
|
|
<title>Si cela ne marche pas</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Vérifiez à nouveau chacun des points repérés par un flèche
|
|
rouge.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vérifiez vos <ulink
|
|
url="shorewall_logging.html">journaux</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vérifiez le <ulink url="troubleshoot.htm">Troubleshooting
|
|
Guide</ulink>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vérifiez la <ulink url="FAQ_fr.html">FAQ</ulink>.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section id="Other">
|
|
<title>Autres Lectures Recommandées</title>
|
|
|
|
<para>Je vous recommande vivement de lire la <ulink
|
|
url="configuration_file_basics.htm">page des fonctionnalités générales des
|
|
fichiers de configuration</ulink> -- elle contient des astuces sur des
|
|
possibilités de Shorewall qui peuvent rendre plus aisée l'administration
|
|
de votre firewall Shorewall.</para>
|
|
</section>
|
|
</article>
|