OVH Cloud OVH Cloud

Nat/Firewall/Serveur_Personel

14 réponses
Avatar
Malebe
Bonjour,

Voici le schéma pour un réseau personel:

Routeur<->Int1-PC1:NAT/Firewall/SQUID-Int2<->switch1<->Int3 PC1:SAMBA,CVS,..
<->PC2
<->PC3

Le "defaultroute" de PC3, PC2 et PC1 est PC1-Int2.
PC1 tourne sur un seul OS.

aa]Pensez-vous que cette configuration est aussi securisante (avec les memes
paramètrages) que deux PC pour remplacer PC1?



bb]Mettre deux serveurs virtuels n'est-il pas mieux approprié (Xen)?



Merci de vos réponses,

--
Malebe

10 réponses

1 2
Avatar
Stephane Catteau
Malebe n'était pas loin de dire :

Bonjour,


De même,


Voici le schéma pour un réseau personel:

Routeur<->Int1-PC1:NAT/Firewall/SQUID-Int2<->switch1<->Int3 PC1:SAMBA,CVS,..
<->PC2
<->PC3


Désolé, mais je ne comprends pas ton schéma. Tu as un switch qui relie
deux interfaces de ta passerelle entre-elles et est aussi utilisé pour
connecter les autres machines du LAN ? :-/
Bon, partons du principe que le schéma est en fait ceci :

Wild <- Passerelle -> Serveurs
-> Switch -> PC2
-> PC3
-> etc.

aa]Pensez-vous que cette configuration est aussi securisante (avec les memes
paramètrages) que deux PC pour remplacer PC1?


[Note : Dans ton schéma, "PC1" c'est la passerelle]
Non. Un firewall configuré en bridge ethernet placé devant le machine
faisant le NAT est plus sécurisant, puisque tu as l'assurance que cette
machine ne sera que très très difficilement compromise. Or, comme c'est
d'elle que dépend le filtrage IP, c'est important.
Cependant, en considérant que la question est "est-ce suffisant", et
qu'il s'agit d'un réseau personnel et non d'un réseau professionnel, la
réponse deviendrait "oui".

bb]Mettre deux serveurs virtuels n'est-il pas mieux approprié (Xen)?


Sur le PC1 ? :-/ Quel intérêt ? :-/ A moins que par "PC1", tu ne
veuilles parler de celui qui fait tourner tes serveurs.
Si l'on excepte les services dits "de maintenance" (SSH par exemple),
il est toujours préférable de ne mettre qu'un seul service par machine.
C'est plus sûr et plus facile à administrer. Cependant la problématique
reste la même, bien qu'il existe des modèles bien plus sûr que
celui-ci, il n'en est pas moins suffisant pour des besoins limités.
Par contre, pas de Xen. Faire tourner des machines virtuelles sur un
serveur je trouve cela relativement casse-gueule, sans parler du
l'aspect bouffe-ressource qui ne doit pas être négligeable.


Merci de vos réponses,


De rien.

Maintenant, si tu pouvais expliciter les points obscurs, tu aurais
peut-être d'autres réponses.

Avatar
Malebe
Voici le schéma pour un réseau personel:

Routeur<->Int1-PC1:NAT/Firewall/SQUID-Int2<->switch1<->Int3 PC1:SAMBA,CVS,..
<->PC2
<->PC3
Pour plus d'explications: L'internet arrive sur l'interface 1 (Int1) de PC1.


PC1 assure le "firewall (ipfilter), le Nat (ipnat), squid (squid+squidGuard).
Tous est renvoyé ensuite sur l'interface 2 (int2) de PC1 puis au switch.
De la les 2 autres PC accèdent au net ou aux services qui sont sur PC1 via int3.


Désolé, mais je ne comprends pas ton schéma. Tu as un switch qui relie
deux interfaces de ta passerelle entre-elles et est aussi utilisé pour
connecter les autres machines du LAN ? :-/


