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-un-client [16/10/2014 06:02]
Hypathie [Introduction]
doc:reseau:iptables-pare-feu-pour-un-client [06/11/2014 10:11]
Hypathie [Pare-feu pour une station (client)]
Ligne 196: Ligne 196:
   * Suivons le principe énoncé plus haut : on commence par tout interdire.   * Suivons le principe énoncé plus haut : on commence par tout interdire.
  
-Pour les entrées ; ce qui passe ; ce qui sort : 
 <code root> <code root>
 iptables -P INPUT DROP iptables -P INPUT DROP
Ligne 220: Ligne 219:
 <code root> <code root>
 iptables -t filter -A OUTPUT -p udp -m udp\ iptables -t filter -A OUTPUT -p udp -m udp\
- ​--dport 53 -m conntrack --ctstate RELATED,​ESTABLISHED -j ACCEPT+ ​--dport 53 -m conntrack --ctstate ​NEW,RELATED,​ESTABLISHED -j ACCEPT
  
 iptables -t filter -A INPUT -p udp -m udp\ iptables -t filter -A INPUT -p udp -m udp\
Ligne 282: Ligne 281:
  
 <​note>​ <​note>​
-Commande précédente, ou on peut aussi faire :+Commandes précédentes, ou celles-ci plus précises que l'on préférera ​:
 <code root> <code root>
 iptables -A OUTPUT -p icmp -m conntrack\ iptables -A OUTPUT -p icmp -m conntrack\
Ligne 302: Ligne 301:
  ​RELATED,​ESTABLISHED -j ACCEPT  ​RELATED,​ESTABLISHED -j ACCEPT
 </​code>​ </​code>​
 +
 +===Pour installer une imprimante partagée ===
 +  * Si l'on veut brancher son imprimante sur la machine d'IP 192.168.0.22 faisant alors office de serveur d'​impression pour le réseau local 192.168.0.0/​24 :
 +
 +<code root>​iptables -A INPUT -i eth0 -s 192.168.0.0/​24 -d 192.168.0.22 -p tcp\
 + ​--dport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT
 +
 +iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.0.0/​24 -p tcp\
 + ​--sport 631 -m state ! --state INVALID -j ACCEPT</​code>​
 +
 +<​note>​Remarque sur la place du point d'​exclamation,​ qui ne se place pas devant ''​INVALID''​ comme on le voit souvent !</​note>​
 +
 +  * Si l'on veut que cette imprimante soit partagée aussi par un autre réseau, par exemple 192.168.1.0/​24 on ajoutera :
 +
 +<code root>​iptables -A INPUT -i eth0 -s 192.168.1.0/​24 -d 192.168.0.22 -p tcp\
 + ​--dport 631 -m state --state RELATED,​ESTABLISHED -j ACCEPT</​code>​
 +
 +
 +<code root>​iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/​24 -p tcp\
 + ​--sport 631 -m state ! --state INVALID -j ACCEPT</​code>​
 +
 +Dans ce cas au niveau de la passerelle, il faudra relayer le trafic pour le port 631, c'​est-à-dire accepter sur eth0 (réseau 192.168.0.0/​24) en entrée et en sortie tcp sur le port 631, de même pour eth1 (réseau 168.168.1.0/​24).\\ ​
  
 ====Vérifier et faire des tests==== ====Vérifier et faire des tests====
Ligne 654: Ligne 675:
 **Prochain n° sur iptables : "​[[atelier:​chantier:​iptables-un-pare-feu-pour-une-passerelle?&​|un pare-feu pour une passerelle Debian]]"​.** **Prochain n° sur iptables : "​[[atelier:​chantier:​iptables-un-pare-feu-pour-une-passerelle?&​|un pare-feu pour une passerelle Debian]]"​.**
  
-=====Récapitulatif ​des commandes ​et options =====+=====Récapitulatifcommandesoptions, syntaxe ​===== 
 +====Les commandes====
  
 ^ commandes ^ descriptions ^ ^ commandes ^ descriptions ^
Ligne 670: Ligne 692:
 | -Z <​nowiki>​[chain]</​nowiki>​ | remise à zéro des compteurs dans la chaîne chain si elle est indiquée | | -Z <​nowiki>​[chain]</​nowiki>​ | remise à zéro des compteurs dans la chaîne chain si elle est indiquée |
  
 +====Les options====
 ^options^descriptions^ ^options^descriptions^
 |-p [!] protocle|où protocole est : TCP, UDP, ICMP, ALL| |-p [!] protocle|où protocole est : TCP, UDP, ICMP, ALL|
