GNT sans publicité, site mobile, fonctionnalitées exclusives...

bridge + iptables

Le
Pascal
Soit un serveur kvm configuré de la sorte
auto eth0
iface eth0 manual
auto br0
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 2
bridge_maxwait 3

je souhaite restreindre l'accès, via iptable, à cette machine aussi bien
au niveau de l'hôte que des différentes machines virtuelles.
comment dois-je m'y prendre ?
j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives.
La question que je me pose, est : en mettant des règles sur br0, ne
vais-je pas bloquer l'accès à mes vm par la même occasion ?

merci pour vos réponses
Lire les 14 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric Belhomme
Le #23354951
Le Wed, 11 May 2011 18:19:44 +0200, Pascal a écrit :

Soit un serveur kvm configuré de la sorte auto eth0
iface eth0 manual
auto br0
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 2
bridge_maxwait 3

je souhaite restreindre l'accès, via iptable, à cette machine aussi bien
au niveau de l'hôte que des différentes machines virtuelles. comment
dois-je m'y prendre ?
j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives. La question que
je me pose, est : en mettant des règles sur br0, ne vais-je pas bloquer
l'accès à mes vm par la même occasion ?



Si tu veux juste bloquer l'accès à la machine sur laquelle est configurée
le pont, alors c'est cette interface là qu'il faut bloquer :

iptables -p INPUT DROP
iptables -p -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -p INPUT -i lo -j ACCEPT
iptables -p INPUT -i br0 -p tcp --dport 22 -m state --state NEW -j ACCEPT

Avec ceci, tous les paquets entrant sont droppés, sauf si il s'agit de
connexions déjà établies, ou sur l'interface de loopback, ou enfin que
c'est une connexion entrante sur le serveur ssh (port 22)

--
Rico
Je réponds ordinairement a ceux qui me demandent raison de mes voyages :
que je sais bien ce que je fuis, mais non ce que je cherche.
-+- Michel de Montaigne, Essais -+-
Pascal
Le #23355461
Le 12/05/2011 16:57, Eric Belhomme a écrit :
Le Wed, 11 May 2011 18:19:44 +0200, Pascal a écrit :

Soit un serveur kvm configuré de la sorte auto eth0
iface eth0 manual
auto br0
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 2
bridge_maxwait 3

je souhaite restreindre l'accès, via iptable, à cette machine aussi bien
au niveau de l'hôte que des différentes machines virtuelles. comment
dois-je m'y prendre ?
j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives. La question que
je me pose, est : en mettant des règles sur br0, ne vais-je pas bloquer
l'accès à mes vm par la même occasion ?



Si tu veux juste bloquer l'accès à la machine sur laquelle est configurée
le pont, alors c'est cette interface là qu'il faut bloquer :

iptables -p INPUT DROP
iptables -p -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -p INPUT -i lo -j ACCEPT
iptables -p INPUT -i br0 -p tcp --dport 22 -m state --state NEW -j ACCEPT

Avec ceci, tous les paquets entrant sont droppés, sauf si il s'agit de
connexions déjà établies, ou sur l'interface de loopback, ou enfin que
c'est une connexion entrante sur le serveur ssh (port 22)



du coup sur cette machine physique je n'autorise que le ssh.
Maintenant sur une machine virtuelle son interface ethx mappée sur le
bridge sera t'elle impactée ?

merci pour ta réponse
Pascal Hambourg
Le #23356121
Salut,

Pascal a écrit :

j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives. La question que
je me pose, est : en mettant des règles sur br0, ne vais-je pas bloquer
l'accès à mes vm par la même occasion ?







Ça dépend.
Si /proc/sys/net/bridge/bridge-nf-call-iptables=1 (valeur par défaut
hélas, source de nombreux problèmes), alors les paquets IPv4 pontés
(traversant un pont) traversent les chaînes PREROUTING, FORWARD et
POSTROUTING d'iptables ainsi que le suivi de connexion de netfilter
comme s'ils étaient routés. Et dans ce cas, ça dépend bien sûr aussi des
règles iptables mises en place. Celles suggérées par Eric ne concernent
que les paquets à destination de l'hôte (chaîne INPUT), pas ceux qui
sont pontés entre l'extérieur (eth0) et une machine virtuelle ou entre
deux machines virtuelles.

