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 [16/11/2014 09:15]
Hypathie [Les règles du pare-feu pas à pas]
doc:reseau:iptables-pare-feu-pour-une-passerelle [16/11/2014 10:54]
Hypathie [Un pare-feu avancé pour le routeur-debian]
Ligne 34: Ligne 34:
 L'​ordinateur B appartient au sous sous-réseau : 192.168.1.0/​255.255.255.0 L'​ordinateur B appartient au sous sous-réseau : 192.168.1.0/​255.255.255.0
  
-  ​* Les services installés :+ * Les services installés :
  
 __Sur l'​ordinateur A (IP: 192.168.0.22)__,​ on a installé [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|ce pare-feu]].\\ __Sur l'​ordinateur A (IP: 192.168.0.22)__,​ on a installé [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|ce pare-feu]].\\
Ligne 41: Ligne 41:
  - aucune interface graphique lors de son installation : on le configure en passant par ssh depuis l'​ordinateur A\\   - aucune interface graphique lors de son installation : on le configure en passant par ssh depuis l'​ordinateur A\\ 
  - [[atelier:​chantier:​dhcp#​mise-en-place-basique-du-sercice-dhcp-sur-notre-reseau-local|un serveur DHCP basique]] qui fournit l'IP 192.168.1.2 a l'​ordinateur B\\   - [[atelier:​chantier:​dhcp#​mise-en-place-basique-du-sercice-dhcp-sur-notre-reseau-local|un serveur DHCP basique]] qui fournit l'IP 192.168.1.2 a l'​ordinateur B\\ 
- - La table NAT a été modifiée très simplement pour l'​instant afin [[atelier:​chantier:​dhcp#​installation-de-la-passerelle-debian|de le transformer en passerelle]].\\ ​+ - Un [[atelier:​chantier:​dns-bind9-sur-wheezy|serveur DNS (bind9)]]\\  
 + - le fichier **/​etc/​hosts de l'ordi B** est complété(( FQDN (Fully Qualified Domain Name)), par exemple: 
 +<​code>​ 
 +127.0.0.1 localhost 
 +127.0.1.1 debian-hpmondomaine.hyp ​ debian-hp 
 +</​code>​ 
 + - le fichier **/​etc/​resolv.conf de l'ordi B** a connaissance de l'ip du serveur DNS : 
 +<​code>​ 
 +domaine mondomaine.hyp 
 +search mondomaine.hyp 
 +nameserver 192.168.1.1 
 +</​code>​ 
 + - De même le fichier **/​etc/​hosts de la passerelle** connaît l'ordi B : Par exemple ''​192.168.1.3 ​    ​debian-hp''​ 
 + - La table NAT a été modifiée très simplement pour l'​instant afin [[atelier:​chantier:​dhcp#​installation-de-la-passerelle-debian|de le transformer en passerelle]] ​avec masquerade sur eth0 (interface web).\\ 
  - le fichier /​etc/​sysctl.conf a été modifié : la ligne ''​net.ipv4.ip_forward=0''​ est devenue ''​net.ipv4.ip_forward=1''​.  - le fichier /​etc/​sysctl.conf a été modifié : la ligne ''​net.ipv4.ip_forward=0''​ est devenue ''​net.ipv4.ip_forward=1''​.
  
Ligne 394: Ligne 407:
   * Ce qui donne :   * Ce qui donne :
  
-<​code>​iptables -L</​code>​+<​code ​root>​iptables -L FORWARD</​code>​
 <​code>​ <​code>​
-Chain INPUT (policy ACCEPT) 
-target ​    prot opt source ​              ​destination ​         
- 
 Chain FORWARD (policy DROP) Chain FORWARD (policy DROP)
 target ​    prot opt source ​              ​destination ​         target ​    prot opt source ​              ​destination ​        
Ligne 404: Ligne 414:
 ACCEPT ​    ​tcp ​ --  anywhere ​            ​192.168.1.0/​24 ​      state RELATED,​ESTABLISHED ACCEPT ​    ​tcp ​ --  anywhere ​            ​192.168.1.0/​24 ​      state RELATED,​ESTABLISHED
 ACCEPT ​    icmp --  anywhere ​            ​anywhere ​           ​ ACCEPT ​    icmp --  anywhere ​            ​anywhere ​           ​
 +</​code>​
  
-Chain OUTPUT ​(policy ​ACCEPT+  * OU de manière plus précise : 
-target ​    prot opt source ​              ​destination+<code root> 
 +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p icmp\ 
 + -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p icmp\ 
 + -m state --state ESTABLISHED,​RELATED -j ACCEPT 
 + 
 +</​code>​ 
 + 
 +  * Ce qui donnerait cette fois : 
 +<​code>​iptables -L FORWARD</​code>​ 
 +<​code>​ 
 +Chain FORWARD ​(policy ​DROP
 +target ​    prot opt source ​              ​destination ​         
 +ACCEPT ​    ​tcp ​ --  192.168.1.0/​24 ​      ​anywhere ​            state NEW,​RELATED,​ESTABLISHED 
 +ACCEPT ​    ​tcp ​ --  anywhere ​            ​192.168.1.0/​24 ​      state RELATED,​ESTABLISHED 
 +ACCEPT ​    icmp --  192.168.1.0/​24 ​      ​anywhere ​            state NEW,​RELATED,​ESTABLISHED 
 +ACCEPT ​    icmp --  anywhere ​            ​192.168.1.0/​24 ​      state RELATED,​ESTABLISHED
 </​code>​ </​code>​
  
Ligne 501: Ligne 529:
 > Là encore la navigation est possible pour un ordi du sous-réseau 192.168.1.0/​24 > Là encore la navigation est possible pour un ordi du sous-réseau 192.168.1.0/​24
 > Et le ping fonctionne vers google et l'ordi 192.168.0.22 sans besoin d'​ajouter de règle imcp car on a autorisé TOUS les protocoles > Et le ping fonctionne vers google et l'ordi 192.168.0.22 sans besoin d'​ajouter de règle imcp car on a autorisé TOUS les protocoles
 +
 +**Enfin il est inutile d'​ajouter une règle udp pour la résolution de nom si le serveur de nom est installé et correctement paramétré.**\\ ​
 +Dans le cas contraire on ajouterait :
 +<code root>
 +iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT
 +</​code>​
 +
 +Ou pour être plus précis :
 +
 +<code root>
 +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\
 + ​--dport 53 -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
 +
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p udp\
 + ​--dport 53 -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +</​code>​
 +
 </​note>​ </​note>​
  
Ligne 550: Ligne 595:
 iptables -A OUTPUT -o eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT
  
-#On garde nos règles concernant le DROP sur FORWARD (FILTER)+##On garde nos règles concernant le DROP sur FORWARD (FILTER)
 #mais on oublie pas eth1 ! #mais on oublie pas eth1 !
-/sbin/iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p\+iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p\
  tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT  tcp -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
  
-/sbin/iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\+iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p\
  tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT  tcp -m state --state ESTABLISHED,​RELATED -j ACCEPT
  
 +iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p icmp\
 + -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
 + 
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p icmp\
 + -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +
 +#décocher les deux règles ci-dessous si un serveur DNS n'est pas installé sur la passerelle ​
 +
 +#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\
 +# --dport 53 -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
 +
 +#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p udp\
 +# --dport 53 -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +
 +##Règles icmp pour INPUT et OUTPUT
 iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT
Ligne 728: Ligne 788:
 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  
-iptables -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/0\+iptables ​-t filter ​-A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/​0 ​-p tcp\
  -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT  -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
  
-iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+iptables ​-t filter ​-A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p tcp\ 
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT+ -m state --state ESTABLISHED,​RELATED -j ACCEPT
  
-iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport+#Si pas de DNS configurer on dé-commente les règles udp suivantes : 
- --dports 80,443,8000 -j ACCEPT + 
-iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+#iptables ​-t filter ​-A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 ​-d 0.0.0.0/0 -p udp
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT+--dport 53 -m state --state NEW,ESTABLISHED,RELATED ​-j ACCEPT 
 +  
 +#iptables ​-t filter ​-A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p udp\ 
 +# --dport 53 -m state --state ESTABLISHED,​RELATED ​-j ACCEPT 
 + 
 +iptables -t filter -A FORWARD -p icmp -j ACCEPT
  
 iptables -N icmp_packets iptables -N icmp_packets
Ligne 758: Ligne 823:
  
 </​code>​ </​code>​
 +
 +> La navigation web fonctionne pour l'ordi B
 +> Les ping de même
 +
 ====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 excepté 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 excepté pour tous les protocoles dont on a besoin.\\ ​
Ligne 795: Ligne 864:
  
 # On garde nos règles concernant le DROP sur FORWARD (FILTER) # On garde nos règles concernant le DROP sur FORWARD (FILTER)
-# et on oublie pas eth1 ! + 
-iptables -t filter -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/0\+iptables -t filter -A FORWARD -i eth1 -o eth0 -192.168.1.0/​24 -0.0.0.0/​0 ​-p tcp\
  -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT  -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
 +
 +iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 -p tcp\
 + -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +
 +#Si pas de DNS configurer on dé-commente les règles udp suivantes :
 +
 +#iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/​24 -d 0.0.0.0/0 -p udp\
 +# --dport 53 -m state --state NEW,​ESTABLISHED,​RELATED -j ACCEPT
    
-iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0+#iptables -t filter -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.0/​24 ​-p udp\ 
- -d 192.168.1.0/​24 -m state --state ESTABLISHED,​RELATED -j ACCEPT+# --dport 53 -m state --state ESTABLISHED,​RELATED -j ACCEPT
  
 iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT
- + 
 +# règles icmp sur INPUT et OUTPUT
 iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\ iptables -t filter -A INPUT -p icmp -i eth0 -m conntrack\
  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT  ​--ctstate ESTABLISHED,​RELATED -j ACCEPT
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