2006-01-07 20:20:38 +01:00
<?xml version="1.0" encoding="ISO-8859-15"?>
< !DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article lang= "fr" >
<!-- $Id$ -->
<articleinfo >
<title > FAQ Shorewall</title>
<subtitle > Version Fran<61> aise de <foreignphrase lang= "en" > <ulink
2020-03-26 22:58:35 +01:00
url="https://shorewall.org/FAQ.html">Shorewall
2006-01-07 20:20:38 +01:00
FAQs</ulink> </foreignphrase> </subtitle>
<authorgroup >
<corpauthor > Shorewall Community</corpauthor>
<author >
<firstname > Tom</firstname>
<surname > Eastep</surname>
</author>
<othercredit role= "translator" >
<firstname > Guy</firstname>
<surname > Marcenac</surname>
<contrib > Adaptation fran<61> aise</contrib>
</othercredit>
</authorgroup>
2006-07-07 03:11:19 +02:00
<pubdate > <?dbtimestamp format="Y/m/d"?> </pubdate>
2006-01-07 20:20:38 +01:00
<copyright >
<year > 2001-2006</year>
<holder > Thomas M. Eastep</holder>
<holder > Guy Marcenac</holder>
</copyright>
<legalnotice >
<para > Permission est accord<72> 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<6C> rieure
publi<6C> e par la Free Software Foundation ; sans section Invariables, sans
premi<6D> re de Couverture, et sans texte de quatri<72> me de couverture. Une
copie de la pr<70> sente Licence est incluse dans la section intitul<75> e. Une
traduction fran<61> aise de la licence se trouve dans la section
2006-04-26 17:48:46 +02:00
<quote > <ulink url= "http://cesarx.free.fr/gfdlf.html" > Licence de
2006-01-07 20:20:38 +01:00
Documentation Libre GNU</ulink> </quote> . Ce paragraphe est une
traduction fran<61> aise pour aider <20> votre compr<70> hension. Seul le texte
original en anglais pr<70> sent<6E> 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
2023-01-19 23:17:25 +01:00
no Invariant Sections, no Front-Cover Texts, and no Back-Cover
2006-01-07 20:20:38 +01:00
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> Si vous
trouvez des erreurs ou si vous avez des am<61> liorations <20> apporter <20> cette
2006-02-26 18:19:21 +01:00
traduction vous pouvez <ulink url= "mailto:guy@posteurs.com" > me
2006-01-07 20:20:38 +01:00
contacter</ulink> .</para>
</note>
<caution >
<para > <emphasis role= "bold" > Cet article s'applique <20> Shorewall 3.0 et <20>
ses versions ult<6C> rieures. Si vous utilisez une version plus ancienne de
Shorewall, r<> f<EFBFBD> rez-vous <20> la documentation s'appliquant <20> votre
version.</emphasis> </para>
</caution>
<section >
<title > Installation de Shorewall</title>
<section >
<title > O<EFBFBD> puis-je trouver des instructions d'installation et de
configuration pas <20> pas ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Allez voir les <ulink
url="shorewall_quickstart_guide.htm">guides de d<> marrage
rapide</ulink> .</para>
</section>
<section id= "faq37" >
<title > (FAQ 37) Je viens d'installer Shorewall sur Debian et le
r<> pertoire /etc/shorewall est vide!!!</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> </para>
2006-01-07 20:20:38 +01:00
<important >
<para > Apr<EFBFBD> s avoir install<6C> le paquetage .deb, avant de commencer <20>
configurer Shorewall, vous devriez prendre connaissance de ce conseil
de Lorenzo Martignoni, le mainteneur Debian de Shorewall:</para>
<para > <quote > Pour plus d'information quant <20> l'utilisation de
Shorewall sur un syst<73> me Debian vous devriez aller voir le fichier
/usr/share/doc/shorewall/README.Debian distribu<62> avec le paquetage
Debian de Shorewall.</quote> </para>
</important>
<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<73> 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>
<para > Remarquez que vous devez copier
<filename > /usr/share/doc/shorewall/default-config/shorewall.conf</filename>
et <filename > /usr/share/doc/shorewall/default-config/modules</filename>
dans <filename
class="directory"><filename > /etc/shorewall</filename> </filename> m<> me si
vous ne modifiez pas ces fichiers.</para>
</section>
<section id= "faq44" >
<title > (FAQ 44) Je n'arrive pas <20> installer ou mettre <20> jour le RPM -
J'ai le message d'erreur "error: failed dependencies:iproute is
needed..."</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Lisez les <ulink
2006-04-26 17:48:46 +02:00
url="Install_fr.html">Instructions d'installation</ulink> !</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq50" >
<title > (FAQ 50) Quand j'installe ou que je mets <20> jour, j'obtiens de
multiples instances du message suivant "warning: user teastep does not
exist - using root"</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Vous pouvez sans aucun
risque ignorer ce message. Il <20> tait d<> <20> une erreur mineure de paquetage
qui a <20> t<EFBFBD> corrig<69> e depuis. Cela ne change rien dans l'utilisation de
Shorewall.</para>
</section>
</section>
2006-12-03 18:21:52 +01:00
<section id= "PortForwarding" >
2006-01-07 20:20:38 +01:00
<title > Transfert de port (Redirection de Port)</title>
<section id= "faq1" >
<title > (FAQ 1) Je veux rediriger le port UDP 7777 vers mon PC personnel
qui a l'adresse 192.1683.1.5. J'ai cherch<63> partout et je ne trouve pas
comment faire.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Le premier exemple de la
<ulink url= "Documentation.htm#Rules" > documentation du fichier
rules</ulink> vous indique comment faire du transfert de port avec
Shorewall. Le format d'une r<> gle de redirection de port vers un syst<73> me
local se pr<70> sente comme suit:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT
DNAT net loc:< <emphasis > adresse IP locale</emphasis> > [:< <emphasis > port local</emphasis> > ] < <emphasis > protocole</emphasis> > < <emphasis > n<EFBFBD> port</emphasis> > </programlisting>
<para > Ainsi pour rediriger le port UDP 7777 vers le syst<73> me interne
192.168.1.5, la r<> gle est:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT
DNAT net loc:192.168.1.5 udp 7777</programlisting>
<para > Si vous voulez rediriger vers un syst<73> me interne les requ<71> tes
envoy<6F> es <20> une adresse donn<6E> e (<emphasis > < IP externe> </emphasis> )
sur votre firewall:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL
# PORT DEST.
DNAT net loc:< <emphasis > adresse IP locale</emphasis> > [:< <emphasis > port local</emphasis> > ]< <emphasis > protocole</emphasis> > < <emphasis > n<EFBFBD> port</emphasis> > - < <emphasis > IP externe</emphasis> > </programlisting>
<para > Enfin, si vous avez besoin de rediriger une plage de ports,
sp<73> cifiez la plage de ports < premier port> :< dernier port>
dans la colonne DEST PORT.</para>
<section id= "faq1a" >
<title > (FAQ 1a) D'accord -- j'ai suivi toutes ces instruction, mais
cela ne marche toujours pas.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Ceci se produit
g<> n<EFBFBD> ralement lorsque:</para>
<itemizedlist >
<listitem >
<para > Vous tentez de tester depuis l'int<6E> rieur de votre firewall
2006-04-26 17:48:46 +02:00
(non, cela ne marchera pas -- allez voir la <link
linkend="faq2">FAQ 2</link> ).</para>
2006-01-07 20:20:38 +01:00
</listitem>
<listitem >
<para > Vous avez un probl<62> me plus <20> l<EFBFBD> mentaire de configuration de
votre syst<73> me local (celui vers lequel vous tentez de rediriger
les paquets), une mauvaise passerelle par d<> faut par exemple (elle
devrait <20> tre configur<75> e avec l'adresse IP de l'interface interne
de votre firewall).</para>
</listitem>
<listitem >
<para > Votre FAI bloque le trafic entrant sur ce port
particulier.</para>
</listitem>
<listitem >
<para > Vous utilisez une version de Mandriva ant<6E> rieure <20> la 10.0
final et vous avez configur<75> le partage de connexion internet. Si
c'est le cas, le nom de votre zone locale n'est pas 'loc' mais
'masq' (dans vos r<> gles changez toutes les instances de 'loc' pour
'masq'). Vous pouvez envisager de r<> -installer Shorewall avec une
configuration conforme <20> la documentation de Shorewall. Voir le
2006-04-26 17:48:46 +02:00
guide <ulink url= "two-interface_fr.html" > Firewall <20> deux
2006-01-07 20:20:38 +01:00
interfaces</ulink> pour plus de d<> tails.</para>
</listitem>
</itemizedlist>
</section>
<section id= "faq1b" >
<title > (FAQ 1b) J'ai malgr<67> tout encore des probl<62> mes avec la
redirection de port</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> pour aller plus avant
dans le diagnostic du probl<62> me:</para>
<itemizedlist >
<listitem >
<para > En tant que root, tapez <quote > <command > iptables -t nat
-Z</command> </quote> . Ceci remet <20> z<> ro les compteurs Netfilter
de la table nat.</para>
</listitem>
<listitem >
<para > Essayez de vous connecter au port redirig<69> depuis un h<> te
externe.</para>
</listitem>
<listitem >
2006-12-03 18:21:52 +01:00
<para > En tant que root, tapez <quote > <command > shorewall[-lite]
show nat</command> </quote> </para>
2006-01-07 20:20:38 +01:00
</listitem>
<listitem >
<para > Rep<EFBFBD> rez la r<> gle DNAT appropri<72> e. Elle sera dans une cha<68> ne
nomm<6D> e < <emphasis > zone source</emphasis> > _dnat
(<quote > net_dnat</quote> dans les exemples ci-dessus).</para>
</listitem>
<listitem >
<para > Est-ce que le d<> compte de paquets dans la premi<6D> re colonne
est sup<75> rieur <20> z<> ro ? Si cela est le cas, la requ<71> te de connexion
atteint le firewall et est bien redirig<69> e vers le serveur. Dans ce
2006-12-03 18:21:52 +01:00
cas, le probl<62> me vient en g<> n<EFBFBD> ral de l'absence de param<61> trage ou
d'un param<61> trage erron<6F> de la passerelle par d<> faut sur le syst<73> me
2006-01-07 20:20:38 +01:00
local (celui vers lequel vous essayez de transf<73> rer les paquets --
sa passerelle par d<> faut devrait <20> tre l'adresse IP de l'interface
du firewall connect<63> e <20> ce syst<73> me local).</para>
</listitem>
<listitem >
<para > Si le d<> compte de paquets est <20> gal <20> z<> ro:</para>
<itemizedlist >
<listitem >
<para > La requ<71> te de connexion n'arrive pas jusqu'<27> votre
serveur (il est possible que votre FAI bloque ce port)</para>
</listitem>
<listitem >
<para > Vous essayez de vous connecter <20> une adresse IP
secondaire sur votre firewall et votre r<> gle ne redirige que
l'adresse IP primaire (dans votre r<> gle DNAT vous devez
sp<73> cifier l'adresse IP secondaire dans la colonne <quote > ORIG.
DEST.</quote> )</para>
</listitem>
<listitem >
<para > Pour d'autres raisons, votre r<> gle DNAT ne correspond
pas <20> la requ<71> te de connexion. Dans ce cas, pour aller plus
loin dans le diagnostic, vous pourrez avoir <20> vous servir d'un
<quote > sniffer</quote> de paquets comme tcpdump ou
ethereal.</para>
</listitem>
2006-12-03 18:21:52 +01:00
<listitem >
<para > Si le nombre de paquets est diff<66> rent de z<> ro, v<> rifiez
dans votre log si la connexion est dropp<70> e ou rejet<65> e. Si
c'est le cas, il est possible que vous ayez un probl<62> me de
d<> finition de zone qui fasse que le serveur soit dans une zone
diff<66> rente de ce qui est sp<73> cifi<66> dans la colonne DEST. A
l'invite root, tapez "<command > shorewall[-lite] show
zones</command> " et assurez-vous que vous avez bien sp<73> cifi<66>
dan la colonne DEST la <emphasis
role="bold">premi<6D> re</emphasis> zone de la liste qui
correspond <20> OUT=< dev> et DEST=< ip> dans le
message REJECT/DROP de votre fichier log.</para>
</listitem>
2006-01-07 20:20:38 +01:00
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section id= "faq1c" >
<title > (FAQ 1c) Je voudrais que lorsque je me connecte depuis internet
au port 1022 de mon firewall, cette connexion soit redirig<69> e vers le
port 22 de mon syst<73> me local 192.168.1.3. Comment faire ?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> :Dans le fichier
/<filename > etc/shorewall/rules</filename> :</para>
2006-01-07 20:20:38 +01:00
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT
DNAT net loc:192.168.1.3:22 tcp 1022</programlisting>
</section>
<section id= "faq1d" >
<title > (FAQ 1d) J'ai un serveur web dans man DMZ et j'utilise le
transfert de port pour rendre ce serveur accessible depuis internet.
Cela fonctionne tr<74> s bien sauf lorsque mes utilisateurs locaux
essayent de se connecter au serveur en utilisant l'adresse IP externe
du firewall.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Supposons que:</para>
<itemizedlist >
<listitem >
<para > L'adresse IP externe est 206.124.146.176 sur <filename
class="devicefile">eth0</filename> .</para>
</listitem>
<listitem >
<para > L'adresse IP du serveur est 192.168.2.4</para>
</listitem>
</itemizedlist>
<para > Vous pouvez activer l'acc<63> s au serveur depuis votre r<> seau local
en utilisant l'adresse IP externe du firewall. Pour cela, vous pouvez
ajouter cette r<> gle:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL
# PORT DEST
DNAT loc dmz:192.168.2.4 tcp 80 - 206.124.146.176</programlisting>
<para > Si votre adresse IP externe est dynamique, vous devez faire
comme suit:</para>
<para > Dans <filename > /etc/shorewall/params</filename> :</para>
<programlisting > <command > ETH0_IP=`find_interface_address eth0`</command> </programlisting>
<para > Pour les utilisateurs de 2.1.0 et des versions
ult<6C> rieures:</para>
<programlisting > <command > ETH0_IP=`find_first_interface_address eth0`</command> </programlisting>
<para > Et votre r<> gle DNAT deviendra:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL
# PORT DEST.
DNAT loc dmz:192.168.2.4 tcp 80 - $ETH0_IP</programlisting>
</section>
<section id= "faq1e" >
<title > (FAQ 1e) Dans le but de d<> courager les attaques en force brute,
je voudrais rediriger toutes les connexions internet arrivant sur un
port non standard (4104) vers le port 22 du firewall/routeur. J'ai
remarqu<71> que lorsque je param<61> tre une r<> gle REDIRECT sur le firewall,
il ouvre sur internet les deux ports 4104 et 22 . Est-il possible de
rediriger seulement le port 4104 vers le port 22 de localhost et que
toutes les tentatives de connexion depuis internet au port 22 soient
ignor<6F> es ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse: </emphasis> avec l'aimable
autorisation de Ryan: en supposant que l'adresse de l'interface locale
2006-12-03 18:21:52 +01:00
de votre firewall soit 192.168.1.1, si vous configurez SSHD pour qu'il
n'<27> coute que sur cette interface et que vous ajoutez la r<> gle
suivante, le port 4104 sera en <20> coute sur internet et le port 22 sera
en <20> coute sur votre LAN.</para>
2006-01-07 20:20:38 +01:00
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT(S)
DNAT net fw:192.168.1.1:22 tcp 4104</programlisting>
</section>
</section>
<section id= "faq30" >
<title > (FAQ 30) Quand doit-on utiliser des r<> gles DNAT et quand doit-on
utiliser des r<> gles ACCEPT ?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Je vous sugg<67> re de
revenir au <ulink url= "shorewall_quickstart_guide.htm" > guides de
d<> marrage rapide</ulink> adapt<70> <20> votre configuration. Ces guides
couvrent ce sujet sous un angle didactique. Vous devriez utiliser des
r<> gles DNAT pour les connexions qui doivent aller dans le sens inverse
de celles en provenance de la SNAT/Masquerade. Ainsi, si vous utilisez
la SNAT ou Masquerade depuis votre r<> seau local vers internet, vous
aurez besoin d'utiliser des r<> gles DNAT pour autoriser les connexions
d'internet vers votre r<> seau local. Vous utiliserez <20> galement des r<> gles
DNAT si vous voulez r<> -<2D> crire l'adresse IP ou le num<75> ro de port
destination. Si vous avez besoin d'intercepter des connexions
lorsqu'elles arrivent sur le firewall et que vous voulez les traiter sur
le firewall lui-m<> me, vous utiliserez une r<> gle REDIRECT. Dans tous les
autres cas, vous utiliserez ACCEPT.</para>
2006-01-07 20:20:38 +01:00
</section>
<section >
<title > (FAQ 38) O<> trouver plus d'information sur la DNAT?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ian Allen a <20> crit cet
article au sujet de la <ulink url= "http://ian.idallen.ca/dnat.txt" > DNAT
et Linux</ulink> .</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq48" >
<title > (FAQ 48) Comment configurer un proxy transparent avec
Shorewall?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Vous pouvez voir <ulink
2006-01-07 20:20:38 +01:00
url="Shorewall_Squid_Usage.html">Shorewall et Squid</ulink> .</para>
</section>
</section>
<section >
<title > DNS et Transfert de Port/Traduction d'Adresses R<> seau NAT</title>
<section id= "faq2" >
<title > (FAQ 2) Je transf<73> re (port forward) toutes les requ<71> tes web
soumises <20> www.mondomaine.com (IP 130.151.100.69) vers le syst<73> me
192.168.1.5 de mon r<> seau local. Les clients externes peuvent acc<63> der <20>
http://www.mondomaine.com mais les clients internes ne le peuvent
pas.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> j'ai deux objections <20>
cette configuration.</para>
<itemizedlist >
<listitem >
<para > Avoir un serveur sur votre r<> seau local accessible depuis
internet est comme <20> lever des loups <20> cot<6F> de votre poulailler. Si
le serveur est compromis, il n'y a rien entre ce serveur et vos
autres syst<73> mes locaux. Pour le prix d'un adaptateur ethernet et
d'un c<> ble crois<69> , vous pouvez mettre votre serveur en DMZ de telle
fa<66> on qu'il soit isol<6F> de vos syst<73> mes locaux - en supposant que le
serveur puisse <20> tre install<6C> <20> cot<6F> de votre firewall, bien entendu
:-)</para>
</listitem>
<listitem >
<para > La meilleure solutions pour l'accessibilit<69> <20> votre serveur
est d'utiliser les <quote > vues</quote> de <ulink
2006-04-26 17:48:46 +02:00
url="shorewall_setup_guide_fr.htm#DNS">Bind Version 9</ulink> (ou
bien d'utiliser un serveur DNS s<> par<61> pour les clients locaux) afin
que www.mondomaine.com soit r<> solu en 130.141.100.69 pour les
clients externes et en 192.168.1.5 pour les clients internes. C'est
ce que je fait ici <20> shorewall.net pour mes syst<73> mes locaux qui
utilisent la NAT un-<2D> -un (one-to-one NAT).</para>
2006-01-07 20:20:38 +01:00
</listitem>
</itemizedlist>
<para > Supposons que votre interface externe soit eth0, que votre
interface interne soit eth1 et que eth1 ait l'adresse 192.168.1.254 sur
le sous-r<> seau 192.168.1.0/24:<warning >
<para > tout le trafic redirig<69> par cette bidouille sera vu par le
serveur comme provenant du firewall (192.168.1.254) au lieu de venir
2006-12-03 18:21:52 +01:00
du client d'origine! Ce qui fait que les logs d'acc<63> s du serveur
seront inutilisables pour d<> terminer quels h<> tes locaux acc<63> dent au
serveur.</para>
2006-01-07 20:20:38 +01:00
</warning> </para>
<itemizedlist >
<listitem >
<para > Dans <filename > /etc/shorewall/interfaces</filename> :</para>
<programlisting > #ZONE INTERFACE BROADCAST OPTIONS
loc eth1 detect <emphasis role= "bold" > routeback</emphasis> </programlisting>
</listitem>
<listitem >
<para > Dans <filename > /etc/shorewall/masq</filename> :</para>
<programlisting > #INTERFACE SUBNET ADDRESS PROTO PORT(S)
eth1:192.168.1.5 eth1 192.168.1.254 tcp www</programlisting>
</listitem>
<listitem >
<para > Dans <filename > /etc/shorewall/rules</filename> :</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL
# PORT DEST.
DNAT loc loc:192.168.1.5 tcp www - 130.151.100.69</programlisting>
<para > Bien entendu, cette r<> gle ne fonctionnera que si vous avez une
adresse IP externe statique. Si vous avez une adresse dynamique vous
devez inclure ceci dans
<filename > /etc/shorewall/param</filename> s:</para>
<programlisting > <command > ETH0_IP=`find_first_interface_address eth0`</command> </programlisting>
<para > et votre r<> gle DNAT deviendra:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL
# PORT DEST.
DNAT loc loc:192.168.1.5 tcp www - $ETH0_IP</programlisting>
<para > Lorsque vous utilisez cette technique, il vous faudra
configurer votre client DHCP/PPPoE de fa<66> on <20> ce qu'il relance
shorewall chaque fois qu'il obtient une nouvelle adresse IP.</para>
</listitem>
</itemizedlist>
<section id= "faq2a" >
<title > (FAQ 2a) J'ai une zone <quote > Z</quote> avec un sous-r<> seau RFC
1918 et j'utilise la NAT un-<2D> -un (one-to-one NAT) pour assigner des
adresses non-RFC1918 aux h<> tes de la zone <quote > Z</quote> . Les h<> tes
dans la zone <quote > Z</quote> ne peuvent pas communiquer entre eux en
utilisant leur adresse externe (adresses non-FRC1918) et donc ils ne
peuvent pas communiquer en utilisant leurs noms DNS.</title>
<note >
<para > Si la colonne ALL INTERFACES dans le fichier
/etc/shorewall/nat est vide ou contient <quote > Yes</quote> , vous
verrez aussi dans votre journal des messages comme celui-ci <20> chaque
fois que vous tenterez d'acc<63> der <20> un h<> te de la zone Z depuis un
autre h<> te de la zone Z en utilisant son adresse publique:</para>
<programlisting > Oct 4 10:26:40 netgw kernel:
Shorewall:FORWARD:REJECT:IN=eth1 OUT=eth1 SRC=192.168.118.200
DST=192.168.118.210 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=1342 DF
PROTO=TCP SPT=1494 DPT=1491 WINDOW=17472 RES=0x00 ACK SYN URGP=0</programlisting>
</note>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> C'est encore un
probl<62> me tr<74> s bien r<> solu par l'utilisation des <quote > vues</quote> de
2006-04-26 17:48:46 +02:00
<ulink url= "shorewall_setup_guide_fr.htm#DNS" > Bind Version 9</ulink> .
Les clients internes comme les clients externes peuvent alors acc<63> der
aux h<> tes <quote > NAT<EFBFBD> s</quote> en utilisant leur nom r<> seau.</para>
2006-01-07 20:20:38 +01:00
<para > Une autre bonne fa<66> on d'approcher le probl<62> me est d'abandonner
la NAT un-<2D> -un au profit du Proxy ARP. De cette fa<66> on, les machines
dans Z ont des adresses non-RFC1918 et on peut y acc<63> der aussi bien
depuis l'int<6E> rieur que depuis l'ext<78> rieur en utilisant la m<> me
adresse.</para>
<para > Si vous n'aimez pas ces solutions et que vous pr<70> f<EFBFBD> rez b<> tement
router tout le trafic de Z vers Z par votre firewall:</para>
<orderedlist >
<listitem >
<para > Activez l'option routeback sur l'interface vers Z.</para>
</listitem>
<listitem >
<para > Mettez <quote > Yes</quote> dans la colonne ALL INTERFACES du
fichier nat.</para>
</listitem>
</orderedlist>
<example >
<title > Exemple:</title>
<literallayout > Zone: dmz Interface: eth2 Ssous-r<> seau: 192.168.2.0/24 Addresse: 192.168.2.254</literallayout>
<para > Dans le fichier
<filename > /etc/shorewall/interfaces</filename> :</para>
<programlisting > #ZONE INTERFACE BROADCAST OPTIONS
dmz eth2 192.168.2.255 <emphasis role= "bold" > routeback</emphasis> </programlisting>
<para > Dans le fichier <filename > /etc/shorewall/na</filename> t,
assurez-vous d'avoir <quote > Yes</quote> dans la colonne ALL
INTERFACES.</para>
<para > Dans le fichier
<filename > /etc/shorewall/masq</filename> :</para>
<programlisting > #INTERFACE SUBNETS ADDRESS
eth2 eth2 192.168.2.254</programlisting>
<para > Tout comme dans la bidouille pr<70> sent<6E> e dans la FAQ2 ci-dessus,
le trafic de la dmz vers la dmz semblera provenir du firewall et non
du v<> ritable h<> te source.</para>
</example>
</section>
<section id= "faq2b" >
<title > (FAQ 2b) J'ai un serveur web dans ma DMZ et je me sers du
transfert de port pour le rendre accessible sur internet en tant que
www.mondomaine.com. Cela marche tr<74> s bien sauf pour mes utilisateurs
locaux lorsqu'ils tentent de se connecter <20>
www.mondomaine.com.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Supposons que:</para>
<itemizedlist >
<listitem >
<para > L'adresse externe IP soit 206.124.146.176 sur <filename
class="devicefile">eth0</filename> (www.mondomaine.com).</para>
</listitem>
<listitem >
<para > L'adresse IP du serveur soit 192.168.2.4</para>
</listitem>
</itemizedlist>
<para > Vous pouvez autoriser les machines du r<> seau local <20> acc<63> der <20>
votre serveur en utilisant l'adresse IP externe du firewall. Il suffit
d'ajouter cette r<> gle:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL
# PORT DEST
DNAT loc dmz:192.168.2.4 tcp 80 - 206.124.146.176</programlisting>
<para > Si votre adresse IP externe vous est allou<6F> e dynamiquement, vous
devez faire comme suit:</para>
<para > Dans le fichier
<filename > /etc/shorewall/params</filename> :</para>
<programlisting > <command > ETH0_IP=`find_first_interface_address eth0`</command> </programlisting>
<para > Et votre r<> gle DNAT deviendra:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL
# PORT DEST.
DNAT loc dmz:192.168.2.4 tcp 80 - $ETH0_IP</programlisting>
2006-12-03 18:21:52 +01:00
<warning >
<para > Avec des adresses IP dynamiques, vous n'utiliserez pas
<command > shorewall[-lite] save</command> ni
<command > shorewall[-lite] restore</command> .</para>
</warning>
</section>
<section id= "faq2c" >
<title > (FAQ 2c) J'ai essay<61> d'appliquer la r<> ponse <20> la FAQ 2 <20> mon
interface externe et <20> la zone net. Cela ne marche pas. Pourquoi
?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Avez-vous activ<69>
<emphasis role= "bold" > IP_FORWARDING=On</emphasis> dans
<filename > shorewall.conf</filename> ?</para>
2006-01-07 20:20:38 +01:00
</section>
</section>
</section>
<section >
<title > Netmeeting/MSN</title>
<section id= "faq3" >
<title > (FAQ 3) Je veux utiliser Netmeeting ou la messagerie instantan<61> e
MSN avec Shorewall. Que faire ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Il existe un <ulink
url="http://www.kfki.hu/%7Ekadlec/sw/netfilter/newnat-suite/">module de
suivi de connexion H.323</ulink> qui est d'un grand secours avec
Netmeeting. Prenez cependant en compte cet article r<> cent d'un des
d<> veloppeurs de Netfilter:</para>
<blockquote >
<para > <programlisting > > Je sais que PoM -ng va traiter ce probl<62> me, mais en attendant qu'il soit pr<70> t,
> et que tous les extras y soient port<72> s, existe-t-il un moyen d'utiliser le patch
> noyau pour le module de suivi de connexion H.323 avec un noyau 2.6 ?
> j'utilise un noyau 2.6.1 et le noyau 2.4 n'est pas install<6C> sur le syst<73> me, c'est
> pourquoi je ne peux pas envisager de revenir en 2.4 ... et le module n'a pas
> encore <20> t<EFBFBD> port<72> en 2.6, dommage.
> Quelles options ai-je <20> part d'installer une application gatekeeper (qui ne
> fonctionne pas dans mon r<> seau) ou un proxy (ce que je pr<70> f<EFBFBD> rerais <20> viter) ?
Je sugg<67> re <20> tous de configurer un proxy (gatekeeper): le module est vraiment
nul et ne m<> rite pas d'exister. <20> a a <20> t<EFBFBD> un tr<74> s bon outil de d<> veloppement et
de deboguage de l'interface newnat.</programlisting> </para>
</blockquote>
<para > Vous pouvez aller voir <ulink url= "UPnP.html" > ici</ulink> une
solution pour la messagerie instantan<61> e MSN. Vous devez avoir conscience
que cette solution comporte des risques de s<> curit<69> significatifs. Vous
pouvez <20> galement v<> rifier aupr<70> s de la liste de diffusion de Netfilter <20>
<ulink
url="http://www.netfilter.org">http://www.netfilter.org</ulink> .</para>
</section>
</section>
<section >
<title > Ports ouverts</title>
2006-12-03 18:21:52 +01:00
<section id= "faq51" >
<title > (FAQ 51) Comment ouvrir des ports dans Shorewall?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Aucune personne ayant
install<6C> Shorewall en utilisant un des <ulink
url="shorewall_quickstart_guide.htm">Guides de D<> marrage Rapide</ulink>
ne devrait avoir <20> poser cette question.</para>
<para > Quel que soit le guide que vous avez utilis<69> , toutes les
communications sortantes sont ouvertes par d<> faut. Vous n'avez donc pas
<20> "ouvrir de port" en sortie.</para>
<para > En entr<74> e:</para>
<itemizedlist >
<listitem >
<para > Si vous avez install<6C> en utilisant le guide Firewall Monoposte
(une interface), <ulink url= "standalone_fr.htm#Open" > relisez cette
section SVP</ulink> .</para>
</listitem>
<listitem >
<para > Si vous avez utilis<69> le guide Firewall <20> deux interfaces pour
installer merci de relire ces sections: <ulink
url="two-interface_fr.htm#DNAT">Transfert de ports (DNAT)</ulink> ,
et <ulink url= "two-interface_fr.htm#Open" > Autres
connexions</ulink> </para>
</listitem>
<listitem >
<para > Si vous avez utilis<69> le guide Firewall <20> trois interfaces pour
installer merci de relire ces sections: <ulink
url="three-interface.htm#DNAT">Transfert de ports (DNAT)</ulink> et
<ulink url= "three-interface.htm#Open" > Autres
Connexions</ulink> </para>
</listitem>
<listitem >
<para > Si vous avez install<6C> en utilisant le <ulink
url="shorewall_setup_guide_fr.htm">Guide de configuration
Shorewall</ulink> vous feriez mieux de lire le guide <20> nouveau --
vous avez vraiment rat<61> beaucoup de choses.</para>
</listitem>
</itemizedlist>
<para > Voyez <20> galement la <link linkend= "PortForwarding" > section
Transfert de Ports de cette FAQ</link> .</para>
</section>
2006-01-07 20:20:38 +01:00
<section id= "faq4" >
<title > (FAQ 4) Je viens juste d'utiliser un scanner de port en ligne
pour v<> rifier le param<61> trage de mon firewall et certains ports
apparaissent <quote > ferm<EFBFBD> s</quote> (closed) alors que d'autres sont
<quote > bloqu<EFBFBD> s</quote> (blocked). Pourquoi ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> La configuration par
d<> faut de Shorewall invoque l'action <emphasis
role="bold">Drop</emphasis> avant de mettre en oeuvre une politique
DROP, et la politique par d<> faut d'internet vers toutes les zones est
DROP. L'action Drop est d<> finie dans le fichier
<filename > /usr/share/shorewall/action.Drop</filename> qui invoque
2006-12-03 18:21:52 +01:00
lui-m<> me la macro <emphasis role= "bold" > Auth</emphasis> (d<> finie dans le
fichier <filename > /usr/share/shorewall/macro.Auth</filename> ) qui
sp<73> cifie l'action <emphasis role= "bold" > REJECT</emphasis> (c.a.d.,
<emphasis role= "bold" > Auth/REJECT</emphasis> ). Cela est n<> cessaire pour
<20> viter les probl<62> mes de connexion sortante <20> des services qui utilisent
le m<> canisme <quote > Auth</quote> pour identifier les utilisateurs. C'est
le seul service configur<75> par d<> faut pour rejeter (REJECT) les
paquets.</para>
2006-01-07 20:20:38 +01:00
<para > Si vous voyez d'autres ports TCP ferm<72> s autres que le port 113
(auth) c'est que vous avez ajout<75> des r<> gles REJECT pour ces ports ou
bien qu'un routeur <20> l'ext<78> rieur de votre firewall r<> pond aux requ<71> tes
de connexion sur ce port.</para>
<section id= "faq4a" >
<title > (FAQ 4a) Je viens d'ex<65> cuter un scan UDP de mon firewall avec
nmap et il trouve des centaines de ports ouverts!!!!</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Respirez <20> fond et
lisez la section man de nmap au sujet des scans UDP. Si nmap n'a
<emphasis role= "bold" > aucun</emphasis> retour de votre firewall, il
donnera ce port comme <20> tant ouvert. Si vous voulez voir quels sont les
ports UDP r<> ellement ouverts, modifiez temporairement votre politique
net-> all pour REJECT, relancez Shorewall et refaites le scan UDP
nmap.</para>
</section>
<section id= "faq4b" >
<title > (FAQ 4b) Quoi que je change dans mes r<> gles, Il y a un port que
je n'arrive pas <20> fermer.</title>
<para > J'avais une r<> gle qui autorisait telnet de mon r<> seau local vers
mon firewall. Je l'ai enlev<65> e et j'ai relanc<6E> Shorewall mais ma
session telnet fonctionne encore!!!</para>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Les r<> gles traitent de
l'<27> tablissement de nouvelles connexions. Lorsqu'une connexion est
<20> tablie par le firewall, elle restera utilisable jusqu'<27> la
d<> connexion tcp ou jusqu'au time out pour les autres protocoles. Si
vous fermez votre session telnet et que vous essayez d'<27> tablir un
nouvelle session, votre firewall bloquera cette tentative.</para>
</section>
<section id= "faq4c" >
<title > (FAQ 4c) Comment utiliser Shorewall avec PortSentry?</title>
<para > <ulink
2020-03-26 22:58:35 +01:00
url="https://shorewall.org/pub/shorewall/contrib/PortsentryHOWTO.txt"><emphasis
2006-12-03 18:21:52 +01:00
role="bold">Answer:</emphasis> Vous trouverez ici la
description</ulink> d'une bonne int<6E> gration de Shorewall et
PortSentry.</para>
2006-01-07 20:20:38 +01:00
</section>
</section>
2006-12-03 18:21:52 +01:00
<section >
<title > (FAQ 4d) Comment utiliser Shorewall avec Snort-Inline?</title>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> <ulink
url="http://www.catherders.com/tiki-view_blog_post.php?blogId=1& postId=71">Allez
voir cette contribution</ulink> de Michael Cooke.</para>
2006-01-07 20:20:38 +01:00
</section>
</section>
<section >
<title > Probl<EFBFBD> mes de connexion</title>
<section id= "faq5" >
<title > (FAQ 5) J'ai install<6C> Shorewall et je ne peux plus
<quote > pinger</quote> <20> travers le firewall</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Pour une description
compl<70> te de la gestion du <quote > ping</quote> par Shorewall, voyez
<ulink url= "ping.html" > cette page</ulink> .</para>
</section>
<section id= "faq15" >
<title > (FAQ 15) Mes syst<73> mes locaux ne peuvent rien voir sur
internet</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Chaque fois que je lis
<quote > mes syst<73> mes ne peuvent rien voir sur internet</quote> , je me
demande o<> l'auteur a bien pu acheter des ordinateurs avec des yeux et
ce que ces ordinateurs peuvent bien <quote > voir</quote> lorsque tout
fonctionne convenablement. Ceci mis <20> part, les causes habituelles <20> ce
type de probl<62> mes sont:</para>
<orderedlist >
<listitem >
<para > L'adresse de la passerelle par d<> faut n'est pas configur<75> e <20>
l'adresse de l'interface locale du firewall sur chacun des syst<73> mes
locaux.</para>
</listitem>
<listitem >
<para > L'entr<74> pour le r<> seau local dans le fichier
<filename > /etc/shorewall/masq</filename> est erron<6F> e ou
manquante.</para>
</listitem>
<listitem >
<para > La configuration du DNS sur les syst<73> mes locaux est mauvaise
ou bien l'utilisateur fait tourner un serveur DNS sur le firewall et
il n'a pas autoris<69> le port 53 UDP et TCP de son firewall vers
internet.</para>
</listitem>
<listitem >
<para > Le forwarding n'est pas activ<69> (ceci est souvent le cas pour
les utilisateurs Debian). Ex<45> cutez cette commande:</para>
<programlisting > cat /proc/sys/net/ipv4/ip_forward</programlisting>
<para > Si la valeur est 0 (z<> ro) mettez <emphasis
role="bold">IP_FORWARDING=On</emphasis> dans le fichier
<filename > /etc/shorewall/shorewall.conf</filename> et relancez
Shorewall.</para>
</listitem>
</orderedlist>
</section>
<section id= "faq29" >
<title > (FAQ 29) FTP ne fonctionne pas</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Voir la page <ulink
url="FTP.html">Shorewall et FTP</ulink> .</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq33" >
<title > (FAQ 33) Depuis mes clients derri<72> re le firewall les connexions
vers certains sites <20> chouent. Les connexions vers les m<> mes sites, mais
depuis le firewall fonctionnent. Qu'est-ce qui ne va pas ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Tr<54> s probablement, il
vous faudra mettre CLAMPMSS=Yes dans le fichier <ulink
url="Documentation.htm#Conf">/etc/shorewall/shorewall.conf</ulink> .</para>
</section>
<section id= "faq35" >
<title > (FAQ 35) J'ai deux interfaces ethernet vers mon r<> seau local que
j'ai mont<6E> es en pont (bridge). Quand Shorewall est d<> marr<72> , je n'arrive
pas <20> faire passer le trafic <20> travers le pont. J'ai d<> fini l'interface
pont (br0) comme interface locale dans /etc/shorewall/interfaces. Les
interfaces ethernet <quote > pont<EFBFBD> es</quote> ne sont pas d<> finies pour
Shorewall. Comment demander <20> Shorewall d'autoriser le trafic <20> travers
le pont ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : ajouter l'option
<firstterm > routeback</firstterm> <20> l'interface <filename
class="devicefile">br0</filename> dans le fichier <ulink
url="Documentation.htm#Interfaces">/etc/shorewall/interfaces</ulink> .</para>
<para > Pour plus d'information sur ce type de configuration, voir la
documentation pour <ulink url= "SimpleBridge.html" > un pont simple avec
Shorewall</ulink> .</para>
</section>
</section>
<section >
<title > Journalisation</title>
<section id= "faq6" >
<title > (FAQ 6) O<> sont enregistr<74> s les messages de journalisation et
comment modifier leur destination ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> NetFilter utilise
l'<27> quivalent noyau de syslog (voir <quote > man syslog</quote> ) pour
journaliser les messages. Il utilise toujours le dispositif LOG_KERN
(voir <quote > man openlog</quote> ) et vous devez choisir le niveau de
journalisation (log level, voir <quote > man syslog</quote> ) dans vos
<ulink url= "Documentation.htm#Policy" > politiques</ulink> et dans vos
<ulink url= "Documentation.htm#Rules" > r<EFBFBD> gles</ulink> . La destination des
messages journalis<69> s par syslog est contr<74> l<EFBFBD> e avec
<filename > /etc/syslog.conf</filename> (voir <quote > man
syslog.conf</quote> ). Lorsque vous avez modifi<66>
<filename > /etc/syslog.conf</filename> , assurez-vous de red<65> marrer
syslogd (sur un syst<73> me RedHat, <quote > service syslog
restart</quote> ).</para>
<para > Par d<> faut, les versions plus anciennes de Shorewall limitaient le
taux de journalisation des messages gr<67> ce <20> des <ulink
url="Documentation.htm#Conf">param<61> tres</ulink> du fichier
<filename > /etc/shorewall/shorewall.conf</filename> -- Si vous voulez
journaliser tous les messages, positionnez ces param<61> tres comme
suit:</para>
<programlisting > LOGLIMIT=""
LOGBURST=""</programlisting>
<para > On peut <20> galement <ulink url= "shorewall_logging.html" > param<EFBFBD> trer
Shorewall pour qu'il enregistre les messages de journalisation dans un
fichier s<> par<61> </ulink> .</para>
<section id= "faq6a" >
<title > (FAQ 6a) Existe-t-il des analyseur de journal qui fonctionnent
avec Shorewall?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Voil<69> plusieurs liens
qui peuvent vous aider:</para>
<literallayout >
2020-03-26 22:58:35 +01:00
<ulink url= "https://shorewall.org/pub/shorewall/parsefw/" > https://shorewall.org/pub/shorewall/parsefw/</ulink>
2006-01-07 20:20:38 +01:00
<ulink url= "http://www.fireparse.com" > http://www.fireparse.com</ulink>
<ulink url= "http://cert.uni-stuttgart.de/projects/fwlogwatch" > http://cert.uni-stuttgart.de/projects/fwlogwatch</ulink>
<ulink url= "http://www.logwatch.org" > http://www.logwatch.org</ulink>
<ulink url= "http://gege.org/iptables" > http://gege.org/iptables</ulink>
<ulink url= "http://home.regit.org/ulogd-php.html" > http://home.regit.org/ulogd-php.html</ulink>
</literallayout>
<para > Personnellement, j'utilise Logwatch. Il m'envoie chaque jour par
courriel un rapport pour chacun de mes diff<66> rents syst<73> mes. Chaque
rapport r<> sume l'activit<69> journalis<69> e sur le syst<73> me
correspondant.</para>
</section>
<section id= "faq6b" >
<title > (FAQ 6b) Mes journaux sont inond<6E> s de messages DROP pour des
requ<71> tes de connections sur le port 10619. Puis-je exclure
temporairement de la journalisation Shorewall les messages d'erreur
pour ce port ?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ajoutez temporairement
la r<> gle suivante:</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT(S)
DROP net fw udp 10619</programlisting>
<para > Sinon, si vous ne mettez pas le param<61> tre BLACKLIST_LOGLEVEL et
que vous avez sp<73> cifi<66> l'option 'blacklist' sur votre interface
externe dans le fichier
<filename > /etc/shorewall/interfaces</filename> , vous pouvez
blacklister le port. Dans le fichier
<filename > /etc/shorewall/blacklist</filename> :</para>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<programlisting > #ADDRESS/SUBNET PROTOCOL PORT
- udp 10619</programlisting>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq6d" >
<title > (FAQ 6d) Pourquoi l'adresse MAC dans les messages de
journalisation Shorewall est-elle si longue ? Je pensais que l'adresse
MAC ne faisait que 6 octets.</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ce qui est labelis<69>
comme adresse MAC dans les messages de journalisation Shorewall est en
fait l'ent<6E> te de la trame ethernet. Elle contient:</para>
2006-01-07 20:20:38 +01:00
<itemizedlist >
<listitem >
<para > l'adresse MAC de destination (6 octets)</para>
</listitem>
<listitem >
<para > l'adresse MAC source (6 octets)</para>
</listitem>
<listitem >
<para > le type de trame ethernet (2 octets)</para>
</listitem>
</itemizedlist>
<para > <example >
<title > Exemple</title>
<para > <programlisting > MAC=00:04:4c:dc:e2:28:00:b0:8e:cf:3c:4c:08:00</programlisting>
<itemizedlist >
<listitem >
<para > adresse MAC de destination = 00:04:4c:dc:e2:28</para>
</listitem>
<listitem >
<para > adresse MAC source = 00:b0:8e:cf:3c:4c</para>
</listitem>
<listitem >
<para > type de trame ethernet = 08:00 (IP Version 4)</para>
</listitem>
</itemizedlist> </para>
</example> </para>
</section>
</section>
<section id= "faq16" >
<title > (FAQ 16) Shorewall <20> crit ses messages de journalisation
directement sur ma console et la rend inutilisable!</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> </para>
<itemizedlist >
<listitem >
<para > Trouvez o<> klogd est d<> marr<72> (ce sera depuis un des fichiers
du r<> pertoire <filename class= "directory" > /etc/init.d</filename> --
sysklogd, klogd, ...). Modifiez ce fichier ou le fichier de
configuration appropri<72> de telle mani<6E> re que klogd soit d<> marr<72> avec
<quote > -c <emphasis > < n> </emphasis> </quote> avec
<emphasis > < n> </emphasis> <20> tant un niveau de journalisation
inf<6E> rieur ou <20> gal <20> 5; ou alors</para>
</listitem>
<listitem >
<para > Voir la page man de <quote > dmesg</quote> (<quote > man
dmesg</quote> ). Vous devez ajouter une commande <quote > dmesg</quote>
adapt<70> e dans vos scripts de d<> marrage ou la placer dans le fichier
<filename > /etc/shorewall/start</filename> .</para>
</listitem>
</itemizedlist>
<tip >
<para > Sous RedHat et Mandriva, le <ulink
url="shorewall_logging.html">niveau de journalisation</ulink> maximum
envoy<6F> <20> la console est sp<73> cifi<66> par la variable LOGLEVEL du fichier
<filename > /etc/sysconfig/init</filename> . Positionnez
<quote > LOGLEVEL=5</quote> pour <20> liminer de la console les messages de
niveau info.</para>
</tip>
<tip >
<para > Sous Debian, vous pouvez mettre KLOGD=<quote > -c 5</quote> dans
le fichier <filename > /etc/init.d/klogd</filename> afin d'<27> liminer de
la console les messages de niveau info (log level 6).</para>
</tip>
<tip >
<para > Sous SUSE, ajoutez <quote > -c 5</quote> <20> KLOGD_PARAMS dans le
fichier <filename > /etc/sysconfig/syslog</filename> fin d'<27> liminer de
la console les messages de niveau info (log level 6).</para>
</tip>
</section>
<section id= "faq17" >
<title > (FAQ 17) Pourquoi ces paquets sont-ils ignor<6F> s/rejet<65> s
(dropped/rejected)? Comment d<> code-t-on les messages de journalisation
Shorewall?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Avec Shorewall, les
paquets ignor<6F> s/rejet<65> s peuvent avoir <20> t<EFBFBD> journalis<69> s en sortie d'un
certain nombre de cha<68> nes (comme indiqu<71> dans le message):</para>
<variablelist >
<varlistentry >
<term > man1918 or logdrop</term>
<listitem >
<para > L'adresse destination est list<73> e dans le fichier
<filename > /usr/share/shorewall/rfc1918</filename> avec une cible
<emphasis role= "bold" > logdrop</emphasis> -- voir <filename > <ulink
url="Documentation.htm#rfc1918">/usr/share/shorewall/rfc1918</ulink> </filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > rfc1918 or logdrop</term>
<listitem >
<para > L'adresse source ou destination est list<73> e dans le fichier
<filename > /usr/share/shorewall/rfc1918</filename> avec un cible
<emphasis role= "bold" > logdrop</emphasis> -- voir <filename > <ulink
url="Documentation.htm#rfc1918">/usr/share/shorewall/rfc1918</ulink> </filename> .</para>
<note >
<para > Si vous voyez des paquets rejet<65> s par la cha<68> ne rfc1918 et
que ni l'adresse IP source ni l'adresse IP de destination ne
sont r<> serv<72> es par la RFC 1918, cela provient la plupart du
temps d'un ancien fichier <filename > rfc1918</filename> dans
<filename class= "directory" > /etc/shorewall</filename> (ceci
arrive le plus fr<66> quemment lorsque vous utilisez une Debian ou
un de ses d<> riv<69> s). Le fichier <filename > rfc1918</filename>
incluait aussi bien les <emphasis > bogons</emphasis> que les
trois plages r<> serv<72> es par la RFC 1918. Il <20> tait install<6C> dans
le r<> pertoire <filename
class="directory">/etc/shorewall</filename> . Maintenant le
fichier ne contient que les trois plages d'adresse de la RFC
1918 et il est install<6C> dans le r<> pertoire <filename
class="directory">/usr/share/shorewall</filename> . Retirez le
fichier rfc1918 p<> rim<69> de votre r<> pertoire <filename
class="directory">/etc/shorewall</filename> .</para>
</note>
</listitem>
</varlistentry>
<varlistentry id= "all2all" >
<term > all2< zone> , < zone> 2all or all2all</term>
<listitem >
<para > Vous avez une <ulink
url="Documentation.htm#Policy">politique</ulink> qui sp<73> cifie un
niveau de journalisation et ce paquet a <20> t<EFBFBD> journalis<69> par cette
politique. Si vous voulez autoriser (ACCEPT) ce trafic, il vous
faudra une <ulink url= "Documentation.htm#Rules" > r<EFBFBD> gle</ulink> <20>
cette fin.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > < zone1> 2< zone2> </term>
<listitem >
<para > Ou bien vous avez une <ulink
url="Documentation.htm#Policy">politique</ulink> pour le trafic de
la <emphasis role= "bold" > < zone1> </emphasis> vers la
<emphasis role= "bold" > < zone2> </emphasis> qui sp<73> cifie un
niveau de journalisation et ce paquet a <20> t<EFBFBD> journalis<69> par cette
politique ou alors ce paquet correspond <20> une <ulink
url="Documentation.htm#Rules">r<> gle</ulink> incluant un niveau de
journalisation.</para>
2006-12-03 18:21:52 +01:00
<para > A partir de Shorewall 3.3.3, les paquets logg<67> s par ces
chaines peuvent avoir une source et/ou une destination
n'appartenant <20> aucune zone d<> finie (voir le r<> sultat de la
commande <command > shorewall[-lite] show zones</command> ).
Souvenez-vous que l'appartenance <20> une zone n<> cessite <20> la fois
une interface du firewall et une adresse ip.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
<varlistentry >
<term > @< source> 2< dest> </term>
<listitem >
<para > Vous avez une politique pour le trafic de < <emphasis
role="bold">source</emphasis> > vers < <emphasis
role="bold">dest</emphasis> > dans laquelle vous avez sp<73> cifi<66>
un taux de limitation des connexions TCP (les valeurs dans la
colonne LIMIT:BURST). Les paquet journalis<69> d<> passait cette limite
et a <20> t<EFBFBD> ignor<6F> (DROP). Il faut noter que ces messages au journal
sont eux-m<> me s<> v<EFBFBD> rement limit<69> s afin qu'une inondation SYN
(syn-flood) ne provoque pas un d<> ni de service (DOS) secondaire
par un nombre excessif de messages de journalisation. Ces messages
ont <20> t<EFBFBD> introduits dans Shorewall 2.2.0 Beta 7.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > < interface> _mac</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> journalis<69> par l'<ulink
url="Documentation.htm#Interfaces">option d'interface</ulink>
<emphasis role= "bold" > maclist</emphasis> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > logpkt</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> journalis<69> par l'<ulink
url="Documentation.htm#Interfaces">option d'interface</ulink>
<emphasis role= "bold" > logunclean</emphasis> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > badpkt</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> journalis<69> par l'<ulink
url="Documentation.htm#Interfaces">option d'interface</ulink>
<emphasis role= "bold" > dropunclean</emphasis> tel que sp<73> cifi<66> dans
le param<61> tre <emphasis role= "bold" > LOGUNCLEAN</emphasis> du
fichier <ulink url= "Documentation.htm#Conf" >
<filename > /etc/shorewall/shorewall.conf</filename>
</ulink> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > blacklst</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> journalis<69> parce que l'adresse IP source est
inscrite dans la liste noire <filename > <ulink
url="Documentation.htm#Blacklist">/etc/shorewall/blacklist</ulink> </filename> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > INPUT or FORWARD</term>
<listitem >
<para > Ce paquet a une adresse IP source qui n'est d<> finie dans
2006-12-03 18:21:52 +01:00
aucune de vos zones (<quote > <command > shorewall[-lite] show
zones</command> </quote> et regardez les d<> finitions de zones) ou
alors la cha<68> ne est FORWARD et l'adresse IP de destination ne
figure dans aucune de vos zones d<> finies. Si la cha<68> ne est FORWARD
et les interfaces IN et OUT sont identiques, vous avez sans doute
besoin de l'option <emphasis role= "bold" > routeback</emphasis> sur
cette interface dans le fichier <filename > <ulink
2006-01-07 20:20:38 +01:00
url="Documentation.htm#Interfaces">/etc/shorewall/interfaces</ulink> </filename>
ou bien vous avez besoin de l'option <emphasis
role="bold">routeback</emphasis> pour l'entr<74> e ad<61> quate dans le
fichier<filename > <ulink
url="Documentation.htm#Hosts">/etc/shorewall/hosts</ulink>
</filename> .</para>
2006-12-03 18:21:52 +01:00
<para > A partir de 3.3.3, de tels paquets peuvent aussi <20> tre logg<67> s
par les chaines < zone> 2all et all2all.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
<varlistentry >
<term > OUTPUT</term>
<listitem >
<para > Ce paquet a une adresse IP destination qui n'est d<> finie
dans aucune de vos zones (<quote > shorewall check</quote> et
regardez les d<> finitions de zones).</para>
2006-12-03 18:21:52 +01:00
<para > A partir Shorewall 3.3.3, de tels paquets peuvent aussi <20> tre
logg<67> s par les chaines fw2all et all2all.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
<varlistentry >
<term > logflags</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> journalis<69> parce qu'il a <20> chou<6F> aux
contr<74> les mis en oeuvre par l'<ulink
url="Documentation.htm#Interfaces">option d'interface</ulink>
<emphasis role= "bold" > tcpflags</emphasis> .</para>
</listitem>
</varlistentry>
</variablelist>
<example >
<title > Exemple:</title>
<programlisting > Jun 27 15:37:56 gateway kernel:
Shorewall:<emphasis role= "bold" > all2all:REJECT</emphasis> :<emphasis
role="bold">IN=eth2</emphasis>
<emphasis role= "bold" > OUT=eth1</emphasis>
<emphasis role= "bold" > SRC=192.168.2.2</emphasis>
<emphasis role= "bold" > DST=192.168.1.3 </emphasis> LEN=67 TOS=0x00 PREC=0x00 TTL=63 ID=5805 DF <emphasis
role="bold">PROTO=UDP</emphasis>
SPT=1803 <emphasis role= "bold" > DPT=53</emphasis> LEN=47</programlisting>
<para > Examinons les partie importantes de ce message:</para>
<variablelist >
<varlistentry >
<term > all2all:REJECT</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> rejet<65> (REJECT) par la cha<68> ne <emphasis
role="bold">all2all</emphasis> -- le paquet a <20> t<EFBFBD> rejet<65> par la
politique <quote > all</quote> -> <quote > all</quote> REJECT (voir
<link linkend= "all2all" > all2all</link> ci-dessus).</para>
</listitem>
</varlistentry>
<varlistentry >
<term > IN=eth2</term>
<listitem >
<para > Le paquet est arriv<69> dans le firewall par eth2. Lorsque
vous voyez <quote > IN=</quote> sans aucun nom d'interface, c'est
que le paquet provient du firewall lui-m<> me.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > OUT=eth1</term>
<listitem >
<para > Si il avait <20> t<EFBFBD> autoris<69> , ce paquet aurait <20> t<EFBFBD> transmis <20>
eth1. Lorsque vous voyez <quote > OUT=</quote> sans aucun nom
d'interface, c'est que le paquet aurait <20> t<EFBFBD> trait<69> par le
firewall lui-m<> me.</para>
<note >
<para > Lorsqu'une r<> gle DNAT est journalis<69> e, on n'a jamais de
OUT= parce que le paquet est journalis<69> avant d'<27> tre rout<75> .
Par ailleurs, la journalisation DNAT donnera l'adresse IP
destination et le num<75> ro de port destination
d'<emphasis > origine</emphasis> .</para>
</note>
</listitem>
</varlistentry>
<varlistentry >
<term > SRC=192.168.2.2</term>
<listitem >
<para > Ce paquet a <20> t<EFBFBD> envoy<6F> par 192.168.2.2</para>
</listitem>
</varlistentry>
<varlistentry >
<term > DST=192.168.1.3</term>
<listitem >
<para > Ce paquet a pour destination 192.168.1.3</para>
</listitem>
</varlistentry>
<varlistentry >
<term > PROTO=UDP</term>
<listitem >
<para > Le protocole est UDP</para>
</listitem>
</varlistentry>
<varlistentry >
<term > DPT=53</term>
<listitem >
<para > Le port de destination est le port 53 (DNS)</para>
</listitem>
</varlistentry>
</variablelist>
<para > Pour plus d'informations concernant les messages de
journalisation, voir <ulink
url="http://logi.cc/linux/netfilter-log-format.php3">http://logi.cc/linux/netfilter-log-format.php3</ulink> .</para>
<para > Dans ce cas, 192.168.2.2 <20> tait dans la zone <quote > dmz</quote>
et 192.168.1.3 <20> tait dans la zone <quote > loc</quote> . Il me manquait
la r<> gle suivante:</para>
<programlisting > ACCEPT dmz loc udp 53</programlisting>
</example>
</section>
<section id= "faq21" >
<title > (FAQ 21) Je vois occasionnellement ces <20> tranges messages dans mon
journal. De quoi s'agit-il?</title>
<programlisting > Nov 25 18:58:52 linux kernel:
Shorewall:net2all:DROP:IN=eth1 OUT=
MAC=00:60:1d:f0:a6:f9:00:60:1d:f6:35:50:08:00 SRC=206.124.146.179
DST=192.0.2.3 LEN=56 TOS=0x00 PREC=0x00 TTL=110 ID=18558 PROTO=ICMP
TYPE=3 CODE=3 [SRC=192.0.2.3 DST=172.16.1.10 LEN=128 TOS=0x00 PREC=0x00
TTL=47 ID=0 DF PROTO=UDP SPT=53 DPT=2857 LEN=108 ]</programlisting>
<para > 192.0.2.3 est externe <20> mon firewall... mon r<> seau local est
172.16.0.0/24</para>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Bien que la plupart des
gens associent ICMP (Internet Control Message Protocol) <20>
2006-12-03 18:21:52 +01:00
<quote > ping</quote> , ICMP est une pi<70> ce cl<63> de IP. ICMP sert <20> informer
l'exp<78> diteur d'un paquet des probl<62> mes rencontr<74> s. C'est ce qui se
produit ici. Malheureusement, de nombreuses impl<70> mentations ne
2006-01-07 20:20:38 +01:00
fonctionnent pas d<> s lors que la traduction d'adresses est impliqu<71> e (y
compris SNAT, DNAT et Masquerade). C'est ce que vous voyez avec <20>
travers ces messages. Quand Netfilter renvoie ces messages, la partie
pr<70> c<EFBFBD> dent le "[" d<> crit le paquet ICMP, et la partie entre "[" et "]"
d<> crit le paquet pour lequel ICMP r<> pond.</para>
<para > Voici mon interpr<70> tation de ce qui se passe -- pour confirmer
l'analyse, il faudrait avoir un <quote > sniffeur</quote> de paquets <20>
chacune des extr<74> mit<69> s de la connexion.</para>
<para > L'h<> te 172.16.1.10 plac<61> derri<72> re la passerelle NAT
206.124.146.179 a envoy<6F> une requ<71> te DNS UDP <20> 192.0.2.3 et votre
serveur DNS a tent<6E> d'envoyer un r<> ponse (l'information en r<> ponse est
entre les crochets -- remarquez le port source 53 qui indique qu'il
s'agit d'une r<> ponse DNS). Quand la r<> ponse a <20> t<EFBFBD> envoy<6F> e <20>
206.124.146.179, le firewall a r<> <72> crit l'adresse IP destination <20>
172.16.1.10 puis a fait suivre le paquet <20> 172.16.1.10 qui n'avait plus
de connexion UDP sur le port 2857. Ceci provoque la g<> n<EFBFBD> ration d'un
message ICMP port unreachable (type 3, code 3) en retour vers 192.0.2.3.
Ce paquet est renvoy<6F> par 206.124.146.179 qui change correctement
l'adresse source dans le paquet pour 206.124.146.179 mais ne modifie pas
de la m<> me fa<66> on l'IP destination dans la r<> ponse DNS d'origine. Lorsque
le paquet ICMP atteint votre firewall (192.0.2.3), celui-ci n'a aucun
enregistrement lui indiquant qu'il a envoy<6F> une r<> ponse DNS <20>
172.16.1.10 et par cons<6E> quent ce paquet ICMP semble n'<27> tre associ<63> <20>
rien de ce qui a <20> t<EFBFBD> envoy<6F> . Le r<> sultat est que ce paquet est
journalis<69> et ignor<6F> (DROP) par la cha<68> ne all2all. J'ai <20> galement vu des
cas dans lesquels la source IP dans le paquet ICMP lui-m<> me n'est pas
r<> -<2D> crite <20> l'adresse externe de la passerelle NAT distante. Dans ce cas
votre firewall va journaliser et ignorer (DROP) le paquet par la cha<68> ne
rfc1918 cas son IP source est r<> serv<72> e par la RFC 1918.</para>
</section>
2006-02-26 18:19:21 +01:00
<section id= "faq52" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 52) Quand je blackliste une adresse IP avec
"shorewall[-lite] drop www.xxx.yyy.zzz", pourquoi est-ce qu'il y a
toujours des entr<74> es REDIRECT et DNAT en provenance de cette adresse
dans mon journal ?</title>
2006-02-26 18:19:21 +01:00
<para > J'ai blacklist<73> l'adresse 130.252.100.59 avec la commande
<command > shorewall drop 130.252.100.59</command> mais je vois toujours
ces messages dans le journal:</para>
<programlisting > Jan 30 15:38:34 server Shorewall:net_dnat:REDIRECT:IN=eth1 OUT= MAC=00:4f:4e:14:97:8e:00:01:5c:23:24:cc:08:00
SRC=130.252.100.59 DST=206.124.146.176 LEN=64 TOS=0x00 PREC=0x00 TTL=43 ID=42444 DF
PROTO=TCP SPT=2215 DPT=139 WINDOW=53760 RES=0x00 SYN URGP=0</programlisting>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Veuillez vous r<> f<EFBFBD> rer <20>
<ulink url= "NetfilterOverview.html" > Shorewall Netfilter
Documentation</ulink> . La journalisation des r<> gles REDIRECT et DNAT se
2006-12-03 18:21:52 +01:00
produit dans la cha<68> ne PREROUTING de la table nat dans laquelle
2006-02-26 18:19:21 +01:00
l'adresse est toujours valide. Le blacklistage se produit dans les
2006-12-03 18:21:52 +01:00
cha<68> nes INPUT et FORWARD de la table filter qui ne sont travers<72> es que
2006-02-26 18:19:21 +01:00
plus tard.</para>
</section>
2006-12-03 18:21:52 +01:00
<section id= "faq56" >
<title > (FAQ 56) Quand je d<> marre ou red<65> marre Shorewall, je vois ces
messages dans mon fichier log. Est-ce grave ?</title>
<blockquote >
<programlisting > modprobe: Can't locate module ipt_physdev
modprobe: Can't locate module iptable_raw</programlisting>
</blockquote>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Non. Ceci se produit
lorsque shorewall teste votre syst<73> me pour d<> terminer les fonctions
qu'il supporte. Ils ne pr<70> sentent aucun risque.</para>
</section>
2006-01-07 20:20:38 +01:00
</section>
<section >
<title > Routage</title>
<section id= "faq32" >
<title > (FAQ 32) J'ai deux connexions internet avec deux FAI diff<66> rents
sur mon firewall. Comment le configurer avec Shorewall?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : voir cet article sur
<ulink url= "MultiISP.html" > Shorewall et le routage</ulink> .</para>
</section>
<section id= "faq49" >
<title > (FAQ 49) Quand je d<> marre Shorewall, ma table de routage est
d<> truite. Pourquoi Shorewall fait-il cela?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ceci est en g<> n<EFBFBD> ral la
cons<6E> quence d'une b<> tise dans la configuration du NAT un-<2D> -un
(one-to-one NAT):</para>
<orderedlist >
<listitem >
<para > Vous sp<73> cifiez l'adresse IP primaire d'une interface dans la
colonne EXTERNAL du fichier <filename > /etc/shorewall/nat</filename>
alors que la documentation et les commentaires dans le fichier vous
mettent en garde contre une telle configuration.</para>
</listitem>
<listitem >
<para > Vous sp<73> cifiez ADD_IP_ALIASES=Yes et RETAIN_ALIASES=No dans le
fichier <filename > /etc/shorewall/shorewall.conf</filename> .</para>
</listitem>
</orderedlist>
<para > Cette combinaison fait d<> truire par Shorewall l'adresse primaire
de l'interface r<> seau sp<73> cifi<66> e dans la colonne INTERFACE, ce qui a en
g<> n<EFBFBD> ral pour cons<6E> quence de d<> truire routes les routes sortantes de
cette interface. La solution est de <emphasis role= "bold" > ne pas
sp<73> cifier l'adresse primaire d'une interface dans la colonne
EXTERNAL</emphasis> .</para>
</section>
</section>
<section >
<title > D<EFBFBD> marrer et arr<72> ter Shorewall</title>
<section id= "faq7" >
<title > (FAQ 7) Quand j'arr<72> te Shorewall avec la commande
2006-12-03 18:21:52 +01:00
<quote > shorewall[-lite] stop</quote> , je ne peux plus me connecter <20>
quoi que ce soit. Pourquoi cette commande ne fonctionne-t-elle
pas?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : La commande <quote >
<command > stop</command> </quote> est pr<70> vue pour mettre votre firewall
dans un <20> tat de s<> curit<69> o<> seuls les h<> tes list<73> s dans le fichier
<filename > /etc/shorewall/routestopped</filename> sont activ<69> s. Si vous
voulez ouvrir compl<70> tement votre firewall, il vous faut utiliser la
commande <quote > <command > shorewall clear</command> </quote> .</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq8" >
<title > (FAQ 8) Quand je tente de lancer Shorewall sur RedHat, je re<72> ois
des messages d'erreur insmod -- qu'est-ce qui ne va pas?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> La sortie que vous avez
ressemble <20> ceci:</para>
<programlisting > /lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o: insmod
/lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o failed
/lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed
iptables v1.2.3: can't initialize iptables table `nat': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.</programlisting>
<para > En g<> n<EFBFBD> ral, ce probl<62> me est corrig<69> par la s<> quence de commandes
qui suit:</para>
<programlisting > <command > service ipchains stop
chkconfig --delete ipchains
rmmod ipchains</command> </programlisting>
<para > Par ailleurs, assurez-vous d'avoir v<> rifi<66> dans l'<ulink
url="errata.htm">errata</ulink> que vous n'avez pas de probl<62> mes li<6C> <20>
la version d'iptables (v1.2.3) distribu<62> e avec RH7.2.</para>
<section id= "faq8a" >
<title > (FAQ 8a) Quand je tente de lancer Shorewall sur une RedHat, je
re<72> ois un message qui me renvoie <20> la FAQ #8</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Ceci se traite en
g<> n<EFBFBD> ral avec la s<> quence de commandes pr<70> sent<6E> e ci-dessus dans la
<xref linkend= "faq8" /> .</para>
</section>
</section>
<section id= "faq9" >
<title > (FAQ 9) Pourquoi Shorewall ne r<> ussit-il pas <20> d<> tecter
convenablement mes interfaces au d<> marrage?</title>
<para > Je viens d'installer Shorewall et quand je lance la commande
start, voil<69> ce qui se passe :</para>
<programlisting > Processing /etc/shorewall/params ...
Processing /etc/shorewall/shorewall.conf ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net loc
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
<emphasis role= "bold" > Net Zone: eth0:0.0.0.0/0
</emphasis> <emphasis role= "bold" > Local Zone: eth1:0.0.0.0/0</emphasis>
Deleting user chains...
Creating input Chains...
...</programlisting>
<para > Pourquoi est-ce que Shorewall ne d<> tecte-t-il pas correctement mes
interfaces?</para>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> La sortie ci-dessus est
parfaitement normale. La zone Net est d<> finie comme <20> tant compos<6F> e de
toutes les machines connect<63> es <20> eth0 et la zone Local est d<> finie comme
<20> tant compos<6F> e de toutes celles connect<63> es <20> eth1. Si vous utilisez
Shorewall 1.4.10 ou une version plus r<> cente, vous pouvez envisager de
param<61> trer l'<ulink url= "Documentation.htm#Interfaces" > option
d'interface</ulink> <emphasis role= "bold" > detectnet</emphasis> pour
votre interface locale (eth1 dans l'exemple ce-dessus). Ceci forcera
Shorewall <20> restreindre la zone locale aux seuls r<> seaux rout<75> s par
cette interface.</para>
</section>
<section id= "faq22" >
<title > (FAQ 22) Je voudrais ex<65> cuter certaines commandes iptables au
d<> marrage de Shorewall. Dans quel fichier les mettre?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Vous pouvez placer ces
commandes dans une des <ulink
2006-01-07 20:20:38 +01:00
url="shorewall_extension_scripts.htm">Scripts d'Extension
Shorewall</ulink> . Assurez-vous de bien examiner le contenu des cha<68> nes
que vos commandes vont modifier afin d'<27> tre certain que ces commandes
feront bien ce qu'elles sont cens<6E> es faire. De nombreuses commandes
publi<6C> es dans des guides (HOWTOs) ainsi que dans d'autres modes
op<6F> ratoires font usage de la commande -A qui ajoute les r<> gles en fin de
cha<68> ne. La plupart des cha<68> nes construites par Shorewall se terminent
par une r<> gle inconditionnelle DROP, ACCEPT ou REJECT et donc toute
r<> gle que vous pourriez ajouter apr<70> s serait ignor<6F> e. Consultez
<quote > man iptables</quote> et prenez connaissance de la commande -I
(--insert).</para>
</section>
<section id= "faq34" >
<title > (FAQ 34) Comment acc<63> l<EFBFBD> rer le d<> marrage (start/restart)?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : L'utilisation d'un shell
l<> ger tel que <command > ash</command> peut diminuer de fa<66> on tr<74> s
significative le temps n<> cessaire pour d<> marrer (<emphasis
role="bold">start</emphasis> /<emphasis role= "bold" > restart</emphasis> )
Shorewall. Voyez la variable SHOREWALL_SHELL dans le fichier
<filename > <ulink url= "Documentation.htm#Conf" > shorewall.conf</ulink>
</filename> .</para>
2006-01-07 20:20:38 +01:00
<para > Utilisez un <20> mulateur de terminal rapide -- en particulier la
console KDE d<> file beaucoup plus vite que le terminal Gnome. Vous pouvez
<20> galement utiliser l'option '-q' si vous red<65> marrez <20> distance ou depuis
un terminal lent (ou rediriger la sortie vers un fichier comme dans
<command > shorewall restart > /dev/null</command> ).</para>
2006-02-26 18:19:21 +01:00
<para > Mettez votre mat<61> riel <20> niveau. De nombreux utilisateurs ont
constat<61> que m<> me une am<61> lioration modeste de la CPU et de la vitesse de
la m<> moire (par exemple passer d'un P3 avec de la SDRAM <20> un P4 avec de
la DDR) avait des effets tr<74> s significatifs. Les CPU dot<6F> es de la
technologie EM64T, aussi bien celles d'AMD que celles d'Intel, montrent
des performances de red<65> marrage tr<74> s acceptables, m<> me si vous avez un
jeu de r<> gles assez complexe.</para>
2006-01-07 20:20:38 +01:00
<para > Shorewall offre <20> galement une fonction de d<> marrage rapide. Pour
l'utiliser:</para>
<orderedlist >
<listitem >
<para > Avec Shorewall dans l'<ulink
url="starting_and_stopping_shorewall.htm"><3E> tat d<> marr<72> </ulink> ,
ex<65> cutez <command > shorewall save</command> . Cela va cr<63> er le script
<filename > /var/lib/shorewall/restore</filename> .</para>
</listitem>
<listitem >
<para > Utilisez l'option <emphasis role= "bold" > -f </emphasis> avec la
commande start (par exemple, <command > shorewall -f start</command> ).
Ceci forcera Shorewall <20> chercher le script
<filename > /var/lib/shorewall/restore</filename> et <20> l'ex<65> cuter si
il existe. Ex<45> cuter <filename > /var/lib/shorewall/restore</filename>
prend beaucoup moins de temps que d'ex<65> cuter un <command > shorewall
start</command> complet.</para>
</listitem>
<listitem >
<para > Le script <filename > /etc/init.d/shorewall</filename> ex<65> cut<75>
au d<> marrage du syst<73> me utilise l'option <emphasis
role="bold">-f</emphasis> .</para>
</listitem>
<listitem >
<para > Le script <filename > /var/lib/shorewall/restore</filename> peut
<20> tre ex<65> cut<75> <20> tout moment pour restaurer le firewall. Il peut <20> tre
invoqu<71> directement ou bien indirectement en utilisant la commande
<command > shorewall restore</command> .</para>
</listitem>
</orderedlist>
<para > Si vous modifiez votre configuration de Shorewall, vous devez
ex<65> cuter un <emphasis role= "bold" > shorewall start</emphasis> (sans
<emphasis role= "bold" > -f</emphasis> ) ou un <command > shorewall
restart</command> avant de refaire un <command > shorewall save</command> .
La commande <command > shorewall save</command> sauvegarde la
configuration qui tournait au moment o<> elle a <20> t<EFBFBD> ex<65> cut<75> e et non celle
que repr<70> sentent les fichiers de configuration que vous avez
modifi<66> s.</para>
<para > De m<> me, si vous modifiez votre configuration Shorewall et que
vous <20> tes satisfait du r<> sultat, vous devez ex<65> cuter une commande
<command > shorewall save</command> , sans quoi vous reviendriez <20>
l'ancienne configuration enregistr<74> e dans
<filename > /var/lib/shorewall/restore</filename> lors du prochain
d<> marrage de votre syst<73> me.</para>
2006-12-03 18:21:52 +01:00
<para > Finalement, le temps pendant lequel les nouvelles connexions sont
bloqu<71> es durant le red<65> marrage de Shorewall peut <20> tre r<> duit dans de
tr<74> s grande proportions en upgradant vers Shorewall 3.2 ou une version
ult<6C> rieure. A partir de la 3.2, <command > shorewall [re]start</command>
proc<6F> de en deux <20> tapes:</para>
<orderedlist >
<listitem >
<para > La configuration courante est compil<69> e afin de produire un
programme shell con<6F> u pour votre configuration.</para>
</listitem>
<listitem >
<para > Si la compilation se d<> roule sans erreur, le programme compil<69>
est ex<65> cut<75> pour [re]d<> marrer votre firewall.</para>
</listitem>
</orderedlist>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq43" >
<title > (FAQ 43) Je viens d'installer le RPM Shorewall et Shorewall ne
d<> marre pas au lancement du syst<73> me (boot).</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Quand vous installez
avec la commande "rpm -U", Shorewall n'ex<65> cute pas les outils de votre
distribution qui configurent le d<> marrage de Shorewall. Vous devrez
ex<65> cuter cet outils vous-m<> me (insserv, chkconfig, run-level editor,
… ) pour que Shorewall d<> marre aux niveaux d'ex<65> cutions
(run-level) auxquels vous voulez l'utiliser.</para>
</section>
<section id= "faq45" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 45) Pourquoi est-ce que "shorewall[-lite] start" <20> choue
lorsque je tente de mettre en place SNAT/Masquerade?</title>
2006-01-07 20:20:38 +01:00
<para > <command > shorewall start</command> produit la sortie
suivante:</para>
<programlisting > …
Processing /etc/shorewall/policy...
Policy ACCEPT for fw to net using chain fw2net
Policy ACCEPT for loc0 to net using chain loc02net
Policy ACCEPT for loc1 to net using chain loc12net
Policy ACCEPT for wlan to net using chain wlan2net
Masqueraded Networks and Hosts:
iptables: Invalid argument
ERROR: Command "/sbin/iptables -t nat -A … " Failed</programlisting>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Dans 99.999% des cas,
cette erreur provient d'un probl<62> me de comptabilit<69> des versions
d'iptables et du noyau.</para>
<orderedlist numeration= "loweralpha" >
<listitem >
<para > Votre iptables doit <20> tre compil<69> en utilisant un arbre de
sources du noyau qui soit compatible au niveau Netfilter avec le
noyau que vous ex<65> cutez sur votre syst<73> me.</para>
</listitem>
<listitem >
<para > Si vous recompilez iptables avec les param<61> tres par d<> faut
puis que vous l'installez, il sera install<6C> dans
<filename > /usr/local/sbin/iptables</filename> . Comme on peut le voir
ci-dessus, votre variable IPTABLES est configur<75> e <20>
<filename > /sbin/iptables</filename> dans votre fichier
<filename > shorewall.conf</filename> .</para>
</listitem>
</orderedlist>
</section>
2006-12-03 18:21:52 +01:00
<section id= "faq59" >
<title > (FAQ 59) Apr<70> s le d<> marrage de Shorewall, de nombreux modules
netfilter inutilis<69> s sont charg<72> s. Comment <20> viter cela ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Copiez
<filename > /usr/share/shorewall/modules</filename> (ou
<filename > /usr/share/shorewall/xmodules</filename> suivant le cas) vers
<filename > /etc/shorewall/modules</filename> et modifiez cette copie pour
qu'elle ne contienne que les modules dont vous avez besoin.</para>
</section>
<section id= "faq61" >
<title > (FAQ 61) Je viens juste d'installer le nouveau kernel Debian, et
maintenant "shorewall start" <20> choue avec le message "ipt_policy:
matchsize 116 != 308". Qu'est-ce qui ne va pas?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Votre version d'iptables
est incompatible avec votre kernel.</para>
<itemizedlist >
<listitem >
<para > recompilez iptables en utilisant les headers de votre nouveau
kernel; ou bien</para>
</listitem>
<listitem >
<para > si vous n'avez pas besoin du support de "policy match" (vous
n'utilisez pas l'impl<70> mentation IPSEC du kernel 2.6) vous pouvez
renommer <filename > /lib/iptables/libipt_policy.so</filename> .</para>
</listitem>
</itemizedlist>
</section>
</section>
<section >
<title > Multiples FAIs</title>
<section id= "faq57" >
<title > (FAQ 57) J'ai configur<75> deux FAIs dans Shorewall mais quand
j'essaye d'utiliser le second, cela ne fonctionne pas.</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : La documentation
Multi-ISP vous recommande tr<74> s fortement d'utiliser l'option
d'<27> quilibrage<emphasis role= "bold" > (balance)</emphasis> pour tous les
FAIs m<> me si vous voulez sp<73> cifier manuellement quel FAI utiliser. Si
vous ne le faites pas et que votre table principale de routage n'a
qu'une seule route par d<> faut, vous devez d<> sactiver le filtrage de
route. Ne sp<73> cifiez pas l'option <emphasis
role="bold">routefilter</emphasis> sur l'autre interface dans
<filename > /etc/shorewall/interfaces</filename> et d<> sactivez toute
protections contre <emphasis > le spoofing d'adresses IP</emphasis> que
votre distribution pourrait offrir.</para>
</section>
<section id= "faq58" >
<title > (FAQ 58) Mais si je sp<73> cifie 'balance' est-ce que shorewall ne va
pas <20> quilibrer le trafic entre les interfaces ? Je ne veux pas qu'il le
fasse !</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Supposez que vous
vouliez que tout le trafic passe par le FAI1 (mark 1) jusqu'<27> ce que
vous sp<73> cifiez diff<66> remment. Dans ce cas, ajoutez simplement ces deux
r<> gles comme premi<6D> res r<> gles de marquage dans votre fichier
<filename > /etc/shorewall/tcrules</filename> :</para>
<programlisting > #MARK SOURCE DEST
1:P 0.0.0.0/0
1:P $FW
< other MARK rules> </programlisting>
<para > Maintenant, tout le trafic qui n'est pas marqu<71> par une de vos
autres r<> gles de marquage aura mark=1 et sera envoy<6F> par le FAI1. Ceci
fonctionnera que l'option <emphasis role= "bold" > balance</emphasis> soit
sp<73> cifi<66> e ou pas.</para>
</section>
2006-01-07 20:20:38 +01:00
</section>
<section >
<title > Au sujet de Shorewall</title>
<section id= "faq10" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 10) Sur quelles distributions Shorewall tourne-t-il?</title>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Shorewall fonctionnera
sur n'importe quelle distribution GNU/Linux distribution r<> unissant les
<ulink url= "shorewall_prerequisites.htm" > pr<EFBFBD> -requis Shorewall</ulink>
indiqu<71> s dans ce document.</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq11" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 11) Quelles sont les caract<63> ristiques de Shorewall ?</title>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : voir la <ulink
2006-01-07 20:20:38 +01:00
url="shorewall_features.htm">liste des caract<63> ristiques de
Shorewall</ulink> .</para>
</section>
<section id= "faq12" >
<title > (FAQ 12) Existe-t-il une interface graphique?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Oui. Webmin offre le
2006-12-03 18:21:52 +01:00
support de Shorewall 3.x <20> partir dans sa version 1.300. Voir <ulink
2006-01-07 20:20:38 +01:00
url="http://www.webmin.com">http://www.webmin.com</ulink> </para>
</section>
<section id= "faq13" >
<title > (FAQ 13) Pourquoi l'avez-vous appel<65>
<quote > Shorewall</quote> ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Shorewall est le
r<> sultat de la concat<61> nation de <quote >
<emphasis > Shore</emphasis> line</quote> (<ulink
url="http://www.cityofshoreline.com">la ville o<> je vis</ulink> ) et de
<quote > Fire<emphasis > wall</emphasis> </quote> . En fait le nom complet du
produit est <quote > Shoreline Firewall</quote> mais on utilise plus
commun<75> ment <quote > Shorewall</quote> .</para>
</section>
<section id= "faq23" >
<title > (FAQ 23) Pourquoi utilisez-vous des polices de caract<63> res aussi
affreuses sur votre site web?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Le site web de Shorewall
est presque enti<74> rement neutre en ce qui concerne les polices (<28>
l'exception de quelques pages il ne sp<73> cifie explicitement aucune
police). Les polices que vous voyez sont largement celles configur<75> es
par d<> faut dans votre navigateur. Si vous ne les aimez pas reconfigurez
votre navigateur.</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq25" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 25) Comment savoir quelle version de Shorewall ou de
Shorewall Lite j'utilise?</title>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : A l'invite du syst<73> me,
tapez:</para>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<programlisting > <command > /sbin/shorewall[-lite] version</command> </programlisting>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq31" >
<title > (FAQ 31) Est-ce que Shorewall fournit une protection
contre....</title>
<variablelist >
<varlistentry >
<term > IP Spoofing: envoyer des paquets par l'interface WAN en se
servant d'adresses IP du r<> seau local comme adresse source?</term>
<listitem >
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Oui.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
<varlistentry >
<term > Tear Drop: Envoyer des paquets contenant des fragments qui se
recouvrent ?</term>
<listitem >
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ceci est de la
responsabilit<69> de la pile IP, ce n'est pas celle d'un firewall
bas<61> sur Netfilter car le r<> -assemblage des fragments est fait
avant que le filtre de paquets ne voie chaque paquet.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
<varlistentry >
<term > Smurf and Fraggle: Envoyer des paquets qui utilisent comme
adresse source l'adresse de diffusion (broadcast) du WAN ou du
LAN?</term>
<listitem >
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : On peut configurer
Shorewall pour le faire avec sa fonction de <ulink
url="blacklisting_support.htm">liste noire (blacklist)</ulink> . A
partir de la version 2.0.0, Shorewall filtre ces paquets avec
l'option d'interface <firstterm > nosmurfs</firstterm> dans le
fichier <ulink
2006-01-07 20:20:38 +01:00
url="Documentation.htm#Interfaces">/etc/shorewall/interfaces</ulink> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > Land Attack: Envoyer des paquets utilisant la m<> me adresse
comme source et comme destination?</term>
<listitem >
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Oui lorsque
l'<ulink url= "Documentation.htm#Interfaces" > option d'interface
2006-01-07 20:20:38 +01:00
routefilter</ulink> est s<> lectionn<6E> e.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > DOS: D<> ni de Service SYN Dos - ICMP Dos - protection DOS par
h<> te</term>
<listitem >
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Shorewall offre la
possibilit<69> de limiter les paquets SYN les paquets ICMP. Netfilter
tel qu'il est inclus dans les noyaux Linux standard ne supporte
pas la mise en oeuvre de limitations par h<> te distant sauf en
utilisant une r<> gle explicite qui sp<73> cifie l'adresse IP de l'h<> te.
Cette forme de limitation est support<72> e par Shorewall.</para>
2006-01-07 20:20:38 +01:00
</listitem>
</varlistentry>
</variablelist>
</section>
<section id= "faq36" >
<title > (FAQ 36) Est-ce que Shorewall tourne sur le noyau Linux
2.6?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Shorewall fonctionne
avec les noyaux 2.6 avec les deux restrictions suivantes:</para>
2006-01-07 20:20:38 +01:00
<itemizedlist >
<listitem >
2006-12-03 18:21:52 +01:00
<para > Dans les noyaux 2.6 jusqu'au 2.6.16, Netfilter/iptables
n'offre pas un support complet d'IPSEC -- il existe des patch pour
le noyau et pour iptables. Vous trouverez des d<> tails <20> la page
<ulink url= "IPSEC-2.6.html" > Shorewall IPSEC-2.6</ulink> .</para>
2006-01-07 20:20:38 +01:00
</listitem>
<listitem >
<para > Les noyaux 2.6 n'offrent pas le support des options logunclean
et dropunclean du fichier
<filename > /etc/shorewall/interfaces</filename> . Le support de ces
options a <20> galement <20> t<EFBFBD> retir<69> de Shorewall dans la version
2.0.0.</para>
</listitem>
</itemizedlist>
</section>
</section>
<section >
<title > RFC 1918</title>
<section id= "faq14" >
<title > (FAQ 14) Je suis connect<63> avec un modem c<> ble qui a son propre
serveur web interne utilis<69> pour le param<61> trage et la supervision. Mais
bien entendu, si j'active le blocage des adresse de la RFC 1918 sur mon
interface internet eth0, le serveur web du modem est bloqu<71> lui
aussi.</title>
<para > Est-il possible de rajouter une r<> gle avant la r<> gle de blocage
rfc1918 de fa<66> on <20> autoriser tout le trafic en provenance et <20>
destination de 192.168.100.1, adresse de mon modem, tout en continuant <20>
filtrer les autres adresses rfc1918?</para>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Ajoutez ce qui suit dans
le fichier <ulink
2006-01-07 20:20:38 +01:00
url="Documentation.htm#rfc1918">/etc/shorewall/rfc1918</ulink>
(Remarque: Si vous utilisez 2.0.0 ou une version ult<6C> rieure, il est
possible que ayez <20> pr<70> alablement <20> copier le fichier
<filename > /usr/share/shorewall/rfc1918</filename> vers
<filename > /etc/shorewall/rfc1918</filename> ):</para>
<para > Assurez-vous d'ajouter l'entr<74> e AU-DESSUS de l'entr<74> e pour
192.168.0.0/16.</para>
<programlisting > #SUBNET TARGET
192.168.100.1 RETURN</programlisting>
<note >
<para > Si vous ajoutez une seconde adresse IP <20> l'interface externe de
votre firewall qui corresponde <20> l'adresse du modem, vous devez
ajouter une entr<74> e pour cette adresse dans le fichier
<filename > /etc/shorewall/rfc1918</filename> . Par exemple, si vous
configurez l'adresse 192.168.100.2 sur votre firewall, vous devrez
ajouter les deux entr<74> es suivantes dans le fichier
<filename > /etc/shorewall/rfc1918</filename> :</para>
<programlisting > #SUBNET TARGET
192.168.100.1 RETURN
192.168.100.2 RETURN</programlisting>
</note>
<section id= "faq14a" >
<title > (FAQ 14a) Bien qu'il assigne des adresses IP publiques, le
serveur DHCP de mon FAI a une adresse de la RFC 1918. Si j'active le
filtrage RFC 1918 sur mon interface externe, mon client DHCP ne peut
plus renouveler son bail.</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : La solution est la
m<> me que dans la <link linkend= "faq14" > FAQ 14</link> pr<70> sent<6E> e
au-dessus. Substituez-y simplement l'adresse du serveur DHCP de votre
FAI.</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq14b" >
<title > (FAQ 14b) Je me connecte <20> internet par PPPoE. Quand j'essaye
de me connecter au serveur web incorpor<6F> <20> mon modem DSL, la connexion
est refus<75> e.</title>
<para > Dans mon journal je peux voir ce qui suit:</para>
<programlisting > Mar 1 18:20:07 Mail kernel: Shorewall:OUTPUT:REJECT:IN= OUT=eth0 SRC=192.168.1.2 DST=192.168.1.1 LEN=60
TOS=0x00 PREC=0x00 TTL=64 ID=26774 DF PROTO=TCP SPT=32797 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 </programlisting>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Le fait que le message
soit journalis<69> par la cha<68> ne OUTPUT signifie que l'adresse de
destination n'appartient <20> aucune des zones d<> finies (voir la <link
linkend="faq17">FAQ 17</link> ). Vous devez:</para>
<orderedlist >
<listitem >
<para > Ajouter une zone pour votre modem dans le fichier
<filename > /etc/shorewall/zones</filename> :</para>
<programlisting > #ZONE TYPE OPTIONS
modem ipv4</programlisting>
</listitem>
<listitem >
<para > Dans le fichier
<filename > /etc/shorewall/interfaces</filename> , associer cette
zone avec l'interface <20> laquelle votre modem est connect<63> (eth0
dans l'exemple):</para>
<programlisting > #ZONE INTERFACE BROADCAST OPTIONS
modem eth0 detect</programlisting>
</listitem>
<listitem >
<para > Autoriser le trafic web vers le modem dans le fichier
<filename > /etc/shorewall/rules</filename> :</para>
<programlisting > #ACTION SOURCE DEST PROTO DEST PORT(S)
ACCEPT fw modem tcp 80
ACCEPT loc modem tcp 80</programlisting>
</listitem>
</orderedlist>
<para > Notez qu'un grand nombre de ces modems cable/DSL n'a pas de
passerelle par d<> faut ou alors que leur passerelle par d<> faut est
fix<69> e <20> une adresse IP diff<66> rente de l'adresse que vous avez attribu<62> e
<20> votre interface externe. Dans un cas comme dans l'autre, vous pouvez
avoir des difficult<6C> s <20> naviguer sur votre modem depuis votre r<> seau
local, m<> me si toutes les routes sont correctement <20> tablies sur votre
firewall. Pour r<> soudre ce probl<62> me, on <quote > masquerade</quote> le
trafic depuis r<> seau local vers le modem.</para>
<para > <filename > /etc/shorewall/masq</filename> :</para>
<programlisting > #INTERFACE SUBNET ADDRESS
eth0 eth1 # eth1 = interface to local network</programlisting>
<para > A titre d'exemple lorsque le modem cable/ADSL est
<quote > pont<EFBFBD> </quote> (bridge), vous pouvez aller voir <ulink
2006-12-03 18:21:52 +01:00
url="XenMyWay.html">ma configuration</ulink> . Dans ce cas, je
2006-01-07 20:20:38 +01:00
<quote > masquerade</quote> en utilisant l'adresse IP de mon interface
locale!</para>
</section>
</section>
</section>
<section >
<title > Adresses Alias IP/Interfaces virtuelles</title>
<section id= "faq18" >
<title > (FAQ 18) Existe-t-il un moyen d'utiliser des adresses IP alias<61> es
avec Shorewall, et de maintenir des jeux de r<> gles s<> par<61> s pour ces
diff<66> rentes adresses IP?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Oui. Voyez <ulink
url="Shorewall_and_Aliased_Interfaces.html">Shorewall et les interfaces
alias<61> es</ulink> .</para>
</section>
</section>
<section >
2006-12-03 18:21:52 +01:00
<title > Shorewall Lite</title>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<section id= "faq53" >
<title > (FAQ 53) Qu'est-ce que Shorewall Lite?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Shorewall Lite est un
produit partenaire de Shorewall. Il est con<6F> u pour vous permettre de
maintenir les informations de toutes vos configurations de Shorewall sur
un seul syst<73> me dans votre r<> seau. Pour plus de d<> tails, voir <ulink
url="CompiledPrograms.html#Lite">Compiled Firewall script
documentation</ulink> .</para>
</section>
<section id= "faq54" >
<title > (FAQ 54) Si je veux installer Shorewall Lite, est-ce que je dois
aussi installer Shorewall sur le m<> me syst<73> me ?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Non. En fait, nous
recommandons que vous n'installiez pas Shorewall sur les syst<73> mes sur
lesquels vous souhaitez utiliser Shorewall Lite. Vous devez avoir
install<6C> Shorewall sur au moins un des syst<73> mes de votre r<> seau pour
pouvoir utiliser Shorewall Lite.</para>
</section>
2006-01-07 20:20:38 +01:00
2006-12-03 18:21:52 +01:00
<section id= "faq55" >
<title > (FAQ 55) Comment d<> cider quel produit utiliser - Shorewall ou
Shorewall Lite?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Si vous pr<70> voyez d'avoir
un seul firewall, Shorewall est le choix logique. Je pense aussi que
Shorewall est le choix le plus appropri<72> pour un portable car vous
pouvez avoir <20> changer sa configuration lorsque vous <20> tes en
d<> placement. Dans tous les autres cas, Shorewall Lite fonctionnera tr<74> s
bien. A shorewall.net, les deux portables ainsi que mon ordinateur de
bureau linux sont install<6C> s avec la version compl<70> te de Shorewall. Tous
les autres syst<73> mes Linux qui ont un firewall utilisent Shorewall Lite
et leurs r<> pertoires de configuration sont sur mon ordinateur de
bureau.</para>
2006-01-07 20:20:38 +01:00
</section>
2006-12-03 18:21:52 +01:00
<section id= "faq60" >
<title > (FAQ 60) Quelles restrictions de compatibilit<69> existent entre
Shorewall et Shorewall Lite</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : Voir le tableau
ci-dessous (C = Compl<70> tement compatible avec toutes les fonctionnalit<69> s
disponibles, P1 = Compatible mais la totalit<69> des fonctions de Shorewall
ne sont pas disponibles, P2 = Compatible mais la totalit<69> des fonctions
de Shorewall Lite ne sont pas disponibles, I = incompatible).</para>
<informaltable align= "center" >
<tgroup cols= "5" >
<colspec align= "center" />
<thead >
<row >
<entry align= "center" > </entry>
<entry align= "center" > Shorewall Lite 3.2.0</entry>
<entry align= "center" morerows= "" > Shorewall Lite 3.2.1</entry>
<entry align= "center" > Shorewall Lite 3.2.2</entry>
<entry align= "center" > Shorewall Lite 3.2.3</entry>
</row>
</thead>
<tbody >
<row >
<entry > <emphasis role= "bold" > Shorewall 3.2.0</emphasis> </entry>
<entry align= "center" > C</entry>
<entry align= "center" > C</entry>
<entry align= "center" > P2</entry>
<entry align= "center" > P2</entry>
</row>
<row >
<entry > <emphasis role= "bold" > Shorewall 3.2.1</emphasis> </entry>
<entry align= "center" > C</entry>
<entry align= "center" > C</entry>
<entry align= "center" > C</entry>
<entry align= "center" > P2</entry>
</row>
<row >
<entry > <emphasis role= "bold" > Shorewall 3.2.2</emphasis> </entry>
<entry align= "center" > P1</entry>
<entry align= "center" > P1</entry>
<entry align= "center" > C</entry>
<entry align= "center" > C</entry>
</row>
<row >
<entry > <emphasis role= "bold" > Shorewall 3.2.3</emphasis> </entry>
<entry align= "center" > P1</entry>
<entry align= "center" > P1</entry>
<entry align= "center" > C</entry>
<entry align= "center" > C</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
<section >
<title > Divers</title>
2006-01-07 20:20:38 +01:00
<section id= "faq20" >
<title > (FAQ 20) Je viens d'installer un serveur. Dois-je modifier
Shorewall pour autoriser les acc<63> s internet <20> mon serveur?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Oui. Consultez le
<ulink url= "shorewall_quickstart_guide.htm" > guides de d<> marrage
rapide</ulink> que vous avez utilis<69> pour votre configuration initiale
afin d'avoir des informations n<> cessaires <20> l'<27> criture des r<> gles pour
votre serveur.</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq24" >
<title > (FAQ 24) Comment puis-je autoriser des connexions internet au
port ssh, par exemple, mais seulement depuis certaines adresses IP
sp<73> cifiques?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Dans la colonne SOURCE
de la r<> gle, faites suivre <quote > net</quote> de <quote > :</quote> puis
d'une liste s<> par<61> e par des virgules d'adresses de machines ou de
sous-r<> seaux</para>
2006-01-07 20:20:38 +01:00
<programlisting > net:< ip1> ,< ip2> ,...</programlisting>
<example >
<title > Exemple:</title>
<programlisting > ACCEPT net:192.0.2.16/28,192.0.2.44 fw tcp 22</programlisting>
</example>
</section>
<section id= "faq26" >
<title > (FAQ 26) Quand j'essaye d'utiliser nmap avec n'importe laquelle
des options SYN depuis le firewall lui-m<> me ou depuis n'importe quelle
machine derri<72> re le firewall, j'obtiens une erreur <quote > operation not
permitted</quote> . Comment utiliser nmap avec Shorewall?"</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Retirez temporairement
les r<> gles rejNotSyn, dropNotSyn and dropInvalid du fichier
<filename > /etc/shorewall/rules</filename> et relancez Shorewall.</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq27" >
<title > (FAQ 27) Je compile un nouveau noyau (kernel) pour mon firewall.
A quoi devrais-je faire attention?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Commencez par regarder
la page de <ulink url= "kernel.htm" > configuration du noyau pour
Shorewall</ulink> . Vous souhaiterez sans doute vous assurer que vous
avez bien s<> lectionn<6E> <quote > <emphasis role= "bold" > NAT of local
connections (READ HELP)</emphasis> </quote> dans le menu de
configuration de Netfilter. Sans cela, les r<> gles DNAT ayant votre
firewall comme zone source ne fonctionneraient pas avec votre nouveau
noyau.</para>
2006-01-07 20:20:38 +01:00
<section id= "faq27a" >
<title > (FAQ 27a) Je viens de compiler (ou j'ai t<> l<EFBFBD> charg<72> ou r<> cup<75> r<EFBFBD>
par n'importe quel autre moyen) et d'installer un nouveau noyau et
Shorewall ne d<> marre plus. Je sais que les options de mon noyau sont
correctes.</title>
<para > Les derni<6E> res lignes de la <ulink url= "troubleshoot.htm" > trace
de d<> marrage</ulink> sont les suivantes:</para>
<programlisting > + run_iptables2 -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j
MASQUERADE
+ '[' 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j
MASQUERADE' = 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.
0/0 -j MASQUERADE' ']'
+ run_iptables -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j
MASQUERADE
+ iptables -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j
MASQUERADE
iptables: Invalid argument
+ '[' -z '' ']'
+ stop_firewall
+ set +x</programlisting>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> votre noyau contient
des ent<6E> tes incompatibles avec celles utilis<69> es pour compiler votre
programme <command > iptables</command> . Vous devez recompiler
<command > iptables</command> en utilisant l'arbre de sources de votre
nouveau noyau.</para>
</section>
</section>
<section id= "faq28" >
<title > (FAQ 28) Comment utiliser Shorewall en pont filtrant (Bridging
Firewall)?</title>
2006-12-03 18:21:52 +01:00
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Le support Shorewall
pour les ponts filtrant existe — <ulink url= "bridge_fr.html" > voir
ici pour les d<> tails</ulink> .</para>
2006-01-07 20:20:38 +01:00
</section>
<section id= "faq39" >
<title > (FAQ 39) Comment bloquer les connexion <20> un domaine
particulier?</title>
<para > J'ai essay<61> de bloquer Adsense de Google. Adsense est un
Javascript que les gens ajoutent <20> leur pages web. J'ai ajout<75> la r<> gle
suivante:</para>
<programlisting > #ACTION SOURCE DEST PROTO
REJECT fw net:pagead2.googlesyndication.com all</programlisting>
<para > Cependant, ceci bloque parfois les acc<63> s <20> "google.com". Pourquoi?
Avec dig, je trouve les adresses IP suivantes pour le domaine
googlesyndication.com:<programlisting > 216.239.37.99
216.239.39.99</programlisting> Et celles-ci pour google.com:<programlisting > 216.239.37.99
216.239.39.99
216.239.57.99</programlisting> Je suppose donc que ce n'est pas le domaine qui
est bloqu<71> mais plut<75> t ses adresses IP. Comment bloquer r<> ellement un
nom de domaine?</para>
<para > <emphasis role= "bold" > R<EFBFBD> ponse:</emphasis> Les filtres de paquets
basent leurs d<> cisions sur le contenu des diff<66> rents ent<6E> tes de
protocole qui se trouvent au d<> but de chaque paquet. Les filtres de
paquet <20> suivi d'<27> tats (dont Netfilter est un exemple) utilisent une
combinaison du contenu de l'ent<6E> te et de l'<27> tat de la connexion cr<63> <72>
lors du traitement de paquets pr<70> c<EFBFBD> dents. Netfilter (et l'usage qui en
est fait par Shorewall) prend <20> galement en compte l'interface r<> seau sur
laquelle chaque paquet est entr<74> ou sur laquelle le paquet va quitter le
routeur/firewall.</para>
<para > Lorsque vous sp<73> cifiez un <ulink
url="configuration_file_basics.htm#dnsnames">nom de domaine dans une
r<> gle Shorewall</ulink> , le programme iptables r<> sout ce nom en une ou
plusieurs adresses IP et les v<> ritables r<> gles qui seront cr<63> <72> es sont
exprim<69> es avec ces adresses IP. C'est pourquoi la r<> gle que vous avez
entr<74> e est <20> quivalente <20> :</para>
<para > <programlisting > #ACTION SOURCE DEST PROTO
REJECT fw net:216.239.37.99 all
REJECT fw net:216.239.39.99 all</programlisting> Sachant que
l'h<> bergement multiple bas<61> sur le nom d'h<> te est une pratique courante
(par exemple, lists.shorewall.net et www1.shorewall.net sont h<> berg<72> s
tous les deux sur le m<> me syst<73> me avec un seule adresse IP), il n'est
pas possible de filtrer les connexions vers un nom particulier au seul
examen des ent<6E> tes de protocole. Alors que certains protocoles tels que
<ulink url= "FTP.html" > FTP</ulink> n<> cessitent que le firewall examine et
<20> ventuellement modifie les donn<6E> es (payload) du paquet, analyser les
donn<6E> es de paquets individuellement ne fonctionne pas toujours car le
2006-12-03 18:21:52 +01:00
flux de donn<6E> es de niveau application peut <20> tre fractionn<6E> de mani<6E> re
2006-01-07 20:20:38 +01:00
arbitraire entre les paquets. Ceci est une des faiblesses de l'extension
2006-12-03 18:21:52 +01:00
'string match' de Netfilter que l'on trouve dans le Patch-O-Matic-ng. Le
2006-01-07 20:20:38 +01:00
seul moyen s<> r pour filtrer sur le contenu des paquets est d'utiliser un
proxy pour les connexions concern<72> es -- dans le cas de HTTP, on pourra
utiliser une application telle que <ulink
url="Shorewall_Squid_Usage.html">Squid</ulink> . Lorsqu'on utilise un
proxy, celui-ci r<> -assemble des messages complets de niveau applicatif
qui peuvent alors <20> tre analys<79> s de mani<6E> re pr<70> cise.</para>
</section>
<section id= "faq42" >
2006-12-03 18:21:52 +01:00
<title > (FAQ 42) Comment conna<6E> tre quelles sont les fonctions support<72> es
2006-01-07 20:20:38 +01:00
par mon noyau et ma version d'iptables?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse</emphasis> : En tant que root,
2006-12-03 18:21:52 +01:00
utilisez la commande <command > shorewall[-lite] show
2006-01-07 20:20:38 +01:00
capabilities</command> .</para>
<programlisting > gateway:~# shorewall show capabilities
Loading /usr/share/shorewall/functions...
Processing /etc/shorewall/params ...
Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Shorewall has detected the following iptables/netfilter capabilities:
NAT: Available
Packet Mangling: Available
Multi-port Match: Available
Extended Multi-port Match: Available
Connection Tracking Match: Available
Packet Type Match: Available
Policy Match: Available
Physdev Match: Available
IP range Match: Available
Recent Match: Available
Owner Match: Available
Ipset Match: Available
ROUTE Target: Available
Extended MARK Target: Available
CONNMARK Target: Available
Connmark Match: Available
Raw Table: Available
gateway:~#</programlisting>
</section>
2006-12-03 18:21:52 +01:00
<section id= "faq19" >
<title > (FAQ 19) Comment ouvrir le firewall pour tout le trafic de/vers
le LAN?</title>
<para > <emphasis role= "bold" > R<EFBFBD> ponse </emphasis> : Ajoutez ces deux
politiques:</para>
<programlisting > #SOURCE DESTINATION POLICY LOG LIMIT:BURST
# LEVEL
$FW loc ACCEPT
loc $FW ACCEPT </programlisting>
<para > Vous pouvez <20> galement supprimer toutes les r<> gles ACCEPT de
$FW-> loc et loc-> $FW car ces r<> gles sont maintenant redondantes
avec les deux politiques fix<69> es ci-dessus.</para>
</section>
2006-01-07 20:20:38 +01:00
</section>
2023-01-19 23:17:25 +01:00
</article>