L'idée que j'ai essayé d'exprimer est la suivante:
Avec une seule machine (PC1) équipée de plusieurs interface (int1-2-3) de type
ethernet, est-il possible par un savant réglage entre les différentes interfaces
d'assurer un circuit équivalent à une configuration identique sur plusieurs
machines (firewall, un nat et des services divers (pour un usage personnel)
(c'est plus clair ?? :-o)
Je comprends que cela est loin d'etre la solution préconisée, mais qu'es-ce qui
justifie d'avoir trois machines (firewall, nat, serveurs divers)?
(rappel: réseau personnel)

Bon, partons du principe que le schéma est en fait ceci :

Wild <- Passerelle -> Serveurs
-> Switch -> PC2
-> PC3
-> etc.

aa]Pensez-vous que cette configuration est aussi securisante (avec les memes
paramètrages) que deux PC pour remplacer PC1?


[Note : Dans ton schéma, "PC1" c'est la passerelle]
Non. Un firewall configuré en bridge ethernet placé devant le machine
faisant le NAT est plus sécurisant, puisque tu as l'assurance que cette
machine ne sera que très très difficilement compromise. Or, comme c'est
d'elle que dépend le filtrage IP, c'est important.
Cependant, en considérant que la question est "est-ce suffisant", et
qu'il s'agit d'un réseau personnel et non d'un réseau professionnel, la
réponse deviendrait "oui".


ok


bb]Mettre deux serveurs virtuels n'est-il pas mieux approprié (Xen)?


Sur le PC1 ? :-/ Quel intérêt ? :-/ A moins que par "PC1", tu ne
veuilles parler de celui qui fait tourner tes serveurs.
Si l'on excepte les services dits "de maintenance" (SSH par exemple),
il est toujours préférable de ne mettre qu'un seul service par machine.
C'est plus sûr et plus facile à administrer. Cependant la problématique
reste la même, bien qu'il existe des modèles bien plus sûr que
celui-ci, il n'en est pas moins suffisant pour des besoins limités.
Par contre, pas de Xen. Faire tourner des machines virtuelles sur un
serveur je trouve cela relativement casse-gueule, sans parler du
l'aspect bouffe-ressource qui ne doit pas être négligeable.

merci de ton avis



Maintenant, si tu pouvais expliciter les points obscurs, tu aurais
peut-être d'autres réponses.


j'espère avoir été plus clair ...
merci de ta réponse, en attendant la prochaine.

--
Malebe


Avatar
Stephane Catteau
Malebe devait dire quelque chose comme ceci :

[Snip]
Avec une seule machine (PC1) équipée de plusieurs interface (int1-2-3) de
type ethernet, est-il possible par un savant réglage entre les différentes
interfaces d'assurer un circuit équivalent à une configuration identique sur
plusieurs machines (firewall, un nat et des services divers (pour un usage
personnel) (c'est plus clair ?? :-o)


C'est clair, mais c'est non. J'en connais un qui hurlerait, et à juste
titre, s'il était là. Tu as l'impression que cela assure une
équivalence, mais ce n'est qu'une impression. Il n'y a de fait aucune
différence entre les données arrivant sur l'interface 2 et celles
arrivant sur l'interface 3, car elles sont toutes les deux sur le même
sous-réseau ; autrement tu aurais fait mention d'un routeur pour faire
la liaison entre les deux. D'ailleurs, même si le sous-réseau était
différent, je ne suis pas convaincu que cela changerait quelque chose.
Je voudrais pouvoir t'expliquer ton erreur, mais j'ai beau me creuser
la tête, je n'arrive vraiment pas à voir ce qu'une telle configuration
pourrait t'apporter, si ce n'est une sur consommation d'aspirine. Du
coup, je ne sais pas par quel bout prendre la-dite explication.


Je comprends que cela est loin d'etre la solution préconisée, mais qu'es-ce
qui justifie d'avoir trois machines (firewall, nat, serveurs divers)?
(rappel: réseau personnel)


La sécurité et la sérénité.
Bon, je suis mal placé puisque mon serveur NNTP a un temps tourné sur
la passerelle par manque de machine, mais je pense que tu sais déjà que
la machine en bordure de ton réseau, c'est ton assurance anti-piratage.
Il est donc important de s'assurer qu'elle offre le moins de prise
possible à un éventuel attaquant, qu'il vienne de l'extérieur ou qu'il
ait déjà réussi à compromettre une machine sur ton réseau, en y plaçant
un trojan par exemple.
Chaque service que tu lances sur une machine, c'est une prise que tu
offres à ton assaillant, et plus il y en a, plus tu lui facilites la
tâche. Admettons que tu ais un service X qui possède une faille
permettant d'écrire un fichier dans "/tmp". En soit, cette faille est à
considérer comme "modérée" et d'intérêt réduit. Admettons ensuite que
tu ais un service Y qui lui possède une faille permettant d'exécuter un
fichier présent dans le répertoire "/tmp"[1] de la machine qui le fait
tourner. Là aussi, en soit cette faille ne présente pas un grand
intérêt, même si elle est plus dangeureuse que la précédente. Admettons
maintenant que les deux services tournent sur la même machine, que se
passe-t-il ? C'est simple, tu te retrouves avec une faille très
critique, puisque l'attaquant dispose de la possibilité de placer son
fichier *et* de l'exécuter.
Si c'est une machine serveur qui est victime de cette attaque, le
vilain pas beau peut se promener un peu sur ton LAN, ou dans ta DMZ, ça
dépend de l'endroit où se trouve la machine, mais il reste cantonné à
l'intérieur, puisque ton firewall continue à n'autoriser que certaines
connexions entrantes et sortantes.
Par contre, si c'est le firewall qui est compromis de la sorte,
l'attaquant à la possibilité de prendre la main, de contrôler les logs
pour que tu ne remarques pas les traces de sa présence, et de modifier
les autorisations d'entrée/sortie pour qu'il puisse justement entrer et
sortir comme il le souhaite. Bref, ça ou pas de firewall du tout, c'est
la même chose.


Pour aller plus loin et ne pas seulement dire "c'est mal", ce que moi
je te conseille, c'est le basic. Tu as déjà une passerelle/filtrante
qui a trois interfaces, donc tu montes un trois-pattes des plus
simples.
1) Tu as ta passerelle, mais elle ne fait plus que passerelle et
firewall.
2) Tu gardes ton LAN sur l'interface 2
3) Tu places une machine directement derrière l'interface 3 (ou tu
mets un switch entre les deux, c'est toi qui vois), tu configures cette
interface pour qu'elle soit au minimum sur un autre sous-réseau que ton
LAN, et sur la machine tu fais tourner tes serveurs.

