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 [06/11/2014 17:33]
Hypathie [Pare-feu pour une station (client)]
doc:reseau:iptables-pare-feu-pour-un-client [07/11/2014 10:07]
Hypathie [Pare-feu pour une station (client)]
Ligne 283: Ligne 283:
 Commandes précédentes,​ ou celles-ci plus précises que l'on préférera : Commandes précédentes,​ ou celles-ci plus précises que l'on préférera :
 <code root> <code root>
-iptables -A OUTPUT -o -p icmp -m conntrack\+iptables -A OUTPUT -o eth0 -p icmp -m conntrack\
  ​--ctstate NEW,​ESTABLISHED,​RELATED -j ACCEPT  ​--ctstate NEW,​ESTABLISHED,​RELATED -j ACCEPT
  
Ligne 313: Ligne 313:
 <​note>​Remarque sur la place du point d'​exclamation,​ qui ne se place pas devant ''​INVALID''​ comme on le voit souvent !</​note>​ <​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 :+<note tip>**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 ​ceci au pare-feu du client ​:**
  
 <code root>​iptables -A INPUT -i eth0 -s 192.168.1.0/​24 -d 192.168.0.22 -p tcp\ <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 NEW,​RELATED,​ESTABLISHED -j ACCEPT</​code>​+ ​--dport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT
  
- +iptables -A OUTPUT -o eth0 -s 192.168.0.22 -d 192.168.1.0/​24 -p tcp\
-<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>​  ​--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).\\ +**Dans ce cas au niveau de la passerelle** : 
 +Si elle dotée d'un pare-feu, il faudra ​que **son** pare-feu permette ​le trafic pour le port 631, c'​est-à-dire accepter sur eth0 (réseau 192.168.0.0/​24) ​les entrées ​et les sorties ​tcp sur le port 631.\\  
 + 
 +Par exemple : 
 + 
 +  iptables -A INPUT -i eth0 -s 192.168.0.22 -d 192.168.0.1 -p tcp --sport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 +  iptables -A OUTPUT -o eth0 -s 192.168.0.1 -d 192.168.0.22 -p tcp --dport 631 -m state --state NEW,​RELATED,​ESTABLISHED -j ACCEPT 
 + 
 + 
 +Voir : [[atelier:​chantier:​iptables-un-pare-feu-pour-une-passerelle?&#​le-script-de-la-passerelle|Script d'une passerelle]] 
 +</​note> ​
  
 ====Vérifier et faire des tests==== ====Vérifier et faire des tests====
Ligne 548: Ligne 557:
  
 ===Pour les fadas du "​scripting"​ shell=== ===Pour les fadas du "​scripting"​ shell===
 +Le script suivant permettra de mettre en place le pare-feu à chaque démarrage du système.\\ ​
 +Donc c'est soit la méthode de sauvegarde des règles iptables précédente,​ soit celle-ci.\\ ​
 +Si vous avez testé la première méthode, ne pas oublier de supprimer ou de commenté la ligne **''#​post-up iptables-restore < /​etc/​firewall-client''​** du fichier /​etc/​network/​interfaces.
  
-**C'est soit la méthode précédente,​ soit celle-ci !**\\  +  ​Ce script permettra ​un rappel des possibilités : 
-(Pour tester n'​oubliez pas de commenter, mettre ​un ''#''​ devant la ligne\\ ''​pre-up iptables-restore ​< /​etc/​firewall-client''​ du fichier ​/etc/network/interfaces ajoutée lors de la méthode précédente.)+<code root>/etc/init.d/​firewall-client.sh</​code>​ 
 + 
 +  Usage: ​/etc/init.d/firewall-client.sh { start | stop | restart | status } 
 + 
 +  * Par exemple pour supprimer toutes les règles ​de toutes les tables : 
 +<code root>/​etc/​init.d/​firewall-client.sh stop</​code>​ 
 + 
 +  * Avec "​restart"​ pour permettre de remettre en place toutes les règles (via le fichier de sauvegarde d'​iptables-restore) 
 +  * Avec "​start" ​ pour relancer toutes les règles avec le script lui-même et les re-sauvegarder 
 +  * Avec "​status"​ pour l'​affichage des règles FILTER et NAT)
  
 <code bash firewall-client.sh>​ <code bash firewall-client.sh>​
Ligne 569: Ligne 590:
 # Author: hypathie <​hypathie@debian-facile>​ # Author: hypathie <​hypathie@debian-facile>​
 # #
-##Set up init.d ​script+##Set up /etc/init.d/​firewall-client
 case "​$1"​ in case "​$1"​ in
 '​start'​) '​start'​)
-/​sbin/​iptables-restore < /​etc/​firewall-client 
-RETVAL=$? 
-;; 
-'​stop'​) 
-/​sbin/​iptables-save > /​etc/​firewall-client 
-RETVAL=$? 
-;; 
-'​clean'​) 
 ##Set up firewall-client ##Set up firewall-client
 # Clear any existing rules # Clear any existing rules
