Installation d'un système serveur Linux sous Virtual Box
Ce TP est dédié à l'installation d'un serveur Linux sous Virtual Box.
1. Virtual Box
VirtualBox est un système de virtualisation x86 et AMD64/Intel64 destiné à la fois aux entreprises et au grand public. Ce système open source permet de simuler une machine virtuelle se comportant comme une architecture matérielle et permettant d'y installer des systèmes d'exploitations variés (appelés invités).
Le logiciel est disponible sous Windows, Linux, Macintosh et Solaris et permet d'installer un grand nombre de systèmes d'exploitations invités comme Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS/Windows 3.x, Linux (2.4, 2.6 and 3.x), Solaris et OpenSolaris, OS/2, et OpenBSD.
Le logiciel VirtualBox est développé et maintenu par la société Oracle.
2. Ubuntu
Ubuntu est un système d’exploitation open source supporté par la société Canonical. Fondé sur la distribution Linux Debian, ce système d'exploitation est constitué de logiciels open source et propriétaires, et est disponible gratuitement, y compris pour les entreprises. On estime en 2011 qu'il y a plus de 25 millions d'utilisateurs des différentes versions pour ordinateurs. (source Wikipedia)
3. Installation d'Ubuntu
La première étape consiste à installer Ubuntu comme machine virtuelle. Pour cela:
- Lancer VirtualBox (depuis l'icône du bureau).
- Cliquer sur le bouton "Nouvelle".
- Dans la fenêtre de création:
- nommer la machine Ubuntu Serveur;
- choisir comme type Linux;
- choisir comme version Ubuntu 64.
- Régler ensuite la quantité de mémoire vive allouée sur 2048 mo.
- Choisir dans la nouvelle fenêtre "Créer un disque dur virtuel maintenant".
- Laisser le type de disque sur VDI (Image disque VirtualBox).
- Changer le mode d'allocation sur "Taille fixe".
- Laisser la taille du disque à 8,00 Gio. Le disque se crée (cela peut prendre du temps).
La machine virtuelle est maintenant créée, il ne reste qu'à installer Ubuntu. Pour cela:
- Si ce n'est pas déjà fait, télécharger Ubuntu 64 ici.
- Faire un clic droit sur la machine virtuelle précédemment créée et choisir "Configuration".
- Dans le fenêtre de configuration, cliquer sur "stockage".
- Dans l'onglet "Arborescence de stockage", cliquer sur l'icone CD/DVD marquée "vide".
- Dans l'onglet "attributs" à droite, cliquer sur l'icône en forme de CD et sur "Choisissez un fichier de CD/DVD virtuel...".
- Cliquer sur "OK"
- Démarrer la machine virtuelle, l'installation d'Ubuntu commence.
Une fois une machine virtuelle installée, VirtualBox peut optimiser la gestion de la machine grâce à l'installation d'extensions sur le système invité. Dans notre cas:
- Ouvrir un terminal dans Ubuntu.
- Taper dans le terminal la commande sudo apt-get install virtualbox-guest-dkms
- Redémarrer le système.
4. Installation des composants serveur
L'instalaltion de composants au sein d'un système Ubuntu se fait grâce aux paquets d'application. Pour installer un paquet une commande suffit:
sudo apt-get install <nom du paquet>
par exemple, l'installation du serveur web apache 2 (paquet apache2) se fait grâce à la commande sudo apt-get install apache2.
Si un paquet doit être désinstaller, il est possible de le faire grâce à la commande:
sudo apt-get remove <nom du paquet> --purge
L'option --purge indique de supprimer le paquet et toute sa configuration (utile si un problème de configuration est apparu).
Pour reconfigurer un paquet déjà installé, la commande est alors:
sudo dpkg-reconfigure <nom_du_paquet>
Grâce aux commande précédentes, vous vous assurerez que le serveur Linux disponible comprendra:
- un serveur web Apache (voir http://doc.ubuntu-fr.org/apache2);
- un serveur de bases de données MySQL (voir http://doc.ubuntu-fr.org/mysql)
Attention: penser a changer le mot de passe root; - une interface d'administration phpMyAdmin (voir http://doc.ubuntu-fr.org/phpmyadmin)
Rappel: L'utilisateur pour se logger à la base est root et le mot de passe est celui spécifié lors de l'installation de MySQL; - un serveur FTP (voir http://doc.ubuntu-fr.org/proftpd);
- un serveur SSH (voir http://doc.ubuntu-fr.org/ssh).
5. Installation d'un serveur d'applications
Les serveur web comme Apache permettent de distributer du contenu html / php. Il existe également des serveurs d'applications qui permettent de distribuer des contenus avancés. Un des principaux serveurs d'applications est Glassfish. Celui-ci permet de distribuer des applications Java depuis un serveur.
- Installer une distribution de Java sur votre serveur.
- Installer Glassfish (voir https://www.digitalocean.com/community/tutorials/how-to-install-glassfish-4-0-on-ubuntu-12-04-3)
- Tester l'application hello installée dans le tutorial précédent en vous rendant à l'adresse http://localhost:8080/hello
6. Gestion des utilisateurs
Le serveur installé devra être capable de gérer des utilisateurs et des groupes. Vous aller sur le système:
- Créer un groupe developpeur qui contiendra les développeurs. Ce groupe sera composé des utilisateurs:
- john (mot de passe hello);
- ali (mot de passe toto);
- jack (mot de passe coucou).
- Créer un groupe chercheur qui contiendra les chercheurs suivants:
- albert (mot de passe e=mc2);
- isaac (mot de passe apple);
- leonard (mot de passe vitruve).
Attention: Chaque utilisateur doit avoir un répertoire propre (home directory). Vous pourrez utiliser les documentations relatives aux commandes groupadd, et useradd et usermod disponibles sur le web.
Les groupes d'utilisateurs permettent de spécifier des fonctionnalités du serveur selon les profils. Vous configurerez le serveur de façon a ce que:
- Seul les développeurs peuvent accéder par FTP au serveur.
- Seul les chercheurs peuvent accéder au serveur en SSH.
- Lors d'un accès FTP / SSH, un utilisateur doit se retrouver dans son répertoire propre (home).
Les tutoriaux http://doc.ubuntu-fr.org/proftpd et http://doc.ubuntu-fr.org/ssh sont là pour vous aider.
7. Protection du serveur
Vous aller maintenant tester la robustesse de vos serveurs. Pour cela, sous windows, vous aller télécharger un simulateur d'attaque par deni de service (DOS) nommé assassin dos Vous utiliserez ensuite ce logiciel afin de tester la robustesse de votre serveur.
Si la robustesse n'est pas satisfaisante, essayer d'améliorer celle-ci en cherchant des solutions sur internet.
Essayer ensuite de percer la sécurité des autres serveurs de la salle. Pour cela, tenter de vous y connecter et d'altérer par quelque méthode que se soit le fonctionement du serveur. (indication: le sniffing est intéressant...)