Bonjour,
Aujourd'hui, je vous propose un petit tutoriel concernant la virtualisation de vos services à l'aide de VirtualBox.
Par là, j'entends, par exemple, la création d'un serveur Web tournant dans une machine virtuelle et natté sur les ports de votre machine physique. Et ce afin de rendre ce système complètement transparent.
Les avantages de cette techniques sont que :
Les quelques désavantages sont que :
Ce tutoriel demande toutefois un petit pré-requis : savoir installer un linux (Debian évidement).
Les interfaces réseau dans VirtualBox
Avant de commencer, il est nécessaire de comprendre différents modes de connexion réseau de VirtualBox (nous n'allons pas tous les voir):
Dans notre cas, nous allons utiliser l'interface réseau en NAT.
Allez donc dans les réglages de votre machine virtuelle puis dans l'onglet réseau, finalement, ouvrez les réglages avancés.
Vous devriez avoir l'affichage suivant :
Cliquez ensuite sur "Port Forwarding" et opérez les réglages suivants :
Installation de la VM
Commencez par créer la machine virtuelle dans VirtualBox.
Après l'étape ci dessous laissez les valeurs par défaut. Elles conviendront parfaitement.
Une fois la création effectué, vous devez lier le fichier iso préalablement téléchargé (une Debian minimale conviendra parfaitement).
Pour ce faire, rendez vous à cet écran :
Cliquez alors sur le petit CD et choisissez votre ISO.
Démarrez alors la VM et procédez à l'installation de votre Linux.
Lors de cette installation vous pouvez toujours penser aux remarques suivantes :
Une fois la VM installée et correctement démarrée, passez sur la machine hôte et tentez de vous connecter sur le port 2222 du localhost. Vous devriez y parvenir et donc être au contrôle de la machine virtuelle.
Cela peut facilement se vérifier par le nom de la machine sur laquelle vous êtes connecté.
Faites quelques essais pour en avoir le coeur net.
Installation d'Apache
Une fois connecté en tant que root sur la machine virtuelle, installez y apache et MySQL :
Vérification de la bonne installation
Une fois ces opérations effectuée, rendez vous sur la machine physique, dans votre navigateur Web préféré (donc pas Internet Explorer) et tapez ceci dans la barre d'adresse : localhost:8888
Vous devriez tomber sur la élèbre page It Works de Apache.
Conclusion et suite des réjouissances
Comme nous pouvons le voir, nous venons de créer un serveur Web virtualisé et accessible uniquement via HTTP et SSH.
Une installation de MySQL a bien été faite mais ce service n'est pas accessible en dehors de la machine virtuelle. Il ne peut donc pas être la cible d'attaques.
De plus, ce serveur Web n'est démarré que lorsque vous en avez besoin. Apache ne prendra donc pas de ram de manière constante. Les ports de votre machine physique seront également fermés le temps que cette machine virtuelle n'est pas démarrée.
Plus tard, je continuerai ce tutoriel et transformerai cette petite machine virtuelle en un espace unique de transfert de fichiers. Celui-ci permettant de à vos connaissance d'y déposer aisément des fichiers via le réseau. Et ce tout en empêchant la connexion de clefs USB (pouvant être atteinte par des virus) sur votre ordinateur.
Aujourd'hui, je vous propose un petit tutoriel concernant la virtualisation de vos services à l'aide de VirtualBox.
Par là, j'entends, par exemple, la création d'un serveur Web tournant dans une machine virtuelle et natté sur les ports de votre machine physique. Et ce afin de rendre ce système complètement transparent.
Les avantages de cette techniques sont que :
- Si la machine virtuelle est compromise, cela n'impacte pas la machine physique
- Le service n'est lancé (et ne mange des ressources) que lorsque vous le souhaitez
- Vous pouvez héberger un service par machine
- ...
Les quelques désavantages sont que :
- La processus de virtualisation est plus lourd que l'hébergement physique
Ce tutoriel demande toutefois un petit pré-requis : savoir installer un linux (Debian évidement).
Les interfaces réseau dans VirtualBox
Avant de commencer, il est nécessaire de comprendre différents modes de connexion réseau de VirtualBox (nous n'allons pas tous les voir):
- Réseau interne : C'est un réseau créé par VirtualBox entre les machines virtuelles. Vous pouvez en créer plusieurs identéfiés par leur nom
- Nat : C'est un réseau interne créé par VirtualBox. Ce dernier servant d'ailleurs de serveur DHCP. La différence avec le point précédant est que, dans ce mode, vous pouvez créer des redirections de port comme vous le feriez sur un routeur physique
- Bridge : Dans ce mode, la machine virtuelle sera reconnue comme une machine réelle de votre réseau physique. Vous devez donc choisir sur quelle interface réseau cela devra être fait.
Dans notre cas, nous allons utiliser l'interface réseau en NAT.
Allez donc dans les réglages de votre machine virtuelle puis dans l'onglet réseau, finalement, ouvrez les réglages avancés.
Vous devriez avoir l'affichage suivant :
Cliquez ensuite sur "Port Forwarding" et opérez les réglages suivants :
Installation de la VM
Commencez par créer la machine virtuelle dans VirtualBox.
Après l'étape ci dessous laissez les valeurs par défaut. Elles conviendront parfaitement.
Une fois la création effectué, vous devez lier le fichier iso préalablement téléchargé (une Debian minimale conviendra parfaitement).
Pour ce faire, rendez vous à cet écran :
Cliquez alors sur le petit CD et choisissez votre ISO.
Démarrez alors la VM et procédez à l'installation de votre Linux.
Lors de cette installation vous pouvez toujours penser aux remarques suivantes :
- Les LVMs cryptés c'est bien
- Les interfaces graphiques c'est le mal
- Installer le serveur Web à l'installation du système ce n'est pas du jeu.
- Activez l'option permettant l'installation du serveur SSH lors de l'installation du système
Un premier test
Une fois la VM installée et correctement démarrée, passez sur la machine hôte et tentez de vous connecter sur le port 2222 du localhost. Vous devriez y parvenir et donc être au contrôle de la machine virtuelle.
Cela peut facilement se vérifier par le nom de la machine sur laquelle vous êtes connecté.
Faites quelques essais pour en avoir le coeur net.
Installation d'Apache
Une fois connecté en tant que root sur la machine virtuelle, installez y apache et MySQL :
Code:
aptitude install mysql-server apache2
Une fois ces opérations effectuée, rendez vous sur la machine physique, dans votre navigateur Web préféré (donc pas Internet Explorer) et tapez ceci dans la barre d'adresse : localhost:8888
Vous devriez tomber sur la élèbre page It Works de Apache.
Conclusion et suite des réjouissances
Comme nous pouvons le voir, nous venons de créer un serveur Web virtualisé et accessible uniquement via HTTP et SSH.
Une installation de MySQL a bien été faite mais ce service n'est pas accessible en dehors de la machine virtuelle. Il ne peut donc pas être la cible d'attaques.
De plus, ce serveur Web n'est démarré que lorsque vous en avez besoin. Apache ne prendra donc pas de ram de manière constante. Les ports de votre machine physique seront également fermés le temps que cette machine virtuelle n'est pas démarrée.
Plus tard, je continuerai ce tutoriel et transformerai cette petite machine virtuelle en un espace unique de transfert de fichiers. Celui-ci permettant de à vos connaissance d'y déposer aisément des fichiers via le réseau. Et ce tout en empêchant la connexion de clefs USB (pouvant être atteinte par des virus) sur votre ordinateur.
Commentaire