[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ suivant ]


Manuel de sécurisation de Debian
Annexe D - Configuration d'un pare-feu pont


Ces informations sont fournies par Francois Bayart pour aider les utilisateurs à mettre en place un pare-feu/pont avec le noyau 2.4.x et iptables. Des correctifs de noyau ne sont plus nécessaires car le code est maintenant une partie standard de la distribution du noyau Linux.

Pour configurer le noyau avec la prise en charge nécessaire, exécutez make menuconfig ou make xconfig. Dans la section Networking options, activez les options suivantes :

     [*] Network packet filtering (replaces ipchains)
     [ ]   Network packet filtering debugging (NEW)
     <*> 802.1d Ethernet Bridging
     [*]   netfilter (firewalling) support (NEW)

Avertissement : vous devez désactiver ceci si vous voulez appliquer des règles de pare-feu ou sinon iptables ne fonctionnera pas :

     [ ]   Network packet filtering debugging (NEW)

Ensuite, ajoutez les options correctes dans la section IP: Netfilter Configuration. Puis, compilez et installez le noyau. Si vous désirez le faire à la sauce Debian, installez kernel-package et exécutez make-kpkg pour créer un paquet noyau personnalisé Debian que vous pouvez installer sur votre serveur en utilisant dpkg. Une fois que le nouveau noyau est compilé et installé, installez le paquet bridge-utils.

Une fois que ces étapes sont complétées, vous pouvez terminer la configuration de votre pont. La section suivante présente deux configurations différentes possibles pour le pont, chacune avec une carte réseau hypothétique ainsi que les commandes nécessaires.


D.1 Un pont fournissant des fonctionnalités de translations d'adresse (NAT) et de pare-feu

La première configuration utilise le pont comme un pare-feu avec de la translation d'adresse réseau (NAT) qui protège un serveur et des clients du réseau interne. Voici ci-dessous un diagramme de la configuration réseau :

     Internet -- routeur ( 62.3.3.25 ) -- pont (62.3.3.26 gw 62.3.3.25 / 192.168.0.1)
                                           |
                                           |
                                           |-- serveur WWW (62.3.3.27 gw 62.3.3.25)
                                           |
                                           |
                                          réseau -- Zipowz (192.168.0.2 gw 192.168.0.1)

Les commandes suivantes présentent comment ce pont peut être configuré.

     # Crée l'interface br0
     /usr/sbin/brctl addbr br0
     
     # Ajoute l'interface Ethernet à utiliser avec le pont
     /usr/sbin/brctl addif br0 eth0
     /usr/sbin/brctl addif br0 eth1
     
     # Active l'interface Ethernet
     /sbin/ifconfig eth0 0.0.0.0
     /sbin/ifconfig eth1 0.0.0.0
     
     # Configure le pont ethernet
     # Le pont sera correct et invisible (pare-feu transparent).
     # Il est invisible au traceroute et vous conservez la passerelle
     # réelle sur les autres machines. Maintenant, si vous le désirez,
     # vous pouvez configurer une passerelle sur votre pont et la
     # choisir comme votre nouvelle passerelle pour les autres machines.
     
     /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.32
     
     # J'ai ajouté cette IP interne pour créer ma translation d'adresse
     ip addr add 192.168.0.1/24 dev br0
     /sbin/route add default gw 62.3.3.25

D.2 Un pont fournissant des fonctionnalités de pare-feu

Une seconde possibilité est un système qui est mis en place comme un pare-feu transparent pour un réseau avec un espace d'adresse IP public.

     Internet -- routeur (62.3.3.25) -- pont (62.3.3.26)
                                         |
                                         |
                                         |-- serveur WWW (62.3.3.28 gw 62.3.3.25)
                                         |
                                         |
                                         |-- serveur de courriel (62.3.3.27 gw 62.3.3.25)

Les commandes suivantes montrent comment ce pont peut être configuré.

     # Crée l'interface br0
     /usr/sbin/brctl addbr br0
     
     # Ajouter l'interface Ethernet à utiliser avec le pont
     /usr/sbin/brctl addif br0 eth0
     /usr/sbin/brctl addif br0 eth1
     
     # Active l'interface Ethernet
     /sbin/ifconfig eth0 0.0.0.0
     /sbin/ifconfig eth1 0.0.0.0
     
     # Configure le pont Ethernet
     # Le pont sera correct et invisible (pare-feu transparent).
     # Il est invisible au traceroute et vous conservez la passerelle
     # réelle sur les autres machines. Maintenant, si vous le désirez,
     # vous pouvez configurer une passerelle sur votre pont et la
     # choisir comme votre nouvelle passerelle pour les autres machines.
     
     /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.32

Si vous lancez un traceroute vers le serveur de courriel Linux, vous ne verrez pas le pont. Si vous voulez accéder au pont avec ssh, vous devez avoir une passerelle ou vous devez tout d'abord vous connecter sur un autre serveur comme le « serveur de courriel », puis ensuite vous connecter sur le pont oar la carte réseau interne.


D.3 Règles de base d'IPtables

Voici un exemple des règles de base qui pourraient être utilisées pour l'une ou l'autre des configuration.

     iptables -F FORWARD
     iptables -P FORWARD DROP
     iptables -A FORWARD -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -m state --state INVALID -j DROP
     iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
     
     # Quelques règles amusantes, mais pas pour un iptables classique,
     # désolé...
     # Limite ICMP 
     # iptables -A FORWARD -p icmp -m limit --limit 4/s -j ACCEPT
     # Correspond à une chaîne de caractères, une bonne méthode simple pour
     # bloquer certaines VIRUS très rapidement
     # iptables -I FORWARD -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe"
     
     # Bloque toutes les connexions MySQL simplement pour être sûr
     iptables -A FORWARD -p tcp -s 0/0 -d 62.3.3.0/24 --dport 3306 -j DROP
     
     # Règles du serveur de courriel Linux
     
     # Autorise FTP-DATA (20) , FTP (21) , SSH (22) 
     iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.27/32 --dport 20:22 -j ACCEPT
     
     # Autorise le serveur de courriel à e connecter à l'extérieur
     # Note : Ceci n'est *pas* nécessaire pour les connexions précédentes
     # (rappelez-vous : filtrage à état) et peut être supprimé.
     iptables -A FORWARD -p tcp -s 62.3.3.27/32 -d 0/0 -j ACCEPT
     
     # Règles pour le serveur WWW
     
     # Autorise les connexions HTTP ( 80 ) avec le serveur WWW
     iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 80 -j ACCEPT
     
     # Autorise les connexions HTTPS ( 443 ) avec le serveur WWW
     iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 443 -j ACCEPT
     
     # Autorise les connexions sortantes du serveur WWW
     # Note : Ceci n'est *pas* nécessaire pour les connexions précédentes
     # (rappelez-vous : filtrage à état) et peut être supprimé.
     iptables -A FORWARD -p tcp -s 62.3.3.28/32 -d 0/0 -j ACCEPT

[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ suivant ]


Manuel de sécurisation de Debian

Version: 3.4, Sun, 06 Nov 2005 22:34:04 +0100

Javier Fernández-Sanguino Peña jfs@debian.org
Auteurs, Section 1.1

version française par Frédéric Bothamy (traducteur actuel)
Pierre Machard et Arnaud Assad (anciens traducteurs)
et les membres de la liste debian-l10n-french@lists.debian.org