Protéger une machine réelle derrière une machine virtuelle avec pfsense Je vous présente un petit tutoriel sur la façon d utiliser pfsense au sein de VirtualBox comme passerelle pour votre machine Windows réelle tout en isolant cette dernière du monde extérieur. Les applications de cette méthodes sont diverses et variée allant de la simple expérimentation technologique à la création d une véritable solution de sécurité légère et performante dotée d une interface simple conviviale et efficace! Mais là c est un tout autre sujet et je vous recommande de vous documenter au sujet des possibilités de pfsense! Pour ce faire vous aurez besoin de VirtualBox pour Windows, du CD Live au format ISO ou d une version physique de pfsense ainsi que d une machine Windows (Peu importe la version) Je ne couvrirai pas les étapes non spécifique tels que l installation VirtualBox, comment télécharger et/ou graver une image ISO car ces opération sont des plus triviale si vous posséder un minimum d expérience en informatique. Tout d abords nous allons configurer la machine virtuelle dans VirtualBox en cliquant sur le bouton créer :
Cette action va ouvrir la première fenêtre de dialogue du wizard : Entrer le nom que vous désirez pour votre machine virtuelle et choisissez le système d exploitation comme indiqué ci dessous :
Choisissez la quantité de mémoire, en général 256 mégas suffisent amplement pour ce genre d application :
Créons maintenant un disque virtuelle sur lequel sera installé pfsense choisissez les options tel qu indiquée sur la boite de dialogue ci dessous : Choisissez maintenant le type de format pour le disque virtuel, dans mon cas j ai choisi le format natif de Virtual Box mais rien ne vous empêche d en choisir un autre cela ne devrait en théorie pas poser de problème :
Il faut maintenant choisir si nous allon alouer l espace disque de manière dynamique ou fixe, j ai choisi dynamique pour éviter de prendre de l espace disque pour rien mais me laisser de la marge au cas où... Choisissez l un ou l autre cela n aura pas d influence sur la suite de mon tutoriel : Choisissez l emplacement par défaut pour le disque ou décidez d un autre endroit, cela n a pas d importance. Pour ce qui est de la taille, j ai choisi une taille de 2Go ce qui est énorme pour ce genre d application qui n a besoin que de très peu d espace mais 2Go cela laisse de la marge pour de gros fichiers log ce qui peut être intéressant dans certaines circonstances :
Voilà il n y a plus qu a passer en revue les options que nous avons sélectionnée et cliquer sur Créer Même chose ici, on passe en revue les caractéristiques de la machine virtuelle qui va être créée, il ne vous reste donc qu a cliquer sur Créer
Vous devriez obtenir ce genre de fenêtre une fois la configuration terminée Maintenant nous allons configurer plus en profondeur notre machine car pfsense est un firewall et il a donc besoin de deux interface réseau pour fonctionner correctement
La première carte sera configurée en mode pont et non en NAT tel qu elle est définie par défaut, allez dans les options avancée et notez l adresse MAC de cette interface réseau cela nous servira plus tard pour identifié le coté LAN et le coté WAN. Dans le cas présent, c est la carte 1 qui sera notre coté WAN Maintenant activons la deuxième carte réseau et connectons là avec le réseau privé hôte allez dans les paramètres avancé et prenez note de l adresse MAC de cette interface réseau qui sera notre coté LAN :
Il est temps maintenant de sélectionner l image ISO du CD Live de pfsense : Cliquez sur la petite icone CD présente dans la section attributs du lecteur virtuel de CD :
Choisissez le fichier ISO présent sur votre disque dur : Vous devriez maintenant obtenir ce genre de boite de dialogue indiquant bien que le CD a été monté :
Il est maintenant temps de démarrer notre machine virtuelle pour la première fois : Le premier écran sera celui ci dessous et là deux options s offrent à vous attendre ou choisir l option 1 ou encore appuyer sur Enter pour démarrer pfsense :
Vous arrivez au deuxième écran, attention ce dernier ne reste pas longtemps visible alors appuyez sur I rapidement afin de lancer la procédure d installation : Une bonne idée est de changé le type de clavier afin de le paramétrer tel que le votre :
Dans mon cas, je choisi le clavier BE avec touches accentuée mais libre à vous de choisir celui qui correspond à votre configuration Accepter les changements :
Vous arrivez sur l écran de sélection du type d installation, inutile ici de se compliqué la vie surtout si vous n êtes pas familier à FreeBSD : Un petit message vous averti ensuite du grand danger d écraser votre disque virtuel qui est de toute façon vierge à ce stade, validez donc en appuyant sur ok :
L installation va se lancer, cette dernière est extrêment rapide : Maintenant il faut choisir le type de Kernel le mieux est la version Standard, l autre permet et oblige l utilisation d un port console pour accéder au système :
Voilà l installation est terminée attention ne rebooter pas tout de suite! Démonter d abord votre ISO :
Vous recevrez un message d erreur, forcer alors le démontage : Maintenant vous pouvez redémarer en tout tranquilité :
Ciel que ce passe t il le système me met plein de ligne d erreur... C est normal il ne trouve plus son CD mais pa d inquiétude! Il vous suffira de fermer votre machine virtuelle :
Et ensuite de selectionner l option éteindre façon barbare : Voilà votre machine est éteinte il n y a plus qu a la relancer :
Le premier écran de démarrage apparait dans ce cas, soit vous attendez soit vous poussez sur F1 : Même chose à faire que la fois passée devant ce menu, attendre ou selectionner 1 ou appuyez sur Enter :
La première question que l on vous pose c est de savoir si vous voulez configurer des VLAN s, à priori vous ne devriez pas devoir gérer cela dans votre réseau domestique répondez donc non à moins de savoir ce que vous faites. Il faut maintenant selectionner l interface WAN, pour ce faire rien de plus simple puisque nous avions précédement pris note des adresses MAC respective et dans ce cas il s agit de l interface em0
Après le WAN au tour du LAN, sans surprise ici nous choisirons la seconde interface em1 Il est possible d ajouter des interfaces supplémentaires mais dans le cadre de ce tutoriel cela n a aucune utilité particulière, appuyons donc sur Enter
Notre assignation des interface LAN et WAN est maintenant terminée, et il ne reste plus qu a valider nos choix! Vous arrivez maintenant sur le menu principal du mode console comme vous le constatez, les interfaces WAN et LAN se trouvent dans le même range! Le range de la partie WAN est correcte puisqu elle recoit bien une adresse DHCP en provenance de mon modem/routeur mais celui du LAN est encore dans le range par défaut, de plus, il y a un serveur DHCP qui tourne sur cette interface Nous allons donc modifier tout cela!
La première étape sera d identifié le range IP du réseau privé hôte, ce dernier est aléatoire suivant votre installation de VirtualBox. Pour vérifier ces paramètre rendons nous dans les paramètres généraux de VirtualBox : Dans la rubrique réseau, nous retrouvons notre interface virtuelle, il va juste falloir cliquer sur le petit tournevis pour accéder au menu de configuration de cette dernière :
Comme on peut le voir dans mon cas le range IP est 192.168.56/24 Dans le deuxième onglet on peut constaté qu un serveur DHCP tourne ce qui nous fait deux serveur DHCP du coté LAN ce qui fait un de trop! Dans mon cas je choisi de garder le serveur DHCP de VirtualBox et de désactivé celui de pfsense, libre à vous de faire l inverse.
Une fois le range connu il faut allé modifier les paramètre de votre interface privée hôte en adéquation avec votre configuration. Notez qu il est théoriquement possible de choisir sont propre range mais je ne peux le garantir et à des fin didactiques je préfère m en tenir à un exemple qui fonctionne et qui a été testé!
Allez dans les paramètres de votre interface selectionner le protocol TCP/IP v4 et cliquez sur propriétés afin de modifié les paramètre comme indiqué, une adresse IP, un masque, une passerelle par défaut et un DNS (pfsense est de base configuré en DNS forwarder donc c est lui qui nous servira de DNS) Il ne nous reste plus qu a configurer l interface LAN de pfsense (option 2)
Fort simplement on choisir sans hésitation l option 2 afin de configurer l interface LAN Comme de bien entendu nous choisirons l adresse 192.168.56.1 que nous avons déjà configurée au niveau de l interface réseau virtuel en tant que passerelle par défaut et serveur DNS
Choisission maintenant le nombre de bit du masque de sous réseau qui sera un réseau avec un masque de 24bits Désactivons maintenant le serveur DHCP afin d éviter les conflits entre les deux serveur. On aurait pu comme je l ai déjà dis inverser les rôles entre l interface hôte virtuelle et l interface LAN de pfsense ou même désactiver le serveur des deux cotés, cela est une question de choix et de besoins
Après la désactivation du DHCP, pfsense vous propose d utiliser l http au lieu de l https pour accéder à l interface web de gestion de pfsense. Libre à vous de répondre oui ou non dans ce cas j ai choisi non Il n y a plus qu a presser Enter pour retourner au menu principal, notez au passage que l adresse de l interface web de gestion est affichée.
Si tout c est bien déroulé, en naviguant vers l adresse précédement citée et ce en https vous devriez obtenir cette fenêtre Si vous avez passer le message d avertissement ou que vous vous êtes connecté en http alors vous arriverez devant une fenêtre de login. Le login est admin et le password est pfsense
Lors du premier login vous êtes accueilli par un wizard vous permettant de finaliser la configuration de pfsense Un nom d hôte, une nom de domaine et surtout des DNS! J ai choisi ceux de Google mais libre à vous de choisir ceux d OpenDNS ou ceux de votre ISP(FAI)!
Ensuite il faut configurer le serveur de temps, là encore c est à vous de choisir, dans mon cas je garde celui fourni par défaut La page suivante possède une foule d options diverse que nous ne traiterons pas sauf les deux dernières qui concerne les réseaux privé et les réseau bogon. Comme notre WAN se trouve dans un réseau privé il est important de désactivé ces deux fonctions sinon le traffique du coté WAN sera automatiquement bloqué et répertorié comme invalide!
La page suivante ne nous servira à rien puisque l adresse IP coté LAN est déjà correcte Changer maintenant le password admin
Cliquer simplement sur Reload afin de recharger l ensemble de la configuration de pfsense Soyez patient cela peut prendre jusqu a une minute!
Félicitation votre pfsense est maintenant configuré de façon minimale, il agit maintenant en tant que firewall qui bloque toutes les connections venant du WAN et ne permet que celle ayant été établie à partir du LAN de rentrer. Bien entendu pfsense fait dans ce cas du PAT et non pas du routing Il ne nous reste plus qu une étape, rendre impossible toute communication TCP/IP entre votre machine réelle et votre réseau privé et obliger cette dernière à passer par pfsense. Comment faire? for simple allez dans les propriété de votre carte réseau physique
Désactivé les protocoles TCP/IP v4 et TCP/IP v6. Comme vous le voyez dans la liste des service et protocoles de connexion il y a un service nommé VirtuaBox Bridged Network Driver et c est par lui que passeront les packet TCP/IP tandis que votre machine physique sera totalement isolée du réseau! Lors de la désactivation des protocoles TCP/IP v4 et TCP/IP v6 Windows vous avertira du fait qu il faille désactiver le partage de fichier et d imprimante, répondez oui car cette fonctionnalité se fera désormais au travers de votre interface virtuelle!
Testez maintenant votre configuration en naviguant vers un site pris au hasard et voilà le tour est joué, votre machine physique se trouve maintenant cachée derrière une machine qu elle héberge elle même... C est presque métaphysique ; ) Il nous reste une ultime opération à réaliser qui est de faire démarrer notre machine virtuelle au démarrage de la session windows (il vous est possible de généraliser tout cela à tous les utilisateurs ou même d aller plus loin et d écrire votre propre script powershell mais çà c est une autre histoire et mon but n est pas de faire compliqué! Keep things fucking simple! Faites un clic droit sur votre machine virtuelle et choisissez l option créer un raccourci sur le bureau :
Déplacez maintenant le raccourcis créé dans %appdata%\microsoft\windows\start Menu\Programs\Startup (Windows 7) Modifier les privilèges d exécution et voilà pfsense démarrera à l ouverture de votre session! Cette configuration est très basique et c est maintenant que le gros du travail va devoir être réalisé, à savoir, la configuration de pfsense au niveau du Firewall. pfsense est un outil puissant et il y a moyen d aller très loin dans sa configuration et ce n est pas qu un firewall puisqu il est de niveau layer 7 dans le modèle OSI et qu il peut exécuter bon nombres de tâche tels que les réseaux VPN, les liens IPSec et bien d autres services encore! avalon zone.org