Ligne 624: Ligne 637:
 /​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,​ESTABLISHED -j ACCEPT
 /​sbin/​iptables -t filter -A INPUT -i eth0 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT /​sbin/​iptables -t filter -A INPUT -i eth0 -s 192.168.0.0/​24 -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
 +echo "set up firewall-client .........>​ [OK]"
 +/​sbin/​iptables-save > /​etc/​firewall-client
 +echo "​iptables-save > /​etc/​firewall-client .........>​ [OK]"
 +RETVAL=$?
 +;;
 +'​stop'​)
 +# Supprime toutes les règles du pare-feu
 +/​sbin/​iptables -t filter -F
 +/​sbin/​iptables -t nat -F
 +/​sbin/​iptables -t mangle -F
 +/​sbin/​iptables -t raw -F
 +/​sbin/​iptables -t filter -P INPUT ACCEPT
 +/​sbin/​iptables -t filter -P OUTPUT ACCEPT
 +/​sbin/​iptables -t filter -P FORWARD ACCEPT
 +echo "​FILTER [ALL RULES .... [FLUSH] ..... POLICY ......> [ACCEPT]"​
 +/​sbin/​iptables -t nat -P PREROUTING ACCEPT
 +/​sbin/​iptables -t nat -P POSTROUTING ACCEPT
 +/​sbin/​iptables -t nat -P OUTPUT ACCEPT
 +/​sbin/​iptables -t mangle -P PREROUTING ACCEPT
 +/​sbin/​iptables -t mangle -P OUTPUT ACCEPT
 +/​sbin/​iptables -t mangle -P POSTROUTING ACCEPT
 +/​sbin/​iptables -t mangle -P FORWARD ACCEPT
 +/​sbin/​iptables -t mangle -P INPUT ACCEPT
 +/​sbin/​iptables -t raw -P OUTPUT ACCEPT
 +/​sbin/​iptables -t raw -P PREROUTING ACCEPT
 +echo "ALL TABLES ....[FLUSH] ..... ALL POLICY .......> [ACCEPT]"​
 RETVAL=$? RETVAL=$?
 ;; ;;
 '​restart'​) '​restart'​)
-$0 stop && $0 start+/​sbin/​iptables-restore < /​etc/​firewall-client 
 +echo "/​etc/​firewall-client ........[OK]"​ 
 +RETVAL=$
 +;; 
 +'​status'​) 
 +/​sbin/​iptables -L -n --line-numbers 
 +/​sbin/​iptables -t nat -L
 RETVAL=$? RETVAL=$?
 ;; ;;
 *) *)
-echo "​Usage:​ $0 { start | stop | restart | clean}"+echo "​Usage:​ $0 { start | stop | restart | status ​}"
 RETVAL=1 RETVAL=1
 ;; ;;
Ligne 652: Ligne 697:
  
 <code root> <code root>
-chmod +x /​etc/​init.d/​firewall-client.sh +chmod 0755 /​etc/​init.d/​firewall-client.sh 
-chmod 755 /​etc/​init.d/​firewall-client.sh+chown root:​root ​/​etc/​init.d/​firewall-client.sh
 </​code>​ </​code>​
  
Ligne 660: Ligne 705:
 <code root>​update-rc.d firewall-client.sh defaults</​code>​ <code root>​update-rc.d firewall-client.sh defaults</​code>​
  
-Et si tout c'est bien passé, au prochain redémarrage :+===Et si tout c'est bien passé=== 
 +Au prochain redémarrage ​
 +  * Le pare-feu se met en place pendant le démarrage du système  
 +<​code>​set up firewall-client .........>​ [OK] 
 +iptables-save > /​etc/​firewall-client .........>​ [OK]</​code>​ 
 + 
 +  * On peut le vérifier ​:
  
 <code root>​iptables -L -n --line-numbers</​code>​ <code root>​iptables -L -n --line-numbers</​code>​
  
-tout est là ! 8-)+Ou (plus complet) : 
 + 
 +<code root>/​etc/​init.d/​firewall-client.sh status</​code>​ 
 + 
 +Tout est là ! 8-)
  
 <note tip> <note tip>
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