Annonce

Réduire
Aucune annonce.

Virtualisez vos services avec VirtualBox : Un serveur Web

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Virtualisez vos services avec VirtualBox : Un serveur Web

    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 :
    • 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
    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.

  • #2
    Salut l'ami, Dis moi. Que penserais tu de reprendre ce tutorial en passant plutôt par Vagrant ? Je m'en sert régulièrement pour me créer mes environnements de pré-prod low cost. Et je pense que ça répond parfaitement au besoin! De plus la configuration de ta machine se partage facilement.
    ToxID : 7322307290A75F5F36142EF206D95374966F10FE2CCD8224BEC07F16137875058C3BC4020609


    Petite énigme, seriez vous décoder ce code ? WW4gZXJjYmFmciBoYXZpcmVmcnl5ciA/

    Commentaire


    • #3
      Je ne connais pas Vagrant, qu'apportes t'il de plus que VirtualBox ?
      Quelles sont ses différences ?

      Commentaire


      • #4
        Pour la protection de l'hote si la vm est compromise, ce n'est qu'en partie vrai.
        Il existe des failles aux sein des hyperviseur qui permettent de remonter de la vm vers l'hote.
        Après c'est d'un autre niveau que le script-kiddy de passage, mais ce n'est pas pour autant sans faille.

        Commentaire


        • #5
          Envoyé par Anonyme77 Voir le message
          Je ne connais pas Vagrant, qu'apportes t'il de plus que VirtualBox ?
          Quelles sont ses différences ?
          Vagrant permet d'automatiser la création de VM, tout est stocké dans un fichier de configuration yaml ce qui rend le partage de VM bien plus simple.
          Il peut reposer sur virtualBox (gratuitement) ou VMWare (et là faut une licence). Il est de plus, plus léger car il n'a pas d'interface graphique. La VM est donc moins gourmande ce qui est parfait dans le cas d'un serveur.
          ToxID : 7322307290A75F5F36142EF206D95374966F10FE2CCD8224BEC07F16137875058C3BC4020609


          Petite énigme, seriez vous décoder ce code ? WW4gZXJjYmFmciBoYXZpcmVmcnl5ciA/

          Commentaire


          • #6
            Je pense qu'il est aussi possible de démarrer une VM VirtualBox sans interface graphique.
            Mais à ce que tu dis, Valgrant n'est pas un hyperviseur mais plutôt une interface de gestion des VMs ou alors je me trompes ?

            De plus @misterPoc, je voulais faire ce tutoriel pour faire un peu de DIY et expliquer l'installation complète et ses avantages.

            @T3hty : Ce que tu dis est vrai mais dans ce cas, il faut également se rendre compte que l'on est dans une VM non?
            Comment peut on faire ça ? Un pas ax et recherche les additions invitées de VirtualBox ?
            Par contre, je n'ai jamais lu de techniques permettant de remonter de la VM au système hôte, as tu des liens ? Ca m'intéresse.
            Dernière modification par Anonyme77, 22 juin 2015, 17h46.

            Commentaire


            • #7
              Pour ce qui est de se rendre compte qu'on est dans une vm, je ne pense pas que ça soit trop difficile : configuration spécifique faite par l'hyperviseur, nombre de service actif/nombre de service disponible sur l'ip etc…

              Après pour ce qui est de la documentation dessus, malheureusement je n'en ais pas. j'ai entendu parler de cette possibilité via des articles généraliste (donc peu technique) ou certaine CVE, qui ne détaille pas la technique, je sais juste que la possibilité existe.

              Commentaire


              • #8
                Envoyé par Anonyme77 Voir le message
                Je pense qu'il est aussi possible de démarrer une VM VirtualBox sans interface graphique.
                Mais à ce que tu dis, Valgrant n'est pas un hyperviseur mais plutôt une interface de gestion des VMs ou alors je me trompes ?

                De plus @misterPoc, je voulais faire ce tutoriel pour faire un peu de DIY et expliquer l'installation complète et ses avantages.
                Exactement, tu as très bien résumé. En effet je comprend la démarche.
                ToxID : 7322307290A75F5F36142EF206D95374966F10FE2CCD8224BEC07F16137875058C3BC4020609


                Petite énigme, seriez vous décoder ce code ? WW4gZXJjYmFmciBoYXZpcmVmcnl5ciA/

                Commentaire


                • #9
                  Que penses tu par contre de mon tutoriel suivant sur la création d'un cloud via virtualbox ?

                  Je pensais étoffer ce dernier par l'ajout d'un VPN et de HTTPS pour la sécurisation du cloud mis en place.

                  Commentaire


                  • #10
                    Envoyé par Anonyme77 Voir le message
                    Que penses tu par contre de mon tutoriel suivant sur la création d'un cloud via virtualbox ?

                    Je pensais étoffer ce dernier par l'ajout d'un VPN et de HTTPS pour la sécurisation du cloud mis en place.
                    Dans l'idée pourquoi pas oui ! Mais que vas gérer ton cloud ? du storage ? du Web ? de la BDD ?

                    Je souhaiterai pour ma part une architecture type :

                    - 1 Cluster PHP (ou autre langage peut importe)
                    - 1 Cluster Master BDD (pour l'insert / update / delete)
                    - N Cluster slaves pour la lecture BDD
                    - 1 Cluster firewall et load balancing

                    Qu'en penses tu ?
                    ToxID : 7322307290A75F5F36142EF206D95374966F10FE2CCD8224BEC07F16137875058C3BC4020609


                    Petite énigme, seriez vous décoder ce code ? WW4gZXJjYmFmciBoYXZpcmVmcnl5ciA/

                    Commentaire


                    • #11
                      Je parlais d'un cloud de storage : http://hackademics.fr/showthread.php...vec-VirtualBox

                      Après il est évidement possible d'améliorer mais j'ai fait ce tuto pour créer une machine virtuelle simple permettant le partage de fichiers sans trop de risques pour la machine hôte .

                      Dans tous les cas ta solution semble très intéressante. Je n'ai jamais su comment faire du load balancing sur Linux mais ca m'intéresse. Ainsi que la réplication aussi.
                      Dernière modification par Anonyme77, 23 juin 2015, 12h16.

                      Commentaire

                      Chargement...
                      X