Réseaux et laboratoires · 8 min de lecture

Créer un réseau VirtualBox isolé pour un laboratoire cyber

Configure un réseau interne VirtualBox pour relier deux VM sans accès Internet, vérifier leur isolation et éviter une exposition involontaire.

Réponse directe

Pour isoler deux machines virtuelles VirtualBox du réseau physique et d'Internet, éteins-les, ouvre leurs paramètres réseau, active un adaptateur en mode Réseau interne et donne exactement le même nom de réseau aux deux VM. Configure ensuite des adresses IP privées statiques dans les systèmes invités, sans passerelle ni DNS. Vérifie que les VM communiquent entre elles, mais qu'elles ne peuvent accéder ni à Internet ni au réseau local de l'hôte.

Le mode Réseau interne convient à un laboratoire dans lequel les VM doivent échanger uniquement entre elles. L'isolation disparaît si tu laisses un second adaptateur en NAT, en accès par pont ou en host-only : contrôle donc tous les adaptateurs de chaque VM avant de lancer une cible vulnérable.

Deux machines virtuelles sur un réseau interne sans passerelle vers Internet
Un second adaptateur NAT ou pont annulerait l’isolation attendue.

Niveau et prérequis

Niveau : débutant. Tu dois savoir créer et arrêter une VM, ouvrir ses paramètres et configurer une adresse IPv4. Prévois deux VM contrôlées et une version maintenue d'Oracle VirtualBox.

L'exercice est strictement défensif et borné à ta machine. N'importe pas d'image douteuse. N'exécute pas de logiciel malveillant réel. N'utilise que des systèmes, outils et fichiers obtenus légalement. L'isolation réseau réduit une voie de sortie, mais elle ne transforme pas l'hôte en environnement d'analyse de malware sécurisé.

Avant de modifier les VM, note leur configuration actuelle. Si elles contiennent un état utile, crée un instantané cohérent lorsqu'elles sont arrêtées. Un instantané aide à revenir à un état antérieur, mais ne remplace pas une sauvegarde indépendante.

Choisir le bon mode réseau VirtualBox

VirtualBox propose plusieurs modes, qui n'isolent pas les VM de la même manière.

Mode VM vers Internet VM vers réseau physique VM vers hôte Usage dans cet exercice
NAT généralement oui via traduction certains services de l'hôte peuvent rester joignables à retirer pendant le laboratoire isolé
Accès par pont oui selon le réseau oui, la VM apparaît sur le LAN oui selon filtrage à éviter ici
Réseau privé hôte non par défaut non par défaut oui utile si l'hôte doit administrer les VM
Réseau interne non non non par le réseau virtuel choix recommandé pour deux VM isolées
Non attaché non non non aucune communication entre VM

Le manuel VirtualBox décrit le réseau interne comme un réseau logiciel visible par les VM sélectionnées, mais pas par les applications de l'hôte ni par le monde extérieur. Les cartes virtuelles doivent utiliser le même nom de réseau interne pour se retrouver sur le même segment.

Le réseau privé hôte, souvent appelé host-only, est différent. Il relie les VM entre elles et à une interface virtuelle présente sur l'hôte, sans utiliser l'interface physique. C'est pratique pour administrer une VM depuis l'hôte ou récupérer des résultats. En contrepartie, un service exposé par une VM peut devenir accessible depuis l'hôte. Si l'exercice n'exige aucun échange avec celui-ci, le réseau interne offre une séparation plus simple.

Le manuel réseau de VirtualBox décrit précisément ces modes. Le guide de sécurité VirtualBox rappelle les conséquences du choix d’exposition.

Mécanisme de l'isolation

En mode réseau interne, VirtualBox joue le rôle d'un commutateur Ethernet virtuel. Les trames émises par une VM sont distribuées dans le réseau interne portant le même nom. Aucune carte physique n'est reliée automatiquement à ce commutateur, et aucune fonction NAT ne fournit de sortie vers Internet.

