Installation passerelle Linux avec virtualisation XEN

Bonsoir,

Juste un p’tit mot pour vous faire partager la page que je viens de mettre en ligne :
Passerelle sécurisée Linux

Le concept est simple, euh enfin… un peu geek, bon peut être un peu compliqué… c’est comment mettre en place un pare-feu Linux à l’entrée de son réseau domestique mais un pare-feu un peu plus sécurisé que simplement une machine qui partage la connexion Internet.

Eh bien pour cela, on virtualise des machines avec XEN dont un pare-feu qui va gérer l’ensemble des flux entre les autres machines.

Bref, je vous invite à jeter un oeil, à critiquer… J’ai aussi une autre page sur mon ancienne architecture avec une autre distribution, pour comparaison…

Bonne lecture :wink:

Raum

ps: je dois changer la politique de sécurité, en fait je vais migrer le dns en publique… donc je dois refaire les premières pages, évolution à prévoir prochainement.

edit: la page est pas finie… il manque une partie qui est presque prête comme l’instanciation de la machine interne où j’utilise Firewall Builder pour gérer les règles du pare feu…

merci

Une question, dans un système comme celui là, si un DoS a lieu sur une des machines virtuelles (écroulement par requêtes par exemple), l’ensemble des machines virtuelles s’écroulent, non?

Je t’invite à lire la page suivante :
http://www.lri.fr/~quetier/vgrid/

Sur ma machine, je n’utilise pas le VServer mais Xen, donc paravirtualisation.

L’ensemble des ressources sont isolées entre chaque machine et le domaine hébergeur possède le niveau de privilège le plus élevé, de fait une machine qui prend un déni de service, à mon avis, ne bloque pas le Domaine 0 et donc le reste des machines virtuelles.

Par contre, cela me fait penser que je devrais peut être créer une autre machine spécifiquement pour la résolution DNS ou laisser le DNS en privé… :@

C’est le «ne bloque pas» dont je ne suis pas sûr, une machine virtuelle peut elle saturer la RAM de la machine hote et donc écrouler les autres en obligeant un usage massif du swap?

En fait ce que tu pourrais faire serait de développer une machine «piège» présentant un service bidon accessible de l’extérieur et présentant une faille: exemple, tu prends un serveur ssh avec un port knocking: sans la séquence d’entrée, le serveur est routée sur cette machine laquelle à un compte «login: alfred / passwd: derfla» ou équivalent. Avec la séquence d’entrée, le flux ssh est routé sur le vrai serveur. Une machine surveille les flux sur la machine appat ce qui permet de repérer et de tracer ce que fait le pirate (le vrai) sans qu’il sans doute. Souviens toi des 7 samourais: Une bonne forteresse présente toujours une faiblesse, cela permet de savoir où il faut surveiller.

Non plus… en fait, on alloue une quantité de mémoire, on peut définir une partition swap spécifique à chaque machine virtuelle, en l’occurrence je n’en ai pas définie pour mes machines car je suis parti du principe que je ferais tourner peu de services par machine donc pas besoin de swap.

Et sinon le but n’est pas de faire un honey pot, je ne présente pas de service SSH à l’extérieur car ce n’est pas utile et cela n’apporte rien… je ne présente QUE des services utiles qui sont translatés vers la machine publique… Effectivement, j’ai vu les 7 samourais, malgré les 5h :wink:

Les services qui sont sur la machine publique ne comportent effectivement AUCUNE donnée sensible et la virtualisation me permet de créer une sauvegarde que je pourrais restaurer en 5 minutes.

Par contre, tu mets le doigt sur une chose que je n’ai pas encore pris le temps de mettre en place mais qui est sur ma road map, c’est, peut être via le lan d’exploitation qui n’est pas mis en oeuvre, réaliser des audits réguliers pour déterminer l’état des machines… s’il y a eu attaque ou pas.

Le véritable bastion, c’est la machine qui gère le pare-feu, c’est lui qui doit être inviolable… la machine publie est une zone non sûre, je n’assure pas sa sécurité et les services ne sont pas garantis. La zone privée est une zone plus sûre mais toujours pas de confiance. La seule zone qui est de confiance est le LAN et la zone ultra sécurisée, c’est le pare-feu.

Quant à l’hôte, il n’a pas d’adresse IP, excepté via le LAN qui est la zone de confiance.

Tu comprends, je définis une politique de sécurité que j’essaie d’appliquer en fonction de services que je veux mettre en place sur ma passerelle. Or je ne veux pas mettre de SSH accessible depuis l’Internet sur ma machine publique. Et si je devais mettre en place un accès à la passerelle, ce qui est prévu, ce serait plus via un VPN SSL avec certificat.

