IPTABLES / Sécurité
|
08-04-2013, 17h44
(Modification du message : 08-04-2013, 17h44 par notfound.)
Message : #1
|
|
notfound
#!/usr/bin/env bash Messages : 687 Sujets : 47 Points: 271 Inscription : Sep 2012 |
IPTABLES / Sécurité
Hello tout le monde, enfin un thread qui relève de la technique (ça faisait longtemps, n'en déplaise à notre EpicOut adoré ! ).
Pour commencer, il vaut mieux un beau schéma qu'un long discours. Voici donc ma topologie réseau (routeur0 est aussi un PC sous linux !) Le réseau du PC1 en 192.168.2.0/24 est relié via l'interface eth0 du "routeur" Le réseau du PC2 en 192.168.1.0/24 est relié via l'interface eth1 du "routeur" Or, j'aimerai que PC1 puisse voir le PC2 mais que le PC2 ne puisse pas voir le PC1. C'est-à -dire bloquer toutes les connexions venant de PC2 tout en laissant les connexions déjà établies bien entendu. J'avais donc pensé à faire cela : Code BASH :
Mais j'ai un doute quant au fonctionnement de mes règles avec l'option -o eth1 ... De plus, j'suis pas sûr d'avoir mis les règles dans l'ordre, sachant que l'iptables fait du FirstAs pour le matching. Edit: Je m'auto réponds un peu Code BASH :
|
|
08-04-2013, 22h25
(Modification du message : 08-04-2013, 22h27 par gruik.)
Message : #2
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: IPTABLES / Sécurité
je pense pas que "-P INPUT -o eth1" passe, avec un "-I INPUT" ca marchera sans doute mieux
sinon tu peux simplement ne pas router cette interface : Code BASH :
echo 0 > /proc/sys/net/ipv{4,6}/conf/eth1/forwarding edit: au temps pour moi, effectivement "INPUT" et "-o" ca va pas ensemble la seconde remarque reste valable... |
|
08-04-2013, 22h44
(Modification du message : 08-04-2013, 22h45 par b0fh.)
Message : #3
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: IPTABLES / Sécurité
l'option -P règle la policy pour une chaine, c'est à dire la cible qui sera appliquée si aucune règle ne correspond. Le -o ajoute une condition a une règle, donc la combinaison des deux n'a pas de sens.
Comme le dit gruik, -o ne fonctionne que sur les chaines en sortie (FORWARD, OUTPUT et POSTROUTING) et -i ne fonctionne que sur les chaines en entrée (FORWARD, INPUT et PREROUTING). Couper le forwarding pour une interface ne fera pas ce que tu veux, le traffic dans une direction sera coupé et tcp ne fonctionnera pas correctement ni dans un sens ni dans l'autre. Sur ce superbe schema (et sur cette version simplifiée)tu peux voir la position des différentes chaines dans le processus. Les chaines INPUT et OUTPUT ne concernent que le traffic ayant pour source ou pour destination la machine locale; dans ton cas c'est uniquement FORWARD qui te concerne. Tu veux donc un truc du genre: Code : iptables -A FORWARD -m state --state established,related -j ACCEPT # accepter les connexions déja établies Ce qui autorise les connexions de pc1 à pc2 mais pas dans l'autre sens. (après, je ne sais pas si ça correspond à ta définition de "voir") |
|
08-04-2013, 22h55
Message : #4
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: IPTABLES / Sécurité
huhu effectivement s'agissait pas de couper le routage, c'est ça de pas lire l'énnoncé dsl
|
|
08-04-2013, 23h52
Message : #5
|
|
notfound
#!/usr/bin/env bash Messages : 687 Sujets : 47 Points: 271 Inscription : Sep 2012 |
RE: IPTABLES / Sécurité
b0fh & gruik, tout d'abord merci à vous deux !
@gruik: pas de souci, l'erreur c'est normal @b0fh c'est exactement ça que je voulais ! |
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)