logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:iptables-pare-feu-pour-une-passerelle [14/10/2014 17:11]
Hypathie [Un pare-feu avancé pour le routeur-debian]
doc:reseau:iptables-pare-feu-pour-une-passerelle [15/10/2014 05:19]
Hypathie [La table NAT]
Ligne 10: Ligne 10:
   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=99819#​p99819 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))    * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=99819#​p99819 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
-**Nota : Au programme, description avancée de la table NAT (iptables), et des protocoles ​imcp et tcp (ssh, FTP ... logés) ; pour la mise en place d'un pare-feu iptables sur un système debian faisant office de routeur, muni de deux cartes ethernet. **+**Nota : Au programme, description avancée de la table NAT (iptables), et des protocoles ​ICMP et TCP (ssh, FTP ... logés) ; pour la mise en place d'un pare-feu iptables sur un système debian faisant office de routeur, muni de deux cartes ethernet. **
  
 Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
Ligne 148: Ligne 148:
 rtt min/​avg/​max/​mdev = 0.338/​0.409/​0.546/​0.098 ms</​code>​ rtt min/​avg/​max/​mdev = 0.338/​0.409/​0.546/​0.098 ms</​code>​
  
 +=)
  
-  *Par contre le ping de l'​ordinateur A (192.168.0.0/​22) vers l'​ordinateur B (192.168.1.0/​22)+  * Par contre le ping de l'​ordinateur A (192.168.0.0/​22) vers l'​ordinateur B (192.168.1.0/​22)
 <code user>​ping 192.168.1.2</​code>​ <code user>​ping 192.168.1.2</​code>​
 <​code>​PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. <​code>​PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
Ligne 155: Ligne 156:
 --- 192.168.1.2 ping statistics --- --- 192.168.1.2 ping statistics ---
 3 packets transmitted,​ 0 received, 100% packet loss, time 1999ms</​code>​ 3 packets transmitted,​ 0 received, 100% packet loss, time 1999ms</​code>​
 +
 +:-|
  
 Et oui, l'​ordinateur A n'est pas derrière la passerelle, et même si sa table de routage est correctement configurée,​ elle ne peut lui indiquer la route vers le sous réseau 192.168.1.0/​24 dont les adresses IP sont, pour tout réseau extérieur au réseau B, y compris le réseau A, identiques à l'IP de la passerelle.\\ ​ Et oui, l'​ordinateur A n'est pas derrière la passerelle, et même si sa table de routage est correctement configurée,​ elle ne peut lui indiquer la route vers le sous réseau 192.168.1.0/​24 dont les adresses IP sont, pour tout réseau extérieur au réseau B, y compris le réseau A, identiques à l'IP de la passerelle.\\ ​
Ligne 192: Ligne 195:
 Pour se l'​éviter,​ il faut un script init.d (update-rc.d)\\ ​ Pour se l'​éviter,​ il faut un script init.d (update-rc.d)\\ ​
 Ne le faites pas sur la passerelle, à la limite sur l'​ordinateur A.\\  Ne le faites pas sur la passerelle, à la limite sur l'​ordinateur A.\\ 
-Sur la passerelle, le suivi de connexion pour le protocole ​imcp devrait être suffisant.\\ ​+Sur la passerelle, le suivi de connexion pour le protocole ​ICMP devrait être suffisant.\\ ​
 Et pour l'​ordinateur A, grâce à la passerelle et à la maîtrise du DNAT/SNAT, on pourrait faire en sorte que l'​ordinateur reçoive un ping de la passerelle quand elle reçoit un ping à destination du réseau B. Et pour l'​ordinateur A, grâce à la passerelle et à la maîtrise du DNAT/SNAT, on pourrait faire en sorte que l'​ordinateur reçoive un ping de la passerelle quand elle reçoit un ping à destination du réseau B.
 </​note>​ </​note>​
Ligne 320: Ligne 323:
 iptables -P OUTPUT ACCEPT iptables -P OUTPUT ACCEPT
 </​code>​ </​code>​
