Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Deux passerelles ?

22 réponses
Avatar
Jérémie
Bonjour,

Sur le réseau que j'administre actuellement (192.168.2.0/24), je me
trouve avec une passerelle 192.168.1.254 qui est en fait un routeur
prenant en charge 8 connexions ADSL et 8 ports.

Nous assistons depuis peu à des attaques réseaux que nous n'arrivons pas
bien à déterminer.

Mon idée : mettre en place une seconde passerelle sous forme de machine
linux avec deux cartes réseau :
eth0 <> LAN (dont l'IP sera 192.168.1.254)
eth1 <> Routeur (dont l'IP deviendra 253)
et de donner des règles iptables pour transférer en auto les paquets de
eth0 vers le routeur (eth0 > eth1) afin de pouvoir continuer à avoir le
traffic entrant et sortant mais passant obligatoirement vers la nouvelle
machine, qui pourra scruter le réseau.

Est-ce une bonne idée selon vous ?

Jérémie

10 réponses

1 2 3
Avatar
Pascal Hambourg
Salut,

Jérémie a écrit :

Sur le réseau que j'administre actuellement (192.168.2.0/24), je me
trouve avec une passerelle 192.168.1.254



L'adresse de la passerelle est en-dehors du sous-réseau. Ça marche, ça ?

Nous assistons depuis peu à des attaques réseaux que nous n'arrivons pas
bien à déterminer.

Mon idée : mettre en place une seconde passerelle sous forme de machine
linux avec deux cartes réseau :
eth0 <> LAN (dont l'IP sera 192.168.1.254)
eth1 <> Routeur (dont l'IP deviendra 253)
et de donner des règles iptables pour transférer en auto les paquets de
eth0 vers le routeur (eth0 > eth1) afin de pouvoir continuer à avoir le
traffic entrant et sortant mais passant obligatoirement vers la nouvelle
machine, qui pourra scruter le réseau.

Est-ce une bonne idée selon vous ?



Après avoir lu ça je ne peux plus penser, j'ai trop mal au crâne.
Si le but est de pouvoir capturer le trafic entre le routeur et le LAN,
le plus simple serait d'intercaler une machine fonctionnant en pont
transparent (à défaut de pouvoir configurer un port du switch en
mirroring). Ainsi pas besoin de créer un sous-réseau IP distinct ni de
renuméroter des interfaces, de modifier des routes, etc. ou d'avoir
recours à des horreurs du style proxy ARP ou deux interfaces dans le
même sous-réseau.
Avatar
Jérémie
Pascal Hambourg a écrit :

L'adresse de la passerelle est en-dehors du sous-réseau. Ça marche, ça ?


Pardon, c'est une faute de frappe la passerelle est en 192.168.2.254.

Après avoir lu ça je ne peux plus penser, j'ai trop mal au crâne.
Si le but est de pouvoir capturer le trafic entre le routeur et le LAN,
le plus simple serait d'intercaler une machine fonctionnant en pont
transparent (à défaut de pouvoir configurer un port du switch en
mirroring). Ainsi pas besoin de créer un sous-réseau IP distinct ni de
renuméroter des interfaces, de modifier des routes, etc. ou d'avoir
recours à des horreurs du style proxy ARP ou deux interfaces dans le
même sous-réseau.



Avec cette nouvelle info, aurais-tu une idée ?
j'ai pensé intercaler une machine où j'aurai activé l'ip_forwarding, et
j'aurai permis via iptables le routage entre le routeur et le LAN mais
j'ai peur pour le routage vers l'extérieur et de l'extérieur vers
l'intérieur (services hébergés en interne).

Merci de ton aide.

Jérémie
Avatar
Pascal Hambourg
Jérémie a écrit :
Pascal Hambourg a écrit :

Si le but est de pouvoir capturer le trafic entre le routeur et le
LAN, le plus simple serait d'intercaler une machine fonctionnant en
pont transparent (à défaut de pouvoir configurer un port du switch en
mirroring). Ainsi pas besoin de créer un sous-réseau IP distinct ni de
renuméroter des interfaces, de modifier des routes, etc. ou d'avoir
recours à des horreurs du style proxy ARP ou deux interfaces dans le
même sous-réseau.



Avec cette nouvelle info, aurais-tu une idée ?
j'ai pensé intercaler une machine où j'aurai activé l'ip_forwarding, et
j'aurai permis via iptables le routage entre le routeur et le LAN mais
j'ai peur pour le routage vers l'extérieur et de l'extérieur vers
l'intérieur (services hébergés en interne).



Tu as raison d'avoir peur, car intercaler une machine fonctionnant en
routeur IP n'est pas transparent pour le réseau et impose des
modifications parmi celles que j'ai citées. D'où ma suggestion du
pontage qui évite tout cela puisque la machine serait transparente.
Faire un pont transparent avec Linux n'est pas difficile.
Avatar
Jérémie
Pascal Hambourg a écrit :
Faire un pont transparent avec Linux n'est pas difficile.



Aurais-tu un lien dont je pourrais me servir ? Il faut que je puisse
lancer un tcpdump sur environ une journée pour voir ce qui se passe...
Merci d'avance,

Jérémie
Avatar
Jérémie
Pascal Hambourg a écrit :
Tu as raison d'avoir peur, car intercaler une machine fonctionnant en
routeur IP n'est pas transparent pour le réseau et impose des
modifications parmi celles que j'ai citées. D'où ma suggestion du
pontage qui évite tout cela puisque la machine serait transparente.
Faire un pont transparent avec Linux n'est pas difficile.



Tu veux dire faire un truc du genre br0 avec le paquet bridge-utils, et
donc quelque chose qui donnerait (dans le fichier de conf correspondant) :

auto eth0
iface eth0 inet static
address 192.168.2.254
netmask 255.255.255.0
gateway 192.168.2.252

auto eth1
iface eth1 inet static
address 192.168.2.253
gateway 192.168.2.252
netmask 255.255.255.0

auto br0
iface br0 inet static
adress 192.168.2.128
netmask 255.255.255.0
gateway 192.168.2.252
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off

?

Ainsi, tous les clients font leur requête vers .254, lequel renvoie de
manière transparente vers .252 (nouvelle adresse du routeur ADSL) ?
Et à ce moment, il ne manquerait plus qu'un snort ou un tcpdump sur br0 ?
Avatar
Pascal Hambourg
Jérémie a écrit :
Pascal Hambourg a écrit :
D'où ma suggestion du
pontage qui évite tout cela puisque la machine serait transparente.
Faire un pont transparent avec Linux n'est pas difficile.



Tu veux dire faire un truc du genre br0 avec le paquet bridge-utils, et



Oui.

donc quelque chose qui donnerait (dans le fichier de conf correspondant) :

auto eth0
iface eth0 inet static
address 192.168.2.254
netmask 255.255.255.0
gateway 192.168.2.252

auto eth1
iface eth1 inet static
address 192.168.2.253
gateway 192.168.2.252
netmask 255.255.255.0

auto br0
iface br0 inet static
adress 192.168.2.128
netmask 255.255.255.0
gateway 192.168.2.252
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off

?

Ainsi, tous les clients font leur requête vers .254, lequel renvoie de
manière transparente vers .252 (nouvelle adresse du routeur ADSL) ?



Visiblement tu n'as pas compris en quoi consiste le pontage car tu
raisonnes comme si tu faisais du routage. Un pont fonctionne comme un
switch ethernet dont les ports seraient eth0, eth1 et un port connecté
en interne à l'interface br0. Il ne faut pas donner de configuration IP
(adresse, masque, routes) aux ports eth0 et eth1 car bien que la pile IP
puisse toujours envoyer des paquets sur ces interfaces, elle ne peut
plus en recevoir : ils sont interceptés par le pont, ce qui rend
notamment les résolutions ARP impossibles sur ces interfaces. Seule br0
doit avoir une configuration IP dans le fichier interfaces. Elle doit
avoir une configuration IP similaire à celle des autres machines du
réseau, avec une adresse propre. Il n'y a rien à changer sur les autres
machines ni sur le routeur puisque le pont est transparent comme un
switch. Du point de vue IP, la machine est un simple hôte comme les
autres postes avec une seule interface br0 et une adresse, pas un
routeur. L'adresse IP du pont est à considérer comme l'adresse
d'administration d'un switch manageable, ce n'est pas une adresse de
passerelle.

Le fichier interfaces doit ressembler à ceci :

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.2.128 <- adresse du pont pour son administration
netmask 255.255.255.0
gateway 192.168.2.254 <- adresse de la passerelle si besoin
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off

Et à ce moment, il ne manquerait plus qu'un snort ou un tcpdump sur br0 ?



Je ne garantis pas qu'écouter sur br0 permet de voir tout le trafic qui
traverse le pont. Comme sur un switch, écouter sur un port ne permet pas
forcément de voir le trafic qui transite entre d'autres ports. Il se
peut que la mise en mode promiscuous (que fait tcpdump par défaut) de
br0 le permette, mais là encore je ne garantis rien, il faut tester.
Sinon, en faisant écouter tcpdump sur celle de eth0 ou eth1 qui est
connectée au routeur, tu es sûr de voir tout le trafic entre le réseau
et le routeur.
Avatar
Jérémie
Pascal Hambourg a écrit :
Jérémie a écrit :
Pascal Hambourg a écrit :
D'où ma suggestion du pontage qui évite tout cela puisque la machine
serait transparente. Faire un pont transparent avec Linux n'est pas
difficile.



Tu veux dire faire un truc du genre br0 avec le paquet bridge-utils, et



Oui.

donc quelque chose qui donnerait (dans le fichier de conf
correspondant) :

auto eth0
iface eth0 inet static
address 192.168.2.254
netmask 255.255.255.0
gateway 192.168.2.252

auto eth1
iface eth1 inet static
address 192.168.2.253
gateway 192.168.2.252
netmask 255.255.255.0

auto br0
iface br0 inet static
adress 192.168.2.128
netmask 255.255.255.0
gateway 192.168.2.252
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off

?

Ainsi, tous les clients font leur requête vers .254, lequel renvoie de
manière transparente vers .252 (nouvelle adresse du routeur ADSL) ?



Visiblement tu n'as pas compris en quoi consiste le pontage car tu
raisonnes comme si tu faisais du routage. Un pont fonctionne comme un
switch ethernet dont les ports seraient eth0, eth1 et un port connecté
en interne à l'interface br0. Il ne faut pas donner de configuration IP
(adresse, masque, routes) aux ports eth0 et eth1 car bien que la pile IP
puisse toujours envoyer des paquets sur ces interfaces, elle ne peut
plus en recevoir : ils sont interceptés par le pont, ce qui rend
notamment les résolutions ARP impossibles sur ces interfaces. Seule br0
doit avoir une configuration IP dans le fichier interfaces. Elle doit
avoir une configuration IP similaire à celle des autres machines du
réseau, avec une adresse propre. Il n'y a rien à changer sur les autres
machines ni sur le routeur puisque le pont est transparent comme un
switch. Du point de vue IP, la machine est un simple hôte comme les
autres postes avec une seule interface br0 et une adresse, pas un
routeur. L'adresse IP du pont est à considérer comme l'adresse
d'administration d'un switch manageable, ce n'est pas une adresse de
passerelle.

Le fichier interfaces doit ressembler à ceci :

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.2.128 <- adresse du pont pour son administration
netmask 255.255.255.0
gateway 192.168.2.254 <- adresse de la passerelle si besoin
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off

Et à ce moment, il ne manquerait plus qu'un snort ou un tcpdump sur br0 ?



Je ne garantis pas qu'écouter sur br0 permet de voir tout le trafic qui
traverse le pont. Comme sur un switch, écouter sur un port ne permet pas
forcément de voir le trafic qui transite entre d'autres ports. Il se
peut que la mise en mode promiscuous (que fait tcpdump par défaut) de
br0 le permette, mais là encore je ne garantis rien, il faut tester.
Sinon, en faisant écouter tcpdump sur celle de eth0 ou eth1 qui est
connectée au routeur, tu es sûr de voir tout le trafic entre le réseau
et le routeur.



Merci vraiment pour toutes ces indications.
Un dernière question : dans le fichier de conf que tu me donnes, je vois
bien l'adresse 192.168.2.128. Cette adresse est-elle la "passerelle" par
défaut à donner aux postes clients, ou bien je raisonne là aussi en
termes de routage ?

Merci encore

Jérémie
Avatar
GuiGui
Jérémie a écrit :

Le fichier interfaces doit ressembler à ceci :

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.2.128 <- adresse du pont pour son administration
netmask 255.255.255.0
gateway 192.168.2.254 <- adresse de la passerelle si besoin
broadcast 192.168.2.255
bridge_ports eth1 eth0
bridge-ageing 7200
bridge_spt off






Merci vraiment pour toutes ces indications.
Un dernière question : dans le fichier de conf que tu me donnes, je vois
bien l'adresse 192.168.2.128. Cette adresse est-elle la "passerelle" par
défaut à donner aux postes clients, ou bien je raisonne là aussi en
termes de routage ?




Heu... Il me semble que pascal a précisé qu'il ne s'agit pas de la
passerelle. Imagine que ta machine est un switch à deux ports, avec une
IP d'administration : l'IP du switch est-elle une passerelle du réseau
lorsque l'on ne fait pas de routage ?
Avatar
Jérémie
> Heu... Il me semble que pascal a précisé qu'il ne s'agit pas de la
passerelle. Imagine que ta machine est un switch à deux ports, avec une
IP d'administration : l'IP du switch est-elle une passerelle du réseau
lorsque l'on ne fait pas de routage ?


OK j'ai compris :)
Maintenant, il ne me reste plus qu'à m'y mettre.
Par contre je viens de penser à une chose : sur le routeur il y a 4
interfaces, dont une que j'ai prise pour établir mon pontage.
Les 3 autres partent dans un switch qui redistribue tout.
Afin que mon pont remplisse sa fonction de pont, je vais bien devoir
déconnecter les trois autres câbles, sinon je ne récupérerai qu'une
partie du traffic ...
Avatar
Pascal Hambourg
Jérémie a écrit :
Par contre je viens de penser à une chose : sur le routeur il y a 4
interfaces, dont une que j'ai prise pour établir mon pontage.
Les 3 autres partent dans un switch qui redistribue tout.
Afin que mon pont remplisse sa fonction de pont, je vais bien devoir
déconnecter les trois autres câbles, sinon je ne récupérerai qu'une
partie du traffic ...



A quoi correspondent ces interfaces ? Si elles correspondent à des
sous-réseaux distincts (donc à des VLAN distincts sur le switch), alors
les déconnecter coupera la communication entre ces sous-réseaux et le
routeur.
1 2 3