L'isolement dépend donc de toute la configuration, pas seulement du libellé choisi :

  • chaque VM ne doit avoir qu'un adaptateur utile au laboratoire ;
  • aucun second adaptateur NAT ou pont ne doit rester actif ;
  • aucune VM du segment ne doit faire du routage vers un autre réseau ;
  • les services de partage, presse-papiers et dossiers partagés doivent être limités selon le besoin ;
  • le nom du réseau interne doit être identique pour les VM autorisées, et différent des autres laboratoires.

Le nom n'est pas un mot de passe. Une autre VM configurée par le même utilisateur avec ce nom peut rejoindre le segment. Choisis un nom explicite et vérifie toutes les VM actives.

Sans serveur DHCP, les invités n'obtiennent pas forcément d'adresse automatiquement. Une configuration statique rend l'exercice prévisible. Nous utiliserons 10.77.0.0/24, une plage IPv4 privée, avec une adresse différente par VM. Comme aucune sortie n'est prévue, nous ne configurerons ni passerelle par défaut ni serveur DNS.

Exercice borné : relier deux VM sans sortie Internet

Le laboratoire comprend :

  • lab-client, adresse 10.77.0.10/24 ;
  • lab-server, adresse 10.77.0.20/24 ;
  • réseau interne VirtualBox nommé cyberlab-isole.

La configuration IP dépend du système invité. Utilise son interface ou sa documentation officielle et identifie le nom réel de la carte.

Étape 1 : préparer et arrêter les VM

Mets à jour les systèmes invités avant l'isolement si nécessaire, en utilisant une source officielle. Éteins ensuite complètement les deux VM. Un état sauvegardé peut restaurer d'anciens paramètres réseau à la reprise, donc préfère un arrêt propre.

Dans la fenêtre principale de VirtualBox, sélectionne chaque VM puis ouvre Configuration > Réseau.

Étape 2 : configurer l'adaptateur unique

Pour lab-client :

  1. active l'adaptateur 1 ;
  2. choisis Réseau interne dans le champ de mode d'accès réseau ;
  3. saisis cyberlab-isole comme nom ;
  4. conserve un type de carte compatible avec l'invité ;
  5. vérifie que le câble est marqué comme branché ;
  6. désactive les adaptateurs 2, 3 et 4.

Répète exactement l'opération pour lab-server. Le nom doit être strictement identique, y compris les majuscules, les minuscules et les tirets. cyberlab-isole et CyberLab-isole peuvent désigner deux segments distincts.

Étape 3 : attribuer les adresses dans les invités

Démarre lab-client et configure :

  • IPv4 : 10.77.0.10 ;
  • masque ou préfixe : 255.255.255.0 ou /24 ;
  • passerelle : vide ;
  • DNS : vide.

Sur lab-server, configure :

  • IPv4 : 10.77.0.20 ;
  • masque ou préfixe : 255.255.255.0 ou /24 ;
  • passerelle : vide ;
  • DNS : vide.

Vérifie l'adresse avec l'outil du système invité, par exemple ip address sous Linux ou ipconfig sous Windows. Vérifie aussi la table de routage. Elle doit contenir le réseau directement connecté 10.77.0.0/24, mais aucune route par défaut ajoutée pour ce laboratoire.

Étape 4 : tester la communication interne

Depuis lab-client, envoie quelques requêtes ICMP vers 10.77.0.20. Si le pare-feu de l'invité bloque les échos, ne le désactive pas entièrement. Autorise temporairement l'ICMP uniquement sur le profil ou l'interface du laboratoire, ou teste un service local explicitement lancé pour l'exercice.

Tu peux, sur lab-server, publier un dossier vide avec le serveur HTTP de développement fourni par Python :

mkdir -p /tmp/cyberlab-web
cd /tmp/cyberlab-web
python3 -m http.server 8000 --bind 10.77.0.20

Depuis lab-client, ouvre http://10.77.0.20:8000/. Le dossier doit rester vide ou contenir uniquement un fichier texte fictif. Arrête le serveur après le test. Cette commande n'est destinée qu'au segment de laboratoire isolé.

Étape 5 : prouver l'absence de sortie

Effectue trois vérifications depuis chaque VM :

  1. la communication avec l'autre adresse 10.77.0.x fonctionne ;
  2. aucune route par défaut n'est présente et une tentative de connexion vers une adresse externe de test échoue. L'échec du test complète l'examen de la table de routage, mais ne le remplace pas ;
  3. la table de routage ne contient aucune route par défaut.

