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

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 16:24]
Hypathie créée
doc:reseau:iptables-pare-feu-pour-une-passerelle [14/10/2014 17:17]
Hypathie [Détail pour les protocole TCP et UDP]
Ligne 2: Ligne 2:
  
   * Objet : installer un pare-feu pour une passerelle   * Objet : installer un pare-feu pour une passerelle
-  * Niveau requis : FIXME {{tag> avisé}}+  * Niveau requis : {{tag> avisé}}
   * Commentaires : Fignoler le routage, installer un pare-feu sur une passerelle debian.   * Commentaires : Fignoler le routage, installer un pare-feu sur une passerelle debian.
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>​à-placer}}+  * Suivi : {{tag>à-tester ​à-placer}}
     * Création par [[user>​Hypathie]] 14/10/2014     * Création par [[user>​Hypathie]] 14/10/2014
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * 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 : ​Ce wiki prend la suite de celui sur iptables, [[http://​wiki.debian-facile.org/​atelier:​chantier:​iptables-pare-feu-pour-un-client#​firewall-clientsh-comme-script-init|un pare-feu pour un client]] et complète [[http://​wiki.debian-facile.org/​atelier:​chantier:​dhcp|installer DHCP sur une passerelle-routeur debian]].\\  +**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. **
-Au programme, description avancée de la table NAT, et des protocoles imcp et tcp. **+
  
 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 45: Ligne 44:
  - 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''​.
  
-===Objectif du wiki === 
-Nous allons nous attacher en détail à la table NAT d'​iptables.\\ ​ 
- 
-Et pour ce faire, nous allons nous attacher principalement à installer un pare-feu sur debian-routeur qui prendra en charge les deux cartes réseaux, c'​est-à-dire qu'il permettra principalement de protéger le réseau B, tout en lui laissant la possibilité d'​accéder au web; il devra aussi permettre la communication entre le réseau A et le réseau B ; ou encore permettre aux ordinateurs du réseau B d'​utiliser les services ssh ; http(s) ; cups, DHCP ... mais de manière sécurisée. 
  
 =====La table de routage===== =====La table de routage=====
Ligne 253: Ligne 248:
  
 Pour ce qui concerne masquerade et snat, ce qui se passe pour un paquet est représenté par la partie du schéma au dessus de la ligne transversale FORWARD.\\  ​ Pour ce qui concerne masquerade et snat, ce qui se passe pour un paquet est représenté par la partie du schéma au dessus de la ligne transversale FORWARD.\\  ​
-Ce schéma tente de mettre en valeur un pré-requis pour ces paquets qui entrent et sorte par eth0 et eth1 ne sont routés ​que si de façon sous-jacente,​ ils sont autoriser ​à entrer et sortir.\\ ​+Ce schéma tente de mettre en valeur un pré-requis pour ces paquets qui entrent et sortent ​par **eth0 et eth1** ; et qui sont routés ​uniquement ​side façon sous-jacente,​ ils sont autorisés ​à entrer et sortir ​pour chacune des deux interfaces.\\  
 En d'​autres termes, la table **FILTER** et les chaînes FORWARD, INPUT et OUTPUT conditionnent le POSTEROUTING (et le PREROUTING).\\ ​ En d'​autres termes, la table **FILTER** et les chaînes FORWARD, INPUT et OUTPUT conditionnent le POSTEROUTING (et le PREROUTING).\\ ​
 Ré-préquis déterminant le fait que l'​ordinateur B puisse recevoir des paquets, et en envoyer. Ré-préquis déterminant le fait que l'​ordinateur B puisse recevoir des paquets, et en envoyer.
Ligne 335: Ligne 331:
   - Interdire par défaut (DROP) la chaîne FORWARD   - Interdire par défaut (DROP) la chaîne FORWARD
   - Filter ce qui passe par FORWARD   - Filter ce qui passe par FORWARD
-  - Autoriser ​les connexions ​(provisoirement) les entrées et sorties entre le <​nowiki>​LAN</​nowiki>​ et le web.+  - Autoriser (provisoirement) les entrées et sorties entre le <​nowiki>​LAN</​nowiki>​ et le web.
   - Autoriser les pings depuis le pare-feu vers l'​internet,​ uniquement si ceux-ci proviennent de connexions déjà établies ou dépendantes d'une connexion en cours.   - Autoriser les pings depuis le pare-feu vers l'​internet,​ uniquement si ceux-ci proviennent de connexions déjà établies ou dépendantes d'une connexion en cours.
   - Autoriser la réponse du ping, que ce soit depuis le réseau interne, ou de la box-machin.   - Autoriser la réponse du ping, que ce soit depuis le réseau interne, ou de la box-machin.
-  - Et bien sûr, de pas oublier après avoir flusher la table NAT, la commande avec MASQUERADE+  - Et bien sûr, ne pas oublier après avoir flusher la table NAT, la commande avec MASQUERADE
  
 (//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//​) (//Puisque la politique par défaut de la table FILTER des chaînes INPUT et OUTPUT n'ont pas encore été modifiées, on peut déjà tester ces commandes.//​)
Ligne 393: Ligne 389:
  
   * Pour voir ce qu'on a fait :   * Pour voir ce qu'on a fait :
-<code root>​iptables -t nat -L FORWARD -t filter</​code>​+<code root>​iptables ​-L -t nat && iptables ​-L</​code>​
  
 ====Dépendance du NAT et des chaînes FILTER sur l'​interface interne (eth1)==== ====Dépendance du NAT et des chaînes FILTER sur l'​interface interne (eth1)====
Ligne 489: Ligne 485:
 </​code>​ </​code>​
  
-Super tout fonctionne : nous avons un pare-feu rudimentaire mais dont la politique par défaut pour FILTER est à DROP ; il permet de filtrer les protocoles, entrant et ressortant, essentiels à notre réseau B pour qu'il accède au web, et rejette les autres ​!+Super ! Tout fonctionne =)
  
-Mais ce n'est pas suffisant. Nous allons détailler davantage ce qu'on laisse entrer, et surtout nous allons ​le loger.+Nous avons un pare-feu rudimentaire mais dont la politique par défaut pour FILTER est à DROP ; il permet de filtrer les protocoles, entrant et ressortant, essentiels à notre réseau B pour qu'il accède au web, et rejette les autres ! 
 + 
 +Mais ce n'est pas suffisant. Nous allons détailler davantage ce qu'on laisse entrer, et surtout nous allons ​envoyé dans les logs certains protocoles qu'on utilise.
  
 =====Un pare-feu avancé pour le routeur-debian===== =====Un pare-feu avancé pour le routeur-debian=====
Ligne 505: Ligne 503:
 Ils proviennent de la couche 2 (Liaison de données) du modèle OSI et selon le standard, il ne devrait y avoir de paquets qui utilisent la fragmentation.\\ ​ Ils proviennent de la couche 2 (Liaison de données) du modèle OSI et selon le standard, il ne devrait y avoir de paquets qui utilisent la fragmentation.\\ ​
 Lorsque cette situation se présente, nous sommes en présence d'un déni de service (DoS). Lorsque cette situation se présente, nous sommes en présence d'un déni de service (DoS).
-Nous allons donc essayer de réduire les risques en repérant ​les paquets fragmentés qui n'ont pas lieu d'​être, pour les rejeter.+Nous allons donc essayer de réduire les risques en rejetant ​les paquets fragmentés qui n'ont pas lieu d'​être.
  
   * Créons une chaîne utilisateur :   * Créons une chaîne utilisateur :
Ligne 602: Ligne 600:
 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 table NAT:+  * 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 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 645: Ligne 643:
 </​code>​ </​code>​
 ====DROP sur INPUT et OUTPUT (chaîne filter) ==== ====DROP sur INPUT et OUTPUT (chaîne filter) ====
-À l'​étape suivante, 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.\\  
-Mais on en finit d'abord avec IMCP qu'on laisse entrer et sortir ​(INPUTOUTPUTce qu'on n'a laissé passer par FORWARD.+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.
  
-On conserve ce qu'on a fait précédemment et on ajoute ​provisoirement les commandes du [[atelier:​chantier:​iptables-pare-feu-pour-un-client#​pour-les-fadas-du-scripting-shell|script pour station ​du LAN]] des autres protocoles pour la table FILTER (INPUT et OUTPUT envoyés à DROP).+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.
  
 <code root> <code root>
Ligne 1112: Ligne 1110:
 </​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