-INPUT et OUTPUT, pour ne pas avoir à répéter ce rappel, plus bas, quand nous mettrons en place les règles ​de ces chaînes INPUT et OUTPUT de la table FILTER.+INPUT et OUTPUT, pour ne pas avoir à répéter ce rappel, plus bas, quand nous mettrons en place les règles ​des chaînes INPUT et OUTPUT de la table FILTER.
  
 **__Et pour redonner accès à internet à l'​ordinateur B.__** **__Et pour redonner accès à internet à l'​ordinateur B.__**
Ligne 559: Ligne 562:
   * Le type ICMP 6 : Alternate Host Address ​   * Le type ICMP 6 : Alternate Host Address ​
 Pour modifier l'​adresse hôte. Pour modifier l'​adresse hôte.
-  * Type IMCP 7 : ceux non-assignés+  * Type ICMP 7 : ceux non-assignés
   * Type ICMP 9 "​Router Advertisement"​ : voir RFC 1256   * Type ICMP 9 "​Router Advertisement"​ : voir RFC 1256
-  * Type IMCP 10 "​Routeur ICMP sollicitation"​ : voir aussi RFC 1256 +  * Type ICMP 10 "​Routeur ICMP sollicitation"​ : voir aussi RFC 1256 
-  * Type IMCP 11 "ICMP Time Exceeded"​ : pour le temps dépassé+  * Type ICMP 11 "ICMP Time Exceeded"​ : pour le temps dépassé
 <​note>​ <​note>​
 **codes**\\ ​ **codes**\\ ​
Ligne 600: Ligne 603:
 Il y a beaucoup plus de types ICMP que cela mais on peut dire que tout ce qui n'est pas expressément autorisé ci-dessus doit être bloqué. Il y a beaucoup plus de types ICMP que cela mais on peut dire que tout ce qui n'est pas expressément autorisé ci-dessus doit être bloqué.
  
-  * Nous allons donc accepter tout ceux-ci et bloquer les autres dans la chaîne FORWARD ((nous ferons de même concernant ​imcp pour les chaînes INPUT et OUTPUT plus bas quand toutes les chaînes de FILTER seront à DROP.)):+  * Nous allons donc accepter tout ceux-ci et bloquer les autres dans la chaîne FORWARD ((nous ferons de même concernant ​ICMP pour les chaînes INPUT et OUTPUT plus bas quand toutes les chaînes de FILTER seront à DROP.)):
 (Nous laissons passer aussi **provisoirement** une ouverture béante pour les chaînes INPUT et OUTP (FILTER) afin de tester tout cela. (Nous laissons passer aussi **provisoirement** une ouverture béante pour les chaînes INPUT et OUTP (FILTER) afin de tester tout cela.
  
Ligne 636: Ligne 639:
 iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp\ iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp\
  ​--icmp-type echo-request -j ACCEPT  ​--icmp-type echo-request -j ACCEPT
-#pour le retour nous utilisons la dernière règle+ 
 +Pour le retour nous utilisons la dernière règle
 iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp\ iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp\
  ​--icmp-type echo-reply -j DROP  ​--icmp-type echo-reply -j DROP
 +
 #On remets "​masquerade"​ car on a flushé: #On remets "​masquerade"​ car on a flushé:
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ligne 644: Ligne 649:
 ====DROP sur INPUT et OUTPUT (chaîne filter) ==== ====DROP sur INPUT et OUTPUT (chaîne filter) ====
 Cette fois, il va falloir interdire (DROP) les chaînes INPUT et OUTPUT de la table FILTER pour tous les protocoles dont on a besoin.\\ ​ Cette fois, il va falloir interdire (DROP) les chaînes INPUT et OUTPUT de la table FILTER pour tous les protocoles dont on a besoin.\\ ​
-D'​abord avec IMCP qu'on laisse maintenant entrer et sortir par INPUT et OUTPUT, comme ce qu'on n'a laissé passer par FORWARD.\\ Attention l'​ordre des règles comptes ici.+D'​abord avec ICMP qu'on laisse maintenant entrer et sortir par INPUT et OUTPUT, comme pour ce qu'on n'a laissé passer par FORWARD.\\ Attention l'​ordre des règles comptes ici.
  
 On conserve ce qu'on a fait précédemment et on ajoute aux commandes du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|script pour un client du LAN]] les règles qui tiennent compte qu'il y a cette fois deux interfaces réseau. On conserve ce qu'on a fait précédemment et on ajoute aux commandes du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|script pour un client du LAN]] les règles qui tiennent compte qu'il y a cette fois deux interfaces réseau.
Ligne 723: Ligne 728:
  
  
-# Les règles ​imcp pour OUTPUT et INPUT +# Les règles ​ICMP pour OUTPUT et INPUT 
 #(en y intégrant celles de testées pour FORWARD) #(en y intégrant celles de testées pour FORWARD)
  
Ligne 762: Ligne 767:
 iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp\ iptables -A FORWARD -s 192.168.1.0/​24 -d 192.168.0.0/​24 -p icmp\
  ​--icmp-type echo-request -j ACCEPT  ​--icmp-type echo-request -j ACCEPT
-#pour le retour nous utilison ​la derniere regle+ 
 +Pour le retour nous utilisons ​la dernière règle
 iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp\ iptables -A FORWARD -s 192.168.0.0/​24 -d 192.168.1.0/​24 -p icmp\
  ​--icmp-type echo-reply -j DROP  ​--icmp-type echo-reply -j DROP
Ligne 803: Ligne 809:
 Allez, il reste encore qu'une étape 8-o\\ Allez, il reste encore qu'une étape 8-o\\
  
-Il faut revenir sur les règles INPUT et OUTPUT que nous avons récupéré ​provisoirement du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell| script pour une station du LAN]].\\ Pour la passerelle on va affiner le filtrage des règles concernant TCP et UDP.\\ Ce sera l'​occasion de mettre en place des règles pour le protocole FTP que nous n'​avons pas encore abordé.+Il faut revenir sur les règles INPUT et OUTPUT que nous avons récupérée ​provisoirement du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell| script pour une station du LAN]].\\ Pour la passerelle on va affiner le filtrage des règles concernant TCP et UDP.\\ Ce sera l'​occasion de mettre en place des règles pour le protocole FTP que nous n'​avons pas encore abordé.
  
 Nous aurons besoin pour cela d'un rappel sur le fonctionnement du protocole TCP Nous aurons besoin pour cela d'un rappel sur le fonctionnement du protocole TCP