Si /proc/sys/net/bridge/bridge-nf-call-iptables=0, alors les paquets
IPv4 pontés sont ignorés par iptables et le suivi de connexion.

Maintenant sur une machine virtuelle son interface ethx mappée sur le
bridge sera t'elle impactée ?



Le seul trafic d'une machine virtuelle impacté sera celui à destination
de l'hôte puisqu'il traversera la chaîne INPUT de l'hôte.
Pascal
Le #23356751
-------- Message original --------

Salut,

Pascal a écrit :

j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives. La question que
je me pose, est : en mettant des règles sur br0, ne vais-je pas bloquer
l'accès à mes vm par la même occasion ?







Ça dépend.
Si /proc/sys/net/bridge/bridge-nf-call-iptables=1 (valeur par défaut
hélas, source de nombreux problèmes), alors les paquets IPv4 pontés
(traversant un pont) traversent les chaînes PREROUTING, FORWARD et
POSTROUTING d'iptables ainsi que le suivi de connexion de netfilter
comme s'ils étaient routés. Et dans ce cas, ça dépend bien sûr aussi des
règles iptables mises en place. Celles suggérées par Eric ne concernent
que les paquets à destination de l'hôte (chaîne INPUT), pas ceux qui
sont pontés entre l'extérieur (eth0) et une machine virtuelle ou entre
deux machines virtuelles.

Si /proc/sys/net/bridge/bridge-nf-call-iptables=0, alors les paquets
IPv4 pontés sont ignorés par iptables et le suivi de connexion.

Maintenant sur une machine virtuelle son interface ethx mappée sur le
bridge sera t'elle impactée ?



Le seul trafic d'une machine virtuelle impacté sera celui à destination
de l'hôte puisqu'il traversera la chaîne INPUT de l'hôte.



Donc pour ma config j'ai tout intéret à mettre
"/proc/sys/net/bridge/bridge-nf-call-iptables=0", du coup j'applique une règle
sur br0 pour l'hôte restreignant ainsi l'accés à celui-ci uniquement en ssh
depuis mon poste.

Ensuite j'applique les règles que je veux sur les ethx de mes vm

Le fait de tout interdir sur br0 à part le traffic ssh , ne se répercutera pas
sur mes vm

Merci pour votre aide
Pascal
Le #23357841
-------- Message original --------

Salut,

Pascal a écrit :

j'envisageais de mettre des règles sur br0 pour l'hôte, et ensuite pour
chaques machines virtuelles sur leur ethx respectives. La question que
je me pose, est : en mettant des règles sur br0, ne vais-je pas bloquer
l'accès à mes vm par la même occasion ?







Ça dépend.
Si /proc/sys/net/bridge/bridge-nf-call-iptables=1 (valeur par défaut
hélas, source de nombreux problèmes), alors les paquets IPv4 pontés
(traversant un pont) traversent les chaînes PREROUTING, FORWARD et
POSTROUTING d'iptables ainsi que le suivi de connexion de netfilter
comme s'ils étaient routés. Et dans ce cas, ça dépend bien sûr aussi des
règles iptables mises en place. Celles suggérées par Eric ne concernent
que les paquets à destination de l'hôte (chaîne INPUT), pas ceux qui
sont pontés entre l'extérieur (eth0) et une machine virtuelle ou entre
deux machines virtuelles.

Si /proc/sys/net/bridge/bridge-nf-call-iptables=0, alors les paquets
IPv4 pontés sont ignorés par iptables et le suivi de connexion.

Maintenant sur une machine virtuelle son interface ethx mappée sur le
bridge sera t'elle impactée ?



Le seul trafic d'une machine virtuelle impacté sera celui à destination
de l'hôte puisqu'il traversera la chaîne INPUT de l'hôte.


merci pour ton aide ça marche nikel !!!
j'ai fait les tests avec les deux /proc/sys/net/bridge/bridge-nf-call-iptables=0
et /proc/sys/net/bridge/bridge-nf-call-iptables=1
y'a pas photo !!
merci encore
Publicité
Suivre les réponses
Poster une réponse
Anonyme