Ne te contente pas d'un échec DNS. Si example.org ne se résout pas, Internet pourrait malgré tout être accessible par adresse IP. La combinaison d'une absence de passerelle, d'une absence de route par défaut et d'un test vers une adresse externe fournit une vérification plus solide.

Critère de réussite

Le laboratoire est correctement configuré si :

  • les deux VM possèdent les adresses prévues ;
  • lab-client atteint le service de test de lab-server ;
  • aucune VM ne possède de passerelle par défaut ;
  • les tentatives de sortie vers Internet et le réseau local échouent ;
  • l'hôte ne peut pas joindre les adresses du réseau interne ;
  • tous les adaptateurs NAT et pont sont désactivés.

Conserve une capture des paramètres réseau et la sortie de la table de routage. Elle servira de référence avant un futur exercice.

La documentation officielle de VBoxManage permet de vérifier la configuration en ligne de commande sans dépendre uniquement de l’interface graphique.

Si l'hôte doit accéder aux VM

Utilise un réseau privé hôte uniquement si le besoin est réel, par exemple pour administrer les VM depuis l'hôte. VirtualBox crée alors une interface logicielle sur l'hôte et peut fournir un DHCP intégré. Cela ne donne pas automatiquement Internet aux VM, mais l'hôte devient joignable sur ce segment.

Utilise une plage privée dédiée, vérifie le pare-feu de l'hôte et n'active aucun adaptateur pont. La présence de l'hôte change le modèle de menace.

Erreurs fréquentes et limites

  • Laisser un second adaptateur NAT actif. La VM conserve alors une sortie malgré l'adaptateur interne.
  • Choisir le mode pont. La VM rejoint le réseau physique, ce qui contredit l'objectif.
  • Configurer une passerelle par habitude. Elle est inutile sans routeur de laboratoire et peut créer une route inattendue.
  • Utiliser deux noms de réseau légèrement différents. Les VM ne se voient plus.
  • Confondre host-only et interne. Le premier inclut l'hôte, le second non.
  • Désactiver tous les pare-feu pour faire fonctionner un ping. Préfère une règle minimale, temporaire et documentée.
  • Croire que l'isolement suffit contre un logiciel hostile. N'analyse pas de malware réel dans ce laboratoire généraliste.
  • Oublier les fonctions d'intégration. Presse-papiers bidirectionnel, glisser-déposer, USB et dossiers partagés sont d'autres chemins d'échange avec l'hôte.
  • Considérer l'instantané comme une sauvegarde. Il dépend de la chaîne de disques virtuels et ne protège pas contre toutes les pertes.
  • Ne jamais retester. Une modification ultérieure peut réactiver NAT ou ajouter une route. Vérifie avant chaque séance.

Avant chaque essai, consulte la documentation VirtualBox sur les instantanés et crée un point de retour adapté à ton environnement.

Questions fréquentes

Réseau interne ou réseau privé hôte pour un laboratoire cyber ?

Choisis le réseau interne si seules les VM doivent communiquer. Choisis le réseau privé hôte si l'hôte doit administrer les VM ou récupérer directement des résultats. Dans les deux cas, contrôle les autres adaptateurs et les routes.

Peut-on mettre à jour une VM sans casser l'isolation ?

Une mise à jour exige généralement un accès à une source externe. Faites-la avant l'exercice, puis éteins la VM, retire l'adaptateur NAT et vérifie l'isolation. Pour un contexte plus sensible, prépare des paquets ou images vérifiés hors du laboratoire selon une procédure dédiée.

Un instantané VirtualBox protège-t-il l'ordinateur hôte ?

Non. Il capture l'état d'une VM pour faciliter un retour en arrière. Il ne constitue ni une frontière de sécurité supplémentaire, ni une sauvegarde complète, ni une garantie contre une évasion de machine virtuelle.

Prochaine étape

Prépare un laboratoire sans te disperser

Le guide offert t’aide à ordonner les bases à acquérir avant de multiplier les outils et les environnements.

Recevoir le guide offert