Sur le réseau que j'administre actuellement (192.168.2.0/24), je me
trouve avec une passerelle 192.168.1.254
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 ?
Sur le réseau que j'administre actuellement (192.168.2.0/24), je me
trouve avec une passerelle 192.168.1.254
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 ?
Sur le réseau que j'administre actuellement (192.168.2.0/24), je me
trouve avec une passerelle 192.168.1.254
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 ?
L'adresse de la passerelle est en-dehors du sous-réseau. Ça marche, ça ?
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.
L'adresse de la passerelle est en-dehors du sous-réseau. Ça marche, ça ?
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.
L'adresse de la passerelle est en-dehors du sous-réseau. Ça marche, ça ?
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.
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).
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).
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).
Faire un pont transparent avec Linux n'est pas difficile.
Faire un pont transparent avec Linux n'est pas difficile.
Faire un pont transparent avec Linux n'est pas difficile.
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 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 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.
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
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 ?
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
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 ?
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
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 ?
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 offEt à 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.
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.
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 offEt à 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.
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 ?
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 ?
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 ?
> 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 ?
> 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 ?
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 ...
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 ...
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 ...