Cela ne règlera pas le problème des failles en cascade que j'ai pris
en exemple, mais dans la mesure où la machine fait tourner des serveurs
et est sur un sous-réseau différents, la configuration du filtre IP est
simple :
En sortie sur l'interface 3, ce que tu veux en fonction de tes
serveurs.
En entrée depuis l'interface 3, *rien*. Ce sont des serveurs, sauf à
avoir un serveur FTP, ils n'ont aucune raison d'initier une connexion,
donc le filtre IP ne les laisse pas le faire.

Résultat, si quelqu'un arrive à prendre la main sur ta machine
serveur, et bien il aura le plaisir de se déplacer... sur ta machine
serveur uniquement. Sûr, net et sans trop de bavures, pour un réseau
personnel c'est amha largement suffisant.



[Snip]
j'espère avoir été plus clair ...


Tu l'as été.


merci de ta réponse,


De rien.



[1]
Bon, on oublie un instant que "/tmp" est monté en NOEXEC.

Avatar
Pascal Hambourg
Salut,

Un firewall configuré en bridge ethernet placé devant le machine
faisant le NAT est plus sécurisant, puisque tu as l'assurance que cette
machine ne sera que très très difficilement compromise. Or, comme c'est
d'elle que dépend le filtrage IP, c'est important.


En quoi est-ce significativement plus sécurisant de séparer le filtrage
IP et le NAT sur deux machines différentes ?

Avatar
Pascal Hambourg
Malebe devait dire quelque chose comme ceci :

Avec une seule machine (PC1) équipée de plusieurs interface (int1-2-3) de
type ethernet, est-il possible par un savant réglage entre les différentes
interfaces d'assurer un circuit équivalent à une configuration identique sur
plusieurs machines (firewall, un nat et des services divers (pour un usage
personnel) (c'est plus clair ?? :-o)



C'est clair, mais c'est non. J'en connais un qui hurlerait, et à juste
titre, s'il était là.


Je hurle aussi ;-)
Avoir deux interfaces sur un même lien ethernet peut également poser des
problèmes avec ARP, selon comment c'est géré par l'OS.

[...]
Pour aller plus loin et ne pas seulement dire "c'est mal", ce que moi
je te conseille, c'est le basic. Tu as déjà une passerelle/filtrante
qui a trois interfaces, donc tu montes un trois-pattes des plus
simples.
1) Tu as ta passerelle, mais elle ne fait plus que passerelle et
firewall.
2) Tu gardes ton LAN sur l'interface 2
3) Tu places une machine directement derrière l'interface 3


Une espèce de DMZ sur l'interface 3, en quelque sorte ?
Mais ce n'est utile que si la machine héberge des services accessibles
depuis l'extérieur, à moins d'avoir bien peu confiance en ses propres
machines, non ? Or je vois mal un serveur Samba entrer dans ce cadre.

Quant au proxy Squid, où le mettrais-tu ? Sur la passerelle ou sur une
machine en DMZ ?

en exemple, mais dans la mesure où la machine fait tourner des serveurs
et est sur un sous-réseau différents, la configuration du filtre IP est
simple :
En sortie sur l'interface 3, ce que tu veux en fonction de tes
serveurs.
En entrée depuis l'interface 3, *rien*. Ce sont des serveurs, sauf à
avoir un serveur FTP, ils n'ont aucune raison d'initier une connexion,
donc le filtre IP ne les laisse pas le faire.


Pas sûr qu'avec Samba ce soit aussi simple.
Et si un serveur a besoin de faire des requêtes DNS ?


Avatar
Stephane Catteau
Pascal Hambourg n'était pas loin de dire :

Une espèce de DMZ sur l'interface 3, en quelque sorte ?


Oui.


Mais ce n'est utile que si la machine héberge des services accessibles
depuis l'extérieur, à moins d'avoir bien peu confiance en ses propres
machines, non ? Or je vois mal un serveur Samba entrer dans ce cadre.


Le second serveur dont Malebe a parlé est un serveur CVS, il serait
étonnant que celui-ci ne soit pas ouvert vers l'extérieur. Mais bon, de
toute façon, dans la mesure ou la machine dispose déjà de la troisième
interface, autant l'utiliser tout de suite pour prendre de bonnes
habitudes. De cette façon, s'il n'a pas encore de serveurs ouvert sur
l'extérieur, il sera prêt lorsque l'envie lui prendra d'en mettre un.


Quant au proxy Squid, où le mettrais-tu ? Sur la passerelle ou sur une
machine en DMZ ?


Etant donné qu'amha il est là pour le filtrage et non pour servir de
cache, sa place est sur la passerelle. Bon, il serait mieux sur une
machine à part, mais cela reste un réseau personnel, on ne va pas non
plus multiplier les machines constituant le firewall.


[Snip]
En sortie sur l'interface 3, ce que tu veux en fonction de tes
serveurs.
En entrée depuis l'interface 3, *rien*. Ce sont des serveurs, sauf à
avoir un serveur FTP, ils n'ont aucune raison d'initier une connexion,
donc le filtre IP ne les laisse pas le faire.


Pas sûr qu'avec Samba ce soit aussi simple.


Sais pas. Je n'en ai jamais vu l'intérêt donc, n'étant pas payé pour
la sécurité, je ne m'y suis pas vraiment intéressé.


Et si un serveur a besoin de faire des requêtes DNS ?


Oui, on ne devrait jamais écrire en pleine nuit... J'ai un peu trop
raccourcit, il serait bien aussi d'avoir un acces NTP, et
éventuellement un accès SMTP.
Cela dit, ce sont des requêtes simples à filtrer. Deux serveurs NTP
sont suffisants, même chose pour les requêtes DNS, et il n'y a besoin
que d'un serveur SMTP. Pour pouvoir exploiter l'une de ces portes de
sortie, l'attaquant devra d'abord avoir compromis le serveur qui se
trouve à l'autre bout, ce qui limite grandement leur intérêt.


Avatar
Stephane Catteau
Pascal Hambourg devait dire quelque chose comme ceci :

Un firewall configuré en bridge ethernet placé devant le machine
faisant le NAT est plus sécurisant, puisque tu as l'assurance que cette
machine ne sera que très très difficilement compromise. Or, comme c'est
d'elle que dépend le filtrage IP, c'est important.


En quoi est-ce significativement plus sécurisant de séparer le filtrage
IP et le NAT sur deux machines différentes ?


Ce n'est pas tant le fait de séparer le NAT et le filtrage IP qui
apporte le plus, que le fait de confier le filtrage IP à un bridge
ethernet.
Pour le NAT, tu es obligé de donner une adresse IP au(x) point(s)
d'entrée et au(x) point(s) de sortie de la machine. Celle ci est donc
accessible, tant depuis ton LAN en utilisant son adresse IP, que depuis
l'extérieur en jouant sur le TTL des paquets.
Par contre, un bridge ethernet n'a pas d'adresse IP, et si l'OS sait
gérer tout cela, c'est comme s'il n'existait tout simplement pas. Par
exemple, les paquets passant par le bridge n'auront pas leur TTL
réduite d'une unitée. Placer le filtre IP sur une telle machine est
donc forcément un plus non négligeable en matière de sécurité, car tu
as l'assurance que quoi qu'il arrive à ton réseau, personne ne pourra
jamais modifier les règles de filtrage.


Avatar
Pascal Hambourg
[Tout d'abord mes excuses à Malebe pour pirater ainsi son fil de
discussion. C'est une manie dont je n'arrive pas à me défaire.]


Ce n'est pas tant le fait de séparer le NAT et le filtrage IP qui
apporte le plus, que le fait de confier le filtrage IP à un bridge
ethernet.
Pour le NAT, tu es obligé de donner une adresse IP au(x) point(s)
d'entrée et au(x) point(s) de sortie de la machine.


Je suppose que oui, car faire du NAT sans routage serait quelque peu
acrobatique.

Celle ci est donc
accessible, tant depuis ton LAN en utilisant son adresse IP, que depuis
l'extérieur en jouant sur le TTL des paquets.


D'un côté comme de l'autre, il me semble qu'il suffit de filtrer ce qui
rentre à destination de la machine (qui correspond à la chaîne INPUT
d'iptables par exemple).
Je ne comprends pas ce que vient faire le TTL dans l'accessibilité de la
machine depuis l'extérieur. Un routeur renvoie un ICMP Time Exceeded
quand il reçoit un paquet à router avec un TTL de 1, mais c'est quand
même assez limité comme accessibilité.

Par contre, un bridge ethernet n'a pas d'adresse IP,


Un pont peut avoir une adresse IP, comme un switch administrable.

et si l'OS sait
gérer tout cela, c'est comme s'il n'existait tout simplement pas. Par
exemple, les paquets passant par le bridge n'auront pas leur TTL
réduite d'une unitée.


Le TTL des paquets peut être manipulé par un routeur. S'il l'incrémente
de 1 avant la décision de routage, la machine est invisible au traceroute.

Placer le filtre IP sur une telle machine est
donc forcément un plus non négligeable en matière de sécurité, car tu
as l'assurance que quoi qu'il arrive à ton réseau, personne ne pourra
jamais modifier les règles de filtrage.


Si on bloque le trafic entrant à destination du routeur filtrant, on
arrive au même résultat, non ? Sauf faille dans le code de la pile IP,
mais à ce compte là on peut aussi dire que le pont filtrant serait
sensible à une faille dans le code de pontage ethernet.

Aussi je vois un inconvénient au pont filtrant : s'il n'a pas d'adresse
IP, il ne peut pas faire de REJECT avec envoi d'un ICMP Destination
Unreachable quelconque mais seulement du filtrage "tout ou rien"
ACCEPT/DROP.

Avatar
Malebe

Mais ce n'est utile que si la machine héberge des services accessibles
depuis l'extérieur, à moins d'avoir bien peu confiance en ses propres
machines, non ? Or je vois mal un serveur Samba entrer dans ce cadre.


Le second serveur dont Malebe a parlé est un serveur CVS, il serait
étonnant que celui-ci ne soit pas ouvert vers l'extérieur. Mais bon, de
toute façon, dans la mesure ou la machine dispose déjà de la troisième
interface, autant l'utiliser tout de suite pour prendre de bonnes
habitudes. De cette façon, s'il n'a pas encore de serveurs ouvert sur
l'extérieur, il sera prêt lorsque l'envie lui prendra d'en mettre un.


Les serveurs que je vais mettre en place sont pour mon usage perso sur mon LAN.
(Samba pour centraliser les sauvegardes familiale, Cvs pour mes developpements
perso)
effectivement il me faudra installer un DNS et IMAP.



Quant au proxy Squid, où le mettrais-tu ? Sur la passerelle ou sur une
machine en DMZ ?


Etant donné qu'amha il est là pour le filtrage et non pour servir de
cache, sa place est sur la passerelle. Bon, il serait mieux sur une
machine à part, mais cela reste un réseau personnel, on ne va pas non
plus multiplier les machines constituant le firewall.



Bon après réflexion, voici mon plan d'attaque:
Je vais investir dans une soekris net4801 pour le nat/ipfilter
Je vais peut etre re-investir dans une net4801 pour Squid/squidGuard (pauvres
gamins..)
mais la je me pose la question des 128 Mbyte SDRAM seront-elles suffisantes ???
(ceci dit, je ne vais pas stocker le cache, c'est juste un filtrage de contenu)
Pour le reste j'y vois assez clair.

Merci pour vos réponses éclairantes
(PS: chercher il en reste une à la fin!)

Cordialement

--
Malebe


Avatar
Nicob
On Wed, 03 May 2006 13:45:39 +0000, Stephane Catteau wrote:

Cela dit, ce sont des requêtes simples à filtrer. Deux serveurs NTP
sont suffisants, même chose pour les requêtes DNS, et il n'y a besoin
que d'un serveur SMTP. Pour pouvoir exploiter l'une de ces portes de
sortie, l'attaquant devra d'abord avoir compromis le serveur qui se trouve
à l'autre bout, ce qui limite grandement leur intérêt.


Si j'ai un flux autorisé depuis une machine compromise vers un serveur
SMTP quelconque, je peux considérer que je saurais me faire remonter de
l'info sans hacker le serveur SMTP. En m'envoyant des mails ...


Nicob

1 2