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 [08/10/2014 23:52]
Hypathie [Introduction]
doc:reseau:iptables-pare-feu-pour-un-client [14/10/2014 16:29]
Hypathie [Pare-feu pour une station (client)]
Ligne 6: Ligne 6:
   * Suivi : {{à-placer}}   * Suivi : {{à-placer}}
     * Création par [[user>​Hypathie]] 08/10/2014     * Création par [[user>​Hypathie]] 08/10/2014
-    * Testé par <...> le <​...> ​FIXME+    * Testé par <...> le <​...> ​
   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=99071#​p99071| 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=99071#​p99071| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
-**Nota :**+
 ===== Introduction ===== ===== Introduction =====
 **Iptables** est un logiciel libre grâce auquel l’administrateur système peut configurer les chaînes et règles du pare-feu en espace noyau. **Iptables** est un logiciel libre grâce auquel l’administrateur système peut configurer les chaînes et règles du pare-feu en espace noyau.
Ligne 39: Ligne 39:
  
 ===Ports TCP/UDP et Protocole couramment utilisés=== ===Ports TCP/UDP et Protocole couramment utilisés===
-Comme un pare-feu classique, iptables contrôle les ports sur une interface réseau par laquelle les paquets peuvent entrer, ​passer à travers pour y être modifiésou encore ​sortir.\\  ​+Comme un pare-feu classique, iptables contrôle les ports sur une interface réseau par laquelle les paquets peuvent entrer, ​transiter, sortir, être rejetés.\\  ​
  
-Ce reporter à la documentation interne (lien en vert) pour la mise en place de ces services ci-dessous.\\  +Ce reporter à la documentation interne (lien en vert) pour la mise en place des services ​listés ​ci-dessous.\\  
-Vous y trouverez : leur installation et leur configuration. Et à ce sujetcomment changer les ports par défaut ​associé à tel ou tel service+Vous y trouverez : leur installation et leur configuration, ​tel que la modification du port par défaut ​pour certains de ces protocoles.\\ 
  
-Dans la suite je considérerai qu'ils n'ont pas été modifiés.+Et à ce sujet, dans la suite de ce wiki, je considérerai qu'ils n'ont pas été modifiés.
  
 **[[doc:​reseau:​ftp|FTP]]** = TCP 21/​20\\ ​ **[[doc:​reseau:​ftp|FTP]]** = TCP 21/​20\\ ​
Ligne 65: Ligne 65:
 Un conseil ne pas mettre en place un pare-feu tout fait sans comprendre ce qu'on fait.\\ ​ Un conseil ne pas mettre en place un pare-feu tout fait sans comprendre ce qu'on fait.\\ ​
 L'​idéal est d'​avoir quelques bases sur les réseaux.\\ ​ L'​idéal est d'​avoir quelques bases sur les réseaux.\\ ​
-Voici quelques liens indispensables pour aborder ces bases :\\ +Voici quelques liens indispensables pour acquérir quelques connaissances fondamentales ​:\\ 
  
   * [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​tcpiprepetition.html|TCP/​IP]]   * [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​tcpiprepetition.html|TCP/​IP]]