vraiment sympa ton tuto :slightly_smiling:
ça faisait un moment que j’en cherchais un pour me faire une passerelle digne de ce nom avec les services qui vont bien.
juste une petite question cependant (vu que j’y connais pas grand chose en virtualisation ^^) : le fait de virtualiser Passerelle Linux Pare-Feu, Machine Publique et Machine Privée au sein d’une même “machine physique” apporte t’il un gain de sécurité, ou c’est juste pour économiser des bécanes ?
en tout cas dès que j’ai un peu de temps je vais essayer de m’y mettre :slightly_smiling:

Ça apporte un gain…

En fait, tu verras sur ma page, j’ai laissé mon ancien concept de passerelle… c’est ce qui se fait en général. C’est à dire que ta passerelle héberge l’ensemble des services que tu veux mettre à disposition de l’Internet ainsi que sur ton LAN.

Problème, ta passerelle possède deux interfaces, l’une connectée au net et l’autre au LAN… Les services que tu rends disponibles pour ton LAN, il faut que tu les sécurises vis-à-vis de l’Internet.

Ensuite, il faut que tu sécurises les services au niveau applicatif car si un service est compromis, c’est ta passerelle tout entière qui est compromise…

La Virtualisation, c’est pas pareil… en effet, le but est de construire un vrai bastion, la machine pare-feu, qui doit être inviolable. Ensuite, si un service est compromis, alors seule la machine qui gère ce service est compromis… Il n’est pas possible de “démonter” le bastion ou de “remonter” jusqu’au LAN.

Attention, il s’agit surtout d’un “proof of concept” :wink: La politique de sécurité est discutable, j’ai décidé d’une politique assez simple…

C’est une politique professionnelle et le véritable principe de la DMZ:

3 «zones»

  • Le parefeu/passerelle
  • La DMZ
  • Le LAN

Les principes

  • Aucun service sur le parefeu, mais de la surveillance du traffic
  • Seuls des services de la DMZ sont accessibles de l’extérieur
  • Le LAN peut accéder à la DMZ (idéalement, c’est tout)
  • La DMZ peut accéder à l’extérieur (et c’est tout)

L’idée de mettre ça sous forme de machines virtuelles est astucieuse, extérieurement on a un truc béton et c’est sur une seule machine.

Deux questions (je ne connais pas Xen mais je pense que les réponses sont oui):

Y-a-t-il moyen d’écouter le traffic sur les interfaces entre machines virtuelles?
Y-a-t-il possibilité de surveiller les processus d’une machine virtuelle au niveau de l’hébregeur (donc de manière invisible pour l’intrus éventuel)?

Il ne resterait qu’à faire ça sur ton système et ça serait nickel.

Mouais …

virtuelle ou réelles, les problématiques de DMZ sont les mêmes. tous les outils de virtualisations proposent maintenant des ‘switchs’ virtuels. permettant de réaliser des DMZ virtuelles ou de relier les serveurs entre eux pour des protocoles qui ne doivent pas transiter sur le LAN.

c’est vrai que avec des VM, il faut bien isoler les machines virtuelles en terme de réseau/RAM/CPU pour que si une VM plante, les autres et surtout le host tiennent le coup. mais pour moi le principal problème de la virtualisation ce sont les I/O sur les disques.

a savoir : est ce que ton pare feu sera aussi efficace pendant que tu vas bourinner comme un malade sur les disques du serveu privé ??

au boulot nous avons des serveurs solides, malgré cela, je n’ai pas plus de débit sur une VM que depuis mon pc avec un hdd sata des plus standards, car elle n’est pas toute seule a faire des I/O. et c’est surtout pour ces histoires d’I/O disque que les serveurs mail et fichiers ne sont pas recommandées sur des VM.

mais sur une machine plus ‘domestique’, c’est la cata.
deux disques sata en raid1 (soft)
vmware server 2.0 , 6 VM (mail, fichiers, lamp, ldap, …)
je viens de faire machine arrière, car les I/O étaient vraiment catastrophiques.
pourtant en vue de virtualiser, j’avais essayé d’acheter du matos assez sympa, mais pour les disques la carte controleur c’est quand même trop cher, donc j’ai fait du raid soft. peut être qu’en utilisant une seule VM par disque physique ça serait mieux, mais forcement plus cher.

donc en terme de perfs, mieux vaut un serveur bien consolidé, que 10 serveurs virtualisés…

et pour le pare feu je garde mon P3 ( acheté chez carrouf il y a à peine 10 ans toutes les pièces d’origine)

Alors oui et non ThomLec…