Ligne 901: Ligne 907:
 Tenons compte de ces rappels, pour ajouter une connexion FTP et SSH loggées, et puisqu'​on y est un petit filtrage supplémentaire au niveau des Flags TCP. Tenons compte de ces rappels, pour ajouter une connexion FTP et SSH loggées, et puisqu'​on y est un petit filtrage supplémentaire au niveau des Flags TCP.
  
-<​code ​text firewall_gateway.sh>​+<​code ​bash firewall_gateway.sh>​
 #!/bin/sh #!/bin/sh
 ### BEGIN INIT INFO ### BEGIN INIT INFO
Ligne 1004: Ligne 1010:
    
    
-# Les règles ​imcp pour OUTPUT ​ INPUT et FORWARD+# Les règles ​ICMP pour OUTPUT ​ INPUT et FORWARD
    
 /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
Ligne 1110: Ligne 1116:
 </​code>​ </​code>​
  
-Et voilà, ​pour l'​installation,​ suivre la même méthode que pour [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​firewall-clientsh-comme-script-init|firewall-client comme script init]]. ​ ^_^+Et voilà, ​c'est fini !\\  
 + 
 +Pour l'​installation ​du script, suivre la même méthode que pour [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​firewall-clientsh-comme-script-init|firewall-client comme script init]]. ​ ^_^
  
 +La suite concernera le DNAT et SNAT, l'​ajout de quelques règles pour certains protocoles laissés ici de côté, en particulier,​ concernant DHCP, cups, et enfin, l'​installation sur cette passerelle d'un proxy transparent pour l'​ensemble su réseau B.
  
  
  
doc/reseau/iptables-pare-feu-pour-une-passerelle.txt · Dernière modification: 01/11/2015 18:20 par milou

Pied de page des forums

Propulsé par FluxBB