Ligne 74: Ligne 74:
     * sur SCTP : les [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​sctpcharacteristics.html|Caractéristiques SCTP]] et les [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​sctpheaders.html|En-têtes SCTP]]     * sur SCTP : les [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​sctpcharacteristics.html|Caractéristiques SCTP]] et les [[http://​www.inetdoc.net/​guides/​iptables-tutorial/​sctpheaders.html|En-têtes SCTP]]
  
-Pour ce qui concerne le routage (table NAT), nous l'​aborderons lors de la mise en place d'un pare-feu pour une machine faisant office de routeur, dans un autre wiki.+Au sujet de la configuration réseau, commandes, fichiers de configuration pour GNU/​linux:​\\ [[http://​www.linux-france.org/​prj/​edu/​archinet/​systeme/​ch03.html]] 
 + 
 +Pour ce qui concerne le routage (table NAT), nous l'​aborderons lors de la mise en place d'un pare-feu pour une machine faisant office de routeur, dans le wiki suivant.
 =====Fonctionnement d'​iptables===== =====Fonctionnement d'​iptables=====
 Pour apprendre à utiliser iptables et acquérir les différentes notions mises en œuvre lors de son utilisation,​ nous allons partir de l'​exemple.\\ ​ Pour apprendre à utiliser iptables et acquérir les différentes notions mises en œuvre lors de son utilisation,​ nous allons partir de l'​exemple.\\ ​
Ligne 82: Ligne 84:
 Une **table** permet de définir le plan de "​travail"​. En effet, iptables ne sert pas uniquement à bloquer certains paquets et n'est pas uniquement utiliser pour dresser un pare-feu. On peut par exemple s'en servir modifier un paquet (table MANGLE), ou pour faire de la redirection de paquet (table NAT). Une **table** permet de définir le plan de "​travail"​. En effet, iptables ne sert pas uniquement à bloquer certains paquets et n'est pas uniquement utiliser pour dresser un pare-feu. On peut par exemple s'en servir modifier un paquet (table MANGLE), ou pour faire de la redirection de paquet (table NAT).
  
-Mais c'est la table filter permet d'​utiliser iptables en tant que pare-feu. Avec cette table, on va indiquer à iptables un ensemble de règles dans un ordre précis afin qu'il sache s'il doit interdire ou autoriser le passage des paquets. \\ +Mais c'est la table filter ​qui permet d'​utiliser iptables en tant que pare-feu ​et qui nous intéresse ici.\\ Avec cette table, on va indiquer à iptables un ensemble de règles dans un ordre précis afin qu'il sache s'il doit interdire ou autoriser le passage des paquets. \\ 
  
 Dresser la table filter consistera à indiquer précisément à iptables pour quels paquets, pour quels ports ou protocoles, pour quelle direction... il y a autorisation ou interdiction de passage. Dresser la table filter consistera à indiquer précisément à iptables pour quels paquets, pour quels ports ou protocoles, pour quelle direction... il y a autorisation ou interdiction de passage.
Ligne 104: Ligne 106:
 > **La première ligne ''​Chain INPUT (policy ACCEPT)''​** concerne les paquets entrants **''​INPUT''​**.\\ On voit que tout passe dans toutes les directions **''​policy ACCEPT''​**. > **La première ligne ''​Chain INPUT (policy ACCEPT)''​** concerne les paquets entrants **''​INPUT''​**.\\ On voit que tout passe dans toutes les directions **''​policy ACCEPT''​**.
  
-> **En dessous ''​target ​  prot opt source ​ destination''​** ce sont les titres qui permettent de ranger dans un tableau bien lisible ce qui est mis en place :+> **En dessous ''​target ​  prot opt source ​ destination''​** ce sont les titres qui permettent de ranger ​le retour de la commande de listage ​dans un tableau bien lisible. Pratique pour lire plus facilement ​ce qui est mis en place :
 >> >>
 >> **''​target''​** : c'est l'​action à prendre, quand des règles seront mises en place, on trouvera dans cette colonne plusieurs lignes dont chacune aura l'une de ces valeurs :\\  **''​ACCEPT''​** (autoriser) ou **''​DROP''​** (interdire) ou **''​REJECT''​** (interdire en envoyant un signal d'​interdiction). >> **''​target''​** : c'est l'​action à prendre, quand des règles seront mises en place, on trouvera dans cette colonne plusieurs lignes dont chacune aura l'une de ces valeurs :\\  **''​ACCEPT''​** (autoriser) ou **''​DROP''​** (interdire) ou **''​REJECT''​** (interdire en envoyant un signal d'​interdiction).
Ligne 175: Ligne 177:
  
 <​note>​ <​note>​
--F : (flush) : vider toutes les tables ​existantes\\  +-F : (flush) : vider toutes les chaînes ​existantes\\  
--X : supprimer les règles ​personnelles ​+-X : supprimer les chaînes ​personnelles ​
 </​note>​ </​note>​
  
Ligne 463: Ligne 465:
  
   * Pour vérifier ses logs :   * Pour vérifier ses logs :
-On se connecte en ssh du client sur lequel on a installé le pare-feu vers un client de notre réseau; puis dans l'​autre sens d'un client du réseau vers le client "​pare-feuté"​ qui est aussi server ​ssh.+On se connecte en ssh du client sur lequel on a installé le pare-feu vers un client de notre réseau; puis dans l'​autre sens d'un client du réseau vers le client "​pare-feuté"​ qui est aussi serveur ​ssh.
  
 <code user>​less /​var/​log/​messages | grep OUTGOING_SSH</​code>​ <code user>​less /​var/​log/​messages | grep OUTGOING_SSH</​code>​
Ligne 498: Ligne 500:
 <code root>​iptables-restore < /​etc/​iptables</​code>​ <code root>​iptables-restore < /​etc/​iptables</​code>​
  
-Bon il ne faut pas oublier de mettre ​son pare-feu à chaque redémarrage !\\ +Bon il ne faut pas oublier de charger ​son pare-feu à chaque redémarrage !\\ 
  
 Évitons ce risque et surtout de nous fatiguer...\\ ​ Évitons ce risque et surtout de nous fatiguer...\\ ​
Ligne 565: Ligne 567:
 /​sbin/​iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,​RELATED,​ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -p udp -m udp --dport 53 -m conntrack --ctstate NEW,​RELATED,​ESTABLISHED -j ACCEPT
 /​sbin/​iptables -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,​ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -p udp -m udp --sport 53 -m conntrack --ctstate RELATED,​ESTABLISHED -j ACCEPT
-#Allow trafic on internal network ​ +#Allow trafic on internal network
-/​sbin/​iptables -t filter -A OUTPUT -o lo -j ACCEPT+
 /​sbin/​iptables -t filter -A INPUT -i lo -j ACCEPT /​sbin/​iptables -t filter -A INPUT -i lo -j ACCEPT
 +/​sbin/​iptables -t filter -A OUTPUT -o lo -j ACCEPT
 #Allow ping to internal network #Allow ping to internal network
 /​sbin/​iptables -A OUTPUT -p icmp -m conntrack --ctstate NEW,​ESTABLISHED,​RELATED -j ACCEPT /​sbin/​iptables -A OUTPUT -p icmp -m conntrack --ctstate NEW,​ESTABLISHED,​RELATED -j ACCEPT
Ligne 578: Ligne 580:
 /​sbin/​iptables -I INPUT -p tcp --dport 22 -j OutGoingSSH /​sbin/​iptables -I INPUT -p tcp --dport 22 -j OutGoingSSH
 /​sbin/​iptables -A OutGoingSSH -j LOG --log-prefix '​[OUTGOING_SSH] : ' /​sbin/​iptables -A OutGoingSSH -j LOG --log-prefix '​[OUTGOING_SSH] : '
-#Set up a user chain forr ssh incoming ​+#Set up a user chain for ssh incoming ​
 /​sbin/​iptables -t filter -N InComingSSH /​sbin/​iptables -t filter -N InComingSSH
 /​sbin/​iptables -I OUTPUT -p tcp --sport 22 -j InComingSSH /​sbin/​iptables -I OUTPUT -p tcp --sport 22 -j InComingSSH
Ligne 646: Ligne 648:
 Et voilà c'est déjà fini ;-) Et voilà c'est déjà fini ;-)
  
-**Prochain n° sur iptables : "un pare-feu pour une passerelle-routeur Debian"​.**+**Prochain n° sur iptables : "[[atelier:​chantier:​iptables-un-pare-feu-pour-une-passerelle?&​|un pare-feu pour une passerelle-routeur Debian]]".**
  
 =====Récapitulatif des commandes et options ===== =====Récapitulatif des commandes et options =====
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