Oui sur le principe des I/Os, tu as tout à fait raison… mais le but de ce concept n’est pas de faire tourner une usine à services lourds et consommateurs en I/O justement. Le but est d’offrir une passerelle de partage Internet sécurisée et qui puisse offrir d’autres services “légers” pour une utilisation “at home”.

Je préfère avoir cet “engin”, ce prototype :slightly_smiling:, au lieu d’un pare-feu en tête de réseau sur lequel on fait tourner un SSH… voire d’autres services.

Tout est discutable mais il faut bien voir cela plus comme une “appliance sécu” avec une architecture sécurisée dont les services doivent être le plus léger possible… Il ne s’agit pas d’un “serveur destiné à une forte charge” mais d’une passerelle de partage Internet… Maintenant il faut voir les services qu’on veut y faire tourner.

Il faut que j’avance sur les services hébergés pour voir si, effectivement, la passerelle tiendra ou pas… genre service HTTP avec une base de données… et là, on aura deux DMZs qui discuteront… Mais a priori, je ferais en sorte que mon serveur HTTP limite ses I/O… du coup, la base de données devraient répondre correctement. Ensuite, on verra lors d’un transfert de fichiers ce que cela donne.

merci à vous pour toutes ces précisions :slightly_smiling:
j’essaie de tester tout ça dès que j’aurai un peu de temps, et surtout une bonne dose de courage :mrgreen:

Bonjour,

est ce que ce début de tuto est toujours d’actualité ou est il obsolète ?

Je me suis mis à xen à mes heures perdues depuis 2-3 petites semaines et j’avoue être assez séduit mais tout les posts que je trouve sont assez “vieux”

Je voudrais partir du travail de Baum pour me faire un NAS “sécurisé” en raid 5 et donc je voulais savoir si j’allais perde mon temps ou pas avec une telle architecture…

D’avance merci
Akhlan

[quote=“akhlan”]Bonjour,

est ce que ce début de tuto est toujours d’actualité ou est il obsolète ?

Je me suis mis à xen à mes heures perdues depuis 2-3 petites semaines et j’avoue être assez séduit mais tout les posts que je trouve sont assez “vieux”

Je voudrais partir du travail de Baum pour me faire un NAS “sécurisé” en raid 5 et donc je voulais savoir si j’allais perde mon temps ou pas avec une telle architecture…

D’avance merci
Akhlan[/quote]

C’est une bonne base mais tout ou presque est à revoir en détail, la version de xen par exemple n’est plus trois.
De plus je préconise de passé ton DOM 0 (surtout si il n’est pas accessible depuis l’extérieur en sid de manière à récupérer les dernières version des outils XEN).

Je me casse les dents actuellement sur Openstack par manque de temps pour finaliser un tutoriel complet de xen :confused:

je ne suis pas trop chaud pour mettre une Debian “Unstable”…

Cette exercice “XEN” a aussi pour but de me remettre dans le bain Linux/Unix, on a un gros parc sous ces OS au taf et j’avoue, après 10-12 ans de Windows, j’ai besoin d’exercice ^^

A la base je partais pour m’acheter un Syno tout fait mais un collègue m’a convaincu de monter mon propre NAS et j’avoue que ça me plait (même si c’est pas gagné d’avance :wink: )

[quote=“akhlan”]je ne suis pas trop chaud pour mettre une Debian “Unstable”…

Cette exercice “XEN” a aussi pour but de me remettre dans le bain Linux/Unix, on a un gros parc sous ces OS au taf et j’avoue, après 10-12 ans de Windows, j’ai besoin d’exercice ^^

A la base je partais pour m’acheter un Syno tout fait mais un collègue m’a convaincu de monter mon propre NAS et j’avoue que ça me plait (même si c’est pas gagné d’avance :wink: )[/quote]

Le dom 0 si il n’a pas de connexion avec le monde extérieur ça ne risque rien.

Toujours est-il quel tutoriel est à revoir sur certains points comme la création des VPS.
A adapter à tes besoin concernant la gestion réseau.
et pour ce qui est de monter un NAS chez toi il n’y a nullement besoin d’un XEN, à la limite regarde du côté de freenas pour du tout cuit ou sinon c’est une Debian avec du rssh et tout ce qu’il faut dérrière.

Hello

Cela fait un bail que je ne suis pas passé… par rapport à ma page, effectivement faut que je la mette un peu à jour (le problème c’est que je n’ai qu’une seule machine pour le faire donc perte de connexion internet pour toute la famille).

Depuis j’ai notamment expérimenté KVM mais j’ai eu un problème de performance par rapport au réseau… et j’ai pas su résoudre… mais dans l’ensemble j’ai bien aimé. Je ferai peut être un topo à ce propos :wink: