Cahier 2017 groupe n°5 : Différence entre versions
(→Cryptage des données) |
(→Présentation générale) |
||
Ligne 17 : | Ligne 17 : | ||
* Crackage de clé Wi-Fi | * Crackage de clé Wi-Fi | ||
* Créer les différents conteneurs et configurer leur accès au réseau (tâche particulière) | * Créer les différents conteneurs et configurer leur accès au réseau (tâche particulière) | ||
+ | |||
+ | ==<span style="color:#000080">'''Travail effectué'''</span>== | ||
+ | |||
+ | ====<span style="color:#4169E1">Création d'une machine virtuelle Xen sur Cordouan</span>==== | ||
+ | |||
+ | On commence par créer une machine virtuelle Xen sur le serveur de virtualisation cordouan.insecserv.deule.net. On se connecte tout d'abord en SSH sur le serveur cordouan. | ||
+ | |||
+ | 1) ssh root@cordouan.insecserv.deule.net | ||
+ | Mot de passe: mot de passe root habituel | ||
+ | |||
+ | On précise: | ||
+ | |||
+ | * le nom de machine virtuelle: IMA5-BANANE | ||
+ | * son adresse IP sur le réseau: 193.48.57.179/28 | ||
+ | * le répertoire où créer les disques virtuels: /usr/local/xen | ||
+ | * le miroir Debian: http://debian.polytech-lille.fr/debian | ||
+ | * la distribution: jessie (qui est la distribution stable courante) | ||
+ | |||
+ | 2) xen-create-image --hostname=<IMA5-BANANE> --ip 193.48.57.179/28 --dir /usr/local/xen --netmask=255.255.255.240 --gateway=193.48.57.177 --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie | ||
+ | |||
+ | On modifie le fichier de configuration de la machine virtuelle pour faire en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte. Installez les paquetages nécessaires pour SSH, le serveur Web apache2 et le serveur DNS bind (voir la partie services). | ||
+ | |||
+ | 3) xl create /etc/xen/IMA5-BANANE.cfg | ||
+ | vi /etc/xen/IMA5-BANANE.cfg | ||
+ | lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-home -v | ||
+ | lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-var -v | ||
+ | |||
+ | root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg | ||
+ | # | ||
+ | # Configuration file for the Xen instance IMA5-BANANE, created | ||
+ | # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. | ||
+ | # | ||
+ | # | ||
+ | # Kernel + memory size | ||
+ | # | ||
+ | kernel = '/boot/vmlinuz-3.16.0-4-amd64' | ||
+ | extra = 'elevator=noop' | ||
+ | ramdisk = '/boot/initrd.img-3.16.0-4-amd64' | ||
+ | vcpus = '1' | ||
+ | memory = '512' | ||
+ | # | ||
+ | # Disk device(s). | ||
+ | # | ||
+ | root = '/dev/xvda2 ro' | ||
+ | disk = [ | ||
+ | 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', | ||
+ | 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', | ||
+ | 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', | ||
+ | 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', | ||
+ | # | ||
+ | # Physical volumes | ||
+ | # | ||
+ | # | ||
+ | # Hostname | ||
+ | # | ||
+ | name = 'IMA5-BANANE' | ||
+ | # | ||
+ | # Networking | ||
+ | # | ||
+ | vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] | ||
+ | # | ||
+ | # Behaviour | ||
+ | on_poweroff = 'destroy' | ||
+ | on_reboot = 'restart' | ||
+ | on_crash = 'restart' | ||
+ | |||
+ | On modifie le fichier de configuration en faisant en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte: | ||
+ | |||
+ | * la mémoire attribuée: 512 Mo | ||
+ | * l'adresse ip de la MV: 193.48.57.179/28 | ||
+ | * bridge: IMA5sc | ||
+ | |||
+ | 4) xl list | ||
+ | |||
+ | root@cordouan:~# xl list | ||
+ | Name ID Mem VCPUs State Time(s) | ||
+ | Domain-0 0 1993 8 r----- 52219.3 | ||
+ | karmeliett 1 128 1 -b---- 2483.6 | ||
+ | duvel 2 512 1 -b---- 4225.6 | ||
+ | deus 3 512 1 -b---- 4226.4 | ||
+ | trappe 4 512 1 -b---- 4082.4 | ||
+ | Rincecochon 6 512 1 -b---- 3788.2 | ||
+ | IMA5-Durian 62 512 1 -b---- 3237.7 | ||
+ | IMA5-BANANE 84 512 1 -b---- 152.9 | ||
+ | IMA5-Papaye 89 512 1 -b---- 35.4 | ||
+ | IMA5-Ananas 91 512 1 -b---- 27.0 | ||
+ | |||
+ | On vérifie que la MV IMA5-BANANE a bien été créée. | ||
+ | |||
+ | 5) xl console IMA5-BANANE | ||
+ | |||
+ | On lance IMA5-BANANE en utilisant le log root et le mot de passe configuré. | ||
+ | |||
+ | ====<span style="color:#4169E1">Services Internet (SSH, DNS sécurisé et certificat SSL)</span>==== | ||
+ | |||
+ | On configure à présent les services Internet après avoir acheté un nom de domaine (https://www.banane.space) sur gandi.net pour créer notre site Web sécurisé. | ||
+ | |||
+ | =====<span style="color:#6B8E23">''Serveur SSH''</span>===== | ||
+ | |||
+ | Sur notre machine virtuelle, nous avons configuré le fichier sshd_config (PubkeyAuthentication ) : | ||
+ | |||
+ | root@IMA5-BANANE:~# vim /etc/ssh/sshd_config | ||
+ | |||
+ | RSAAuthentication yes | ||
+ | PubkeyAuthentication yes | ||
+ | #AuthorizedKeysFile %h/.ssh/authorized_keys | ||
+ | PermitRootLogin yes | ||
+ | |||
+ | root@IMA5-BANANE:~# service ssh restart | ||
+ | |||
+ | =====<span style="color:#6B8E23">''Certification SSL''</span>===== | ||
+ | |||
+ | =====<span style="color:#6B8E23">''Serveur DNS''</span>===== | ||
+ | |||
+ | On commence par modifier les informations de notre nom de domaine sur le site de Gandi. Ensuite, dans ''"Gérer les Glue Records"'', nous modifions les informations concernant notre nom de domaine. | ||
+ | |||
+ | * nom du serveur: ns.banane.space | ||
+ | * adresse IP: 193.48.57.179 | ||
+ | * serveurs de nom: | ||
+ | ** DNS1: ns.banane.space | ||
+ | ** DNS2: ns6.gandi.net (serveur secondaire de Gandi) | ||
+ | |||
+ | Une fois ces étapes effectuées, nous pouvons passer à la configuration du DNS avec bind. On se place alors dans le dossier /etc/bind de notre machine virtuelle. | ||
+ | Nous modifions dans un premier temps le fichier named.conf.local afin d'y créer nos zones : | ||
+ | |||
+ | ====<span style="color:#4169E1">Sécurisation des données</span>==== | ||
+ | |||
+ | créez un RAID5 logiciel avec les trois partitions obtenues (utilisez le paquetage mdadm). | ||
+ | |||
+ | 1) vi /etc/xen/IMA5-BANANE.cfg | ||
+ | lvcreate -L 10G -n /dev/virtual/banane-1 -v | ||
+ | lvcreate -L 10G -n /dev/virtual/banane-2 -v | ||
+ | lvcreate -L 10G -n /dev/virtual/banane-3 -v | ||
+ | |||
+ | root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg | ||
+ | # | ||
+ | # Configuration file for the Xen instance IMA5-BANANE, created | ||
+ | # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. | ||
+ | # | ||
+ | # | ||
+ | # Kernel + memory size | ||
+ | # | ||
+ | kernel = '/boot/vmlinuz-3.16.0-4-amd64' | ||
+ | extra = 'elevator=noop' | ||
+ | ramdisk = '/boot/initrd.img-3.16.0-4-amd64' | ||
+ | vcpus = '1' | ||
+ | memory = '512' | ||
+ | # | ||
+ | # Disk device(s). | ||
+ | # | ||
+ | root = '/dev/xvda2 ro' | ||
+ | disk = [ | ||
+ | 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', | ||
+ | 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', | ||
+ | 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', | ||
+ | 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', | ||
+ | 'phy:/dev/virtual/banane-1,xvdd,w', | ||
+ | 'phy:/dev/virtual/banane-2,xvde,w', | ||
+ | 'phy:/dev/virtual/banane-3,xvdf,w', | ||
+ | # | ||
+ | # Physical volumes | ||
+ | # | ||
+ | # | ||
+ | # Hostname | ||
+ | # | ||
+ | name = 'IMA5-BANANE' | ||
+ | # | ||
+ | # Networking | ||
+ | # | ||
+ | vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] | ||
+ | # | ||
+ | # Behaviour | ||
+ | on_poweroff = 'destroy' | ||
+ | on_reboot = 'restart' | ||
+ | on_crash = 'restart' | ||
+ | |||
+ | On reconfigure le fichier IMA5-BANANE.cfg en créant 3 nouvelles partitions LVM banane-X de 1 Go associées à notre VM. | ||
+ | |||
+ | 2) xl console IMA5-BANANE | ||
+ | |||
+ | On relance la MV IMA5-BANANE. | ||
+ | |||
+ | 3) apt-get install mdadm | ||
+ | |||
+ | Nous avons ensuite installé le paquetage mdadm puis rebooté la MV. | ||
+ | |||
+ | 4) mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf | ||
+ | |||
+ | Nous créons le volume /dev/md0 pour créer un RAID5 logiciel à partir des trois partitions obtenues: | ||
+ | |||
+ | |||
+ | Copiez des données sur le RAID5, | ||
+ | |||
+ | 5) root@IMA5-BANANE:~# mdadm --detail /dev/md0 | ||
+ | /dev/md0: | ||
+ | Version : 1.2 | ||
+ | Creation Time : Wed Oct 25 18:27:13 2017 | ||
+ | Raid Level : raid5 | ||
+ | Array Size : 2095104 (2046.34 MiB 2145.39 MB) | ||
+ | Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 3 | ||
+ | Persistence : Superblock is persistent | ||
+ | Update Time : Wed Oct 25 17:03:20 2017 | ||
+ | State : clean | ||
+ | Active Devices : 3 | ||
+ | Working Devices : 3 | ||
+ | Failed Devices : 0 | ||
+ | Spare Devices : 0 | ||
+ | Layout : left-symmetric | ||
+ | Chunk Size : 512K | ||
+ | Name : IMA5-BANANE:0 (local to host IMA5-BANANE) | ||
+ | UUID : b70ad336:fb198d84:a5909f1c:f4b33229 | ||
+ | Events : 2 | ||
+ | Number Major Minor RaidDevice State | ||
+ | 0 202 48 0 active sync /dev/xvdd | ||
+ | 1 202 64 1 active sync /dev/xvde | ||
+ | 2 202 80 2 active sync /dev/xvdf | ||
+ | |||
+ | arrêtez la machine virtuelle, retirez lui une des trois partitions, relancez la. Essayez de remonter votre RAID5, que constatez-vous ? | ||
+ | |||
+ | 6) root@IMA5-BANANE:~# mdadm --detail /dev/md0 | ||
+ | /dev/md0: | ||
+ | Version : 1.2 | ||
+ | Creation Time : Wed Oct 25 18:27:13 2017 | ||
+ | Raid Level : raid5 | ||
+ | Array Size : 2095104 (2046.34 MiB 2145.39 MB) | ||
+ | Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) | ||
+ | Raid Devices : 3 | ||
+ | Total Devices : 2 | ||
+ | Persistence : Superblock is persistent | ||
+ | Update Time : Wed Oct 25 18:51:56 2017 | ||
+ | State : clean, degraded | ||
+ | Active Devices : 2 | ||
+ | Working Devices : 2 | ||
+ | Failed Devices : 0 | ||
+ | Spare Devices : 0 | ||
+ | Layout : left-symmetric | ||
+ | Chunk Size : 512K | ||
+ | Name : IMA5-BANANE:0 (local to host IMA5-BANANE) | ||
+ | UUID : b70ad336:fb198d84:a5909f1c:f4b33229 | ||
+ | Events : 12 | ||
+ | Number Major Minor RaidDevice State | ||
+ | 0 0 0 0 removed | ||
+ | 1 202 64 1 active sync /dev/xvde | ||
+ | 2 202 80 2 active sync /dev/xvdf | ||
+ | |||
+ | |||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] | ||
+ | [===========>.........] recovery = 59.7% (627140/1047552) finish=0.2min speed=28506K/sec | ||
+ | unused devices: <none> | ||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] | ||
+ | [============>........] recovery = 64.5% (676392/1047552) finish=0.2min speed=29408K/sec | ||
+ | unused devices: <none> | ||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] | ||
+ | [=============>.......] recovery = 66.2% (695080/1047552) finish=0.2min speed=28961K/sec | ||
+ | unused devices: <none> | ||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] | ||
+ | [=============>.......] recovery = 68.1% (714664/1047552) finish=0.1min speed=28586K/sec | ||
+ | unused devices: <none> | ||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] | ||
+ | [==================>..] recovery = 94.6% (991996/1047552) finish=0.0min speed=29206K/sec | ||
+ | unused devices: <none> | ||
+ | root@IMA5-BANANE:~# cat /proc/mdstat | ||
+ | Personalities : [raid6] [raid5] [raid4] | ||
+ | md0 : active raid5 xvdd[3] xvde[1] xvdf[2] | ||
+ | 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] | ||
+ | unused devices: <none> | ||
+ | |||
+ | ====<span style="color:#4169E1">Cryptage des données</span>==== | ||
+ | |||
+ | root@zebrasoma:/# cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk1 | ||
+ | root@zebrasoma:/# cryptsetup luksOpen /dev/sdb1 crypt_sd | ||
+ | root@zebrasoma:/# mkfs.ext4 /dev/mapper/crypt_sd | ||
+ | root@zebrasoma:/# mount /dev/mapper/crypt_sd /mnt | ||
+ | root@zebrasoma:/# vi /mnt/test.txt #on marque un texte dans le fichier | ||
+ | root@zebrasoma:/# umount /mnt | ||
+ | root@zebrasoma:/# cryptsetup luksClose crypt_sd | ||
+ | |||
+ | ====<span style="color:#4169E1">Mise en réseau de la MV Xen IMA5-BANANE</span>==== | ||
==<span style="color:#000080">'''Travail effectué'''</span>== | ==<span style="color:#000080">'''Travail effectué'''</span>== |
Version du 13 novembre 2017 à 10:28
Présentation générale
Mise en contexte
Le projet de Réseau Avancé est composé d'une partie commune et d'une tâche particulière par binôme. Ce projet consiste en la configuration d'une architecture réseau avec différentes parties, en plus du câblage et de la configuration des routeurs et commutateurs.
La partie commune consiste en la création et la mise en réseau d'une machine virtuelle; ainsi que la création d'un site sécurisé avec la configuration du serveur SSH, DNS sécurisé et du certificat SSL. La virtualisation permet de faire fonctionner sur une même machine plusieurs OS isolés ou des logiciels grâce aux machines virtuelles. Au-delà de la réduction des coûts, la virtualisation permet aussi de manipuler et gérer plus facilement des OS. Cependant, on s'oriente de plus en plus vers l'isolation par des conteneurs car ils permettent au sein d'un même OS, d'isoler les ressources matérielles et d'éviter des surcharges.
Notre tâche particulière est donc de réaliser la gestion des conteneurs au sein d'une machine virtuelle configurée en réseau.
Tâches à effectuer
- Création d'une machine virtuelle sur le serveur de virtualisation Cordouan
- Mettre la machine virtuelle en réseau
- Configuration des services Internet (Serveur SSH, DNS, DNSSEC, Certificat SSL)
- Crackage de clé Wi-Fi
- Créer les différents conteneurs et configurer leur accès au réseau (tâche particulière)
Travail effectué
Création d'une machine virtuelle Xen sur Cordouan
On commence par créer une machine virtuelle Xen sur le serveur de virtualisation cordouan.insecserv.deule.net. On se connecte tout d'abord en SSH sur le serveur cordouan.
1) ssh root@cordouan.insecserv.deule.net Mot de passe: mot de passe root habituel
On précise:
- le nom de machine virtuelle: IMA5-BANANE
- son adresse IP sur le réseau: 193.48.57.179/28
- le répertoire où créer les disques virtuels: /usr/local/xen
- le miroir Debian: http://debian.polytech-lille.fr/debian
- la distribution: jessie (qui est la distribution stable courante)
2) xen-create-image --hostname=<IMA5-BANANE> --ip 193.48.57.179/28 --dir /usr/local/xen --netmask=255.255.255.240 --gateway=193.48.57.177 --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie
On modifie le fichier de configuration de la machine virtuelle pour faire en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte. Installez les paquetages nécessaires pour SSH, le serveur Web apache2 et le serveur DNS bind (voir la partie services).
3) xl create /etc/xen/IMA5-BANANE.cfg vi /etc/xen/IMA5-BANANE.cfg lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-home -v lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-var -v
root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg # # Configuration file for the Xen instance IMA5-BANANE, created # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. # # # Kernel + memory size # kernel = '/boot/vmlinuz-3.16.0-4-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-3.16.0-4-amd64' vcpus = '1' memory = '512' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', # # Physical volumes # # # Hostname # name = 'IMA5-BANANE' # # Networking # vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] # # Behaviour on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
On modifie le fichier de configuration en faisant en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte:
- la mémoire attribuée: 512 Mo
- l'adresse ip de la MV: 193.48.57.179/28
- bridge: IMA5sc
4) xl list
root@cordouan:~# xl list Name ID Mem VCPUs State Time(s) Domain-0 0 1993 8 r----- 52219.3 karmeliett 1 128 1 -b---- 2483.6 duvel 2 512 1 -b---- 4225.6 deus 3 512 1 -b---- 4226.4 trappe 4 512 1 -b---- 4082.4 Rincecochon 6 512 1 -b---- 3788.2 IMA5-Durian 62 512 1 -b---- 3237.7 IMA5-BANANE 84 512 1 -b---- 152.9 IMA5-Papaye 89 512 1 -b---- 35.4 IMA5-Ananas 91 512 1 -b---- 27.0
On vérifie que la MV IMA5-BANANE a bien été créée.
5) xl console IMA5-BANANE
On lance IMA5-BANANE en utilisant le log root et le mot de passe configuré.
Services Internet (SSH, DNS sécurisé et certificat SSL)
On configure à présent les services Internet après avoir acheté un nom de domaine (https://www.banane.space) sur gandi.net pour créer notre site Web sécurisé.
Serveur SSH
Sur notre machine virtuelle, nous avons configuré le fichier sshd_config (PubkeyAuthentication ) :
root@IMA5-BANANE:~# vim /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys PermitRootLogin yes root@IMA5-BANANE:~# service ssh restart
Certification SSL
Serveur DNS
On commence par modifier les informations de notre nom de domaine sur le site de Gandi. Ensuite, dans "Gérer les Glue Records", nous modifions les informations concernant notre nom de domaine.
- nom du serveur: ns.banane.space
- adresse IP: 193.48.57.179
- serveurs de nom:
- DNS1: ns.banane.space
- DNS2: ns6.gandi.net (serveur secondaire de Gandi)
Une fois ces étapes effectuées, nous pouvons passer à la configuration du DNS avec bind. On se place alors dans le dossier /etc/bind de notre machine virtuelle. Nous modifions dans un premier temps le fichier named.conf.local afin d'y créer nos zones :
Sécurisation des données
créez un RAID5 logiciel avec les trois partitions obtenues (utilisez le paquetage mdadm).
1) vi /etc/xen/IMA5-BANANE.cfg lvcreate -L 10G -n /dev/virtual/banane-1 -v lvcreate -L 10G -n /dev/virtual/banane-2 -v lvcreate -L 10G -n /dev/virtual/banane-3 -v
root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg # # Configuration file for the Xen instance IMA5-BANANE, created # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. # # # Kernel + memory size # kernel = '/boot/vmlinuz-3.16.0-4-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-3.16.0-4-amd64' vcpus = '1' memory = '512' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', 'phy:/dev/virtual/banane-1,xvdd,w', 'phy:/dev/virtual/banane-2,xvde,w', 'phy:/dev/virtual/banane-3,xvdf,w', # # Physical volumes # # # Hostname # name = 'IMA5-BANANE' # # Networking # vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] # # Behaviour on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
On reconfigure le fichier IMA5-BANANE.cfg en créant 3 nouvelles partitions LVM banane-X de 1 Go associées à notre VM.
2) xl console IMA5-BANANE
On relance la MV IMA5-BANANE.
3) apt-get install mdadm
Nous avons ensuite installé le paquetage mdadm puis rebooté la MV.
4) mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf
Nous créons le volume /dev/md0 pour créer un RAID5 logiciel à partir des trois partitions obtenues:
Copiez des données sur le RAID5,
5) root@IMA5-BANANE:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Oct 25 18:27:13 2017 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Oct 25 17:03:20 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : IMA5-BANANE:0 (local to host IMA5-BANANE) UUID : b70ad336:fb198d84:a5909f1c:f4b33229 Events : 2 Number Major Minor RaidDevice State 0 202 48 0 active sync /dev/xvdd 1 202 64 1 active sync /dev/xvde 2 202 80 2 active sync /dev/xvdf
arrêtez la machine virtuelle, retirez lui une des trois partitions, relancez la. Essayez de remonter votre RAID5, que constatez-vous ?
6) root@IMA5-BANANE:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Oct 25 18:27:13 2017 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed Oct 25 18:51:56 2017 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : IMA5-BANANE:0 (local to host IMA5-BANANE) UUID : b70ad336:fb198d84:a5909f1c:f4b33229 Events : 12 Number Major Minor RaidDevice State 0 0 0 0 removed 1 202 64 1 active sync /dev/xvde 2 202 80 2 active sync /dev/xvdf
root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [===========>.........] recovery = 59.7% (627140/1047552) finish=0.2min speed=28506K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [============>........] recovery = 64.5% (676392/1047552) finish=0.2min speed=29408K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [=============>.......] recovery = 66.2% (695080/1047552) finish=0.2min speed=28961K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [=============>.......] recovery = 68.1% (714664/1047552) finish=0.1min speed=28586K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [==================>..] recovery = 94.6% (991996/1047552) finish=0.0min speed=29206K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
Cryptage des données
root@zebrasoma:/# cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk1 root@zebrasoma:/# cryptsetup luksOpen /dev/sdb1 crypt_sd root@zebrasoma:/# mkfs.ext4 /dev/mapper/crypt_sd root@zebrasoma:/# mount /dev/mapper/crypt_sd /mnt root@zebrasoma:/# vi /mnt/test.txt #on marque un texte dans le fichier root@zebrasoma:/# umount /mnt root@zebrasoma:/# cryptsetup luksClose crypt_sd
Mise en réseau de la MV Xen IMA5-BANANE
Travail effectué
Création d'une machine virtuelle Xen sur Cordouan
On commence par créer une machine virtuelle Xen sur le serveur de virtualisation cordouan.insecserv.deule.net. On se connecte tout d'abord en SSH sur le serveur cordouan.
1) ssh root@cordouan.insecserv.deule.net Mot de passe: mot de passe root habituel
On précise:
- le nom de machine virtuelle: IMA5-BANANE
- son adresse IP sur le réseau: 193.48.57.179/28
- le répertoire où créer les disques virtuels: /usr/local/xen
- le miroir Debian: http://debian.polytech-lille.fr/debian
- la distribution: jessie (qui est la distribution stable courante)
2) xen-create-image --hostname=<IMA5-BANANE> --ip 193.48.57.179/28 --dir /usr/local/xen --netmask=255.255.255.240 --gateway=193.48.57.177 --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie
On modifie le fichier de configuration de la machine virtuelle pour faire en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte. Installez les paquetages nécessaires pour SSH, le serveur Web apache2 et le serveur DNS bind (voir la partie services).
3) xl create /etc/xen/IMA5-BANANE.cfg vi /etc/xen/IMA5-BANANE.cfg lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-home -v lvcreate -L 10G -n /dev/virtual/IMA5-BANANE-var -v
root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg # # Configuration file for the Xen instance IMA5-BANANE, created # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. # # # Kernel + memory size # kernel = '/boot/vmlinuz-3.16.0-4-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-3.16.0-4-amd64' vcpus = '1' memory = '512' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', # # Physical volumes # # # Hostname # name = 'IMA5-BANANE' # # Networking # vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] # # Behaviour on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
On modifie le fichier de configuration en faisant en sorte que les répertoires var et home de la machine virtuelle soient sur des partitions LVM de l'hôte:
- la mémoire attribuée: 512 Mo
- l'adresse ip de la MV: 193.48.57.179/28
- bridge: IMA5sc
4) xl list
root@cordouan:~# xl list Name ID Mem VCPUs State Time(s) Domain-0 0 1993 8 r----- 52219.3 karmeliett 1 128 1 -b---- 2483.6 duvel 2 512 1 -b---- 4225.6 deus 3 512 1 -b---- 4226.4 trappe 4 512 1 -b---- 4082.4 Rincecochon 6 512 1 -b---- 3788.2 IMA5-Durian 62 512 1 -b---- 3237.7 IMA5-BANANE 84 512 1 -b---- 152.9 IMA5-Papaye 89 512 1 -b---- 35.4 IMA5-Ananas 91 512 1 -b---- 27.0
On vérifie que la MV IMA5-BANANE a bien été créée.
5) xl console IMA5-BANANE
On lance IMA5-BANANE en utilisant le log root et le mot de passe configuré.
Services Internet (SSH, DNS sécurisé et certificat SSL)
On configure à présent les services Internet après avoir acheté un nom de domaine (https://www.banane.space) sur gandi.net pour créer notre site Web sécurisé.
Serveur SSH
Sur notre machine virtuelle, nous avons configuré le fichier sshd_config (PubkeyAuthentication ) :
root@IMA5-BANANE:~# vim /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys PermitRootLogin yes root@IMA5-BANANE:~# service ssh restart
Certification SSL
Serveur DNS
On commence par modifier les informations de notre nom de domaine sur le site de Gandi. Ensuite, dans "Gérer les Glue Records", nous modifions les informations concernant notre nom de domaine.
- nom du serveur: ns.banane.space
- adresse IP: 193.48.57.179
- serveurs de nom:
- DNS1: ns.banane.space
- DNS2: ns6.gandi.net (serveur secondaire de Gandi)
Une fois ces étapes effectuées, nous pouvons passer à la configuration du DNS avec bind. On se place alors dans le dossier /etc/bind de notre machine virtuelle. Nous modifions dans un premier temps le fichier named.conf.local afin d'y créer nos zones :
Sécurisation des données
créez un RAID5 logiciel avec les trois partitions obtenues (utilisez le paquetage mdadm). Copiez des données sur le RAID5, arrêtez la machine virtuelle, retirez lui une des trois partitions, relancez la. Essayez de remonter votre RAID5, que constatez-vous ?
1) vi /etc/xen/IMA5-BANANE.cfg lvcreate -L 10G -n /dev/virtual/banane-1 -v lvcreate -L 10G -n /dev/virtual/banane-2 -v lvcreate -L 10G -n /dev/virtual/banane-3 -v
root@cordouan:~# cat /etc/xen/IMA5-BANANE.cfg # # Configuration file for the Xen instance IMA5-BANANE, created # by xen-tools 4.5 on Mon Sep 11 19:01:21 2017. # # # Kernel + memory size # kernel = '/boot/vmlinuz-3.16.0-4-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-3.16.0-4-amd64' vcpus = '1' memory = '512' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/IMA5-BANANE/disk.img,xvda2,w', 'file:/usr/local/xen/domains/IMA5-BANANE/swap.img,xvda1,w', 'phy:/dev/virtual/IMA5-BANANE-home,xvdb1,w', 'phy:/dev/virtual/IMA5-BANANE-var,xvdc1,w', 'phy:/dev/virtual/banane-1,xvdd,w', 'phy:/dev/virtual/banane-2,xvde,w', 'phy:/dev/virtual/banane-3,xvdf,w', # # Physical volumes # # # Hostname # name = 'IMA5-BANANE' # # Networking # vif = [ 'ip=193.48.57.179/28 ,mac=00:16:3E:56:71:47,bridge=IMA5sc' ] # # Behaviour on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
On reconfigure le fichier IMA5-BANANE.cfg en créant 3 nouvelles partitions LVM banane-X de 1 Go associées à notre VM.
2) xl console IMA5-BANANE
On relance la MV IMA5-BANANE.
3) apt-get install mdadm
Nous avons ensuite installé mdadm puis rebooté la MV.
nous créons le volume /dev/md0: mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf
créez un RAID5 logiciel avec les trois partitions obtenues (utilisez le paquetage mdadm)
root@IMA5-BANANE:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Oct 25 18:27:13 2017 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Oct 25 17:03:20 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : IMA5-BANANE:0 (local to host IMA5-BANANE) UUID : b70ad336:fb198d84:a5909f1c:f4b33229 Events : 2 Number Major Minor RaidDevice State 0 202 48 0 active sync /dev/xvdd 1 202 64 1 active sync /dev/xvde 2 202 80 2 active sync /dev/xvdf
///
root@IMA5-BANANE:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Oct 25 18:27:13 2017 Raid Level : raid5 Array Size : 2095104 (2046.34 MiB 2145.39 MB) Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed Oct 25 18:51:56 2017 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : IMA5-BANANE:0 (local to host IMA5-BANANE) UUID : b70ad336:fb198d84:a5909f1c:f4b33229 Events : 12 Number Major Minor RaidDevice State 0 0 0 0 removed 1 202 64 1 active sync /dev/xvde 2 202 80 2 active sync /dev/xvdf
root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [===========>.........] recovery = 59.7% (627140/1047552) finish=0.2min speed=28506K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [============>........] recovery = 64.5% (676392/1047552) finish=0.2min speed=29408K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [=============>.......] recovery = 66.2% (695080/1047552) finish=0.2min speed=28961K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [=============>.......] recovery = 68.1% (714664/1047552) finish=0.1min speed=28586K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [==================>..] recovery = 94.6% (991996/1047552) finish=0.0min speed=29206K/sec unused devices: <none> root@IMA5-BANANE:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 xvdd[3] xvde[1] xvdf[2] 2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
Cryptage des données
cryptsetup luksFormat -c aes -h sha256 /dev/mmcblk1 cryptsetup luksOpen /dev/sdb1 crypt_sd mkfs.ext4 /dev/mapper/crypt_sd mount /dev/mapper/crypt_sd /mnt vi /mnt/test.txt #on marque un texte dans le fichier umount /mnt cryptsetup luksClose crypt_sd