Ligne 687: Ligne 709:
 [[http://​olivieraj.free.fr/​fr/​linux/​information/​firewall/​fw-03-05.html]] [[http://​olivieraj.free.fr/​fr/​linux/​information/​firewall/​fw-03-05.html]]
  
 +====La syntaxe générale ====
 +===Commande iptables basique===
 +  * Ouvrir une connexion vers sa machine ​
 +
 +  iptables -A INPUT -i <​interface_d'​entrée>​ -p <​nom_du_protocole>​ --dport <​nom_du_port_de_destination>​ -j ACCEPT
 +
 +> Où <​nom_du_protocole>​ est à remplacer par TCP, UDP, all ;
 +> une règle pour chaque protocole
 +> et <​nom_du_port>​ est le **nom du service**, tels FTP, DNS ... **ou le numéro** qui leur correspond tels 21, 53...
 +
 +===Règles plus précise ===
 +
 +  * Sur l'​entrée :
 +
 +  iptables -A INPUT -i <​interface_d'​entrée>​ -s <​reseau_local/​masque_de_reseau>​ -d <​ip_locale>​ -p <​nom_du_protocole>​ --dport <​nom_du_port>​ -m state --state NEW -j ACCEPT
 +
 +
 +> Ce qui rentre sur sa carte ethernet, dont la source est seulement <​reseau_local/​masque_de_reseau>​ et seulement à destination de <​ip_locale>,​ dont l'​état est une nouvelle connexion par tel protocole et sur tel port, sera accepté.
 + 
 +  * Sur la sortie :
 +
 +  iptables -A OUTPUT -o eth0 -s <​ip_locale>​ -d <​reseau_local/​masque_de_reseau>​ -p <​nom_du_protocole>​ --sport <​nom_du_port>​ -m state --state NEW -j ACCEPT
 +
 +> Ce qui sort de sa carte ethernet, dont la source est seulement <​reseau_local/​masque_de_reseau>​ et seulement à destination de <​ip_locale>,​ dont l'​état est une nouvelle connexion par tel protocole et sur tel port, sera accepté.
 +
 +
 +===Filtre encore plus restrictif===
 +
 +  * En entrée :
 +
 +  iptables -A INPUT -i eth0 -s <​reseau_local/​masque_de_reseau>​ -d <​ip_locale>​ -p <​nom_du_protocole>​ --dport <​nom_du_port>​ -m state --state ! INVALID -j ACCEPT
 +
 +> On précise que l'on accepte, en entrée sur l'​interface réseau, tout ce qui vient de notre réseau local à destination de l'​adresse ip, correspondant à notre interface réseau utilisant tel protocole, vers tel numéro de port (ou service) dont l'​état du paquet n'est pas invalide, c'​est-à-dire un paquet ayant l'​état '​nouveau',​ '​établi',​ '​relatif'​ ou 'non traqué'​.
 +
 +  * En sortie :
 +
 +  iptables -A OUTPUT -o eth0 -s <​ip_locale>​ -d <​reseau_local/​masque_de_reseau>​ -p <​nom_du_protocole>​ --sport <​nom_du_port>​ -m state --state RELATED,​ESTABLISHED -j ACCEPT
 +
 +> On précise que l'on accepte de laisser sortir de l'​interface réseau, tout paquet dont la source est l'​adresse ip correspondant à notre interface réseau, à destination de notre réseau local utilisant tel protocole, vers tel numero de port (ou service) dont l'​état est '​relatif'​ ou '​établi'​ - en rapport avec la règle d'​entrée.
 +
 +**-> Tous les paquets qui ne correspondent pas à ces critères d'​entrée ou sortie n'​entrent pas ou ne sortent pas !**
  
  
 +Pour dresser des définitions avec des arguments plus précis car tenant compte des particularités de chacun des protocoles, voir la documentation **[[http://​www.netfilter.org/​documentation/​|netfilter:​Documentation]]**.
doc/reseau/iptables-pare-feu-pour-un-client.txt · Dernière modification: 31/05/2023 20:57 par lagrenouille

Pied de page des forums

Propulsé par FluxBB