Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:lildadou:mediabunker [Le 14/08/2011, 13:05]
lildadou [Avancé : Evoluer son RAID0 vers un RAID5] Partochement
utilisateurs:lildadou:mediabunker [Le 11/09/2022, 13:13] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>Maverick ​installation media_center sécurité raid tutoriel BROUILLON}}+{{tag>Precise ​installation media_center sécurité raid tutoriel BROUILLON}}
 ---- ----
 ====== Installation d'un centre multimédia de salon sécurisé ====== ====== Installation d'un centre multimédia de salon sécurisé ======
Ligne 12: Ligne 12:
   - La performance,​ avec l'​utilisation d'un RAID.   - La performance,​ avec l'​utilisation d'un RAID.
   - L'​accessibilité à l'​usage,​ en optant pour une Wiimote comme outil de contrôle.   - L'​accessibilité à l'​usage,​ en optant pour une Wiimote comme outil de contrôle.
 +  - **TODO:** Backup, backup, backup... sinon tout ça ne sert à rien!
  
 Ce tutorial pars des pré-requis suivant : Ce tutorial pars des pré-requis suivant :
Ligne 22: Ligne 23:
 Les 2 derniers points sont déjà relativement bien traités sur Internet, ce tutoriel se concentrera donc sur la première problématique. Même si le niveau de sécurité n'est pas optimum, il représentera malgré tout un niveau qui pourra dissuader un bon nombre de personnes malveillantes. Le concept vise à placer une grande partie du système sur un support chiffré. Seul le /boot sera accessible à l'​attaquant,​ votre machine sera donc vulnérable aux attaques de type [[http://​theinvisiblethings.blogspot.com/​2009/​10/​evil-maid-goes-after-truecrypt.html|evil maiden (en)]] (l'​attaquant accède à votre machine pour y placer un /boot corrompu qui interceptera la clé de déchiffrement de votre système de fichiers). Les 2 derniers points sont déjà relativement bien traités sur Internet, ce tutoriel se concentrera donc sur la première problématique. Même si le niveau de sécurité n'est pas optimum, il représentera malgré tout un niveau qui pourra dissuader un bon nombre de personnes malveillantes. Le concept vise à placer une grande partie du système sur un support chiffré. Seul le /boot sera accessible à l'​attaquant,​ votre machine sera donc vulnérable aux attaques de type [[http://​theinvisiblethings.blogspot.com/​2009/​10/​evil-maid-goes-after-truecrypt.html|evil maiden (en)]] (l'​attaquant accède à votre machine pour y placer un /boot corrompu qui interceptera la clé de déchiffrement de votre système de fichiers).
  
-Des solutions existent pour parer ces attaques mais ne serons pas mise en place dans un premier temps : +Des solutions existent pour parer ces attaques mais ne serons pas mise en place dans un premier temps :
   - La première solution consiste à placer le /boot sur un support qui ne sera pas accessible à l'​attaquant ; classiquement une clef USB que vous placerez sous surveillance constante. La machine sera toujours vulnérable à une attaque de type [[http://​theinvisiblethings.blogspot.com/​2009/​10/​evil-maid-goes-after-truecrypt.html|evil maiden (en)]], mais compliquera considérablement la tâche de l'​attaquant puisque celui-ci devra s'​attaquer au [[:​grub|GRUB]] ou au [[:​wiki:​glossaire#​BIOS]]. Il devient plus simple de placer un [[http://​fr.wikipedia.org/​wiki/​Keylogger|keylogger]] matériel sur le clavier.   - La première solution consiste à placer le /boot sur un support qui ne sera pas accessible à l'​attaquant ; classiquement une clef USB que vous placerez sous surveillance constante. La machine sera toujours vulnérable à une attaque de type [[http://​theinvisiblethings.blogspot.com/​2009/​10/​evil-maid-goes-after-truecrypt.html|evil maiden (en)]], mais compliquera considérablement la tâche de l'​attaquant puisque celui-ci devra s'​attaquer au [[:​grub|GRUB]] ou au [[:​wiki:​glossaire#​BIOS]]. Il devient plus simple de placer un [[http://​fr.wikipedia.org/​wiki/​Keylogger|keylogger]] matériel sur le clavier.
   - Une deuxième solution s'​appuie sur les puces dites [[http://​fr.wikipedia.org/​wiki/​Trusted_Platform_Module|TPM]]. Des mécanismes matériels entrent en scène pour s'​assurer que le [[:​wiki:​glossaire#​BIOS]] n'a pas été modifié, le [[:​wiki:​glossaire#​BIOS]] vérifie que le GRUB n'a pas été modifié, et le [[:​grub|GRUB]] vérifie que le /boot n'a pas été modifié. On obtient ainsi une chaine de confiance qui garanti que le système n'a pas été corrompu. Cette technique est complexe à mettre en place et la communauté du libre n'est pas encore enclin à promouvoir un système qui cachent aussi des effets secondaires pervers [[http://​www.gnu.org/​philosophy/​can-you-trust.fr.html|source]].   - Une deuxième solution s'​appuie sur les puces dites [[http://​fr.wikipedia.org/​wiki/​Trusted_Platform_Module|TPM]]. Des mécanismes matériels entrent en scène pour s'​assurer que le [[:​wiki:​glossaire#​BIOS]] n'a pas été modifié, le [[:​wiki:​glossaire#​BIOS]] vérifie que le GRUB n'a pas été modifié, et le [[:​grub|GRUB]] vérifie que le /boot n'a pas été modifié. On obtient ainsi une chaine de confiance qui garanti que le système n'a pas été corrompu. Cette technique est complexe à mettre en place et la communauté du libre n'est pas encore enclin à promouvoir un système qui cachent aussi des effets secondaires pervers [[http://​www.gnu.org/​philosophy/​can-you-trust.fr.html|source]].
  
-Côté sécurité réseau, nous mettrons en place une protection contre les indésirables avec l'​outil [[:​moblock|blockcontrol]] ​(anciennement appelé ​moblocker). Cet outil permet par exemple d'​empêcher les connexions vers ou depuis des IPs appartenant à des sociétés qui relève les addresses IP procédant à un téléchargement illicite.+Côté sécurité réseau, nous mettrons en place une protection contre les indésirables avec l'​outil ​PeerGuardian Linux  (anciennement appelé ​[[:​moblock|blockcontrol]] ​et encore avant, ​moblocker). Cet outil permet par exemple d'​empêcher les connexions vers ou depuis des IPs appartenant à des sociétés qui relève les addresses IP procédant à un téléchargement illicite.
  
 ===== Préparation du domaine de stockage ===== ===== Préparation du domaine de stockage =====
Ligne 39: Ligne 40:
   * Nous allons utilisez le système de partitionnement [[http://​fr.wikipedia.org/​wiki/​GUID_Partition_Table|GPT]] à la place du traditionnel (et obsolète-né) [[http://​fr.wikipedia.org/​wiki/​Master_Boot_Record|MBR]] pour permettre l'​installation d'un secteur d'​amorçage supérieur à 512KiB. En effet notre [[:​grub|GRUB]] risque de rapidement devenir obèse avec tout ce qu'on attends de lui. Pour des questions de performance,​ nous allons aligner les partitions nous aurons donc 2 [[:​grub|GRUBs]] et 2 /boot.   * Nous allons utilisez le système de partitionnement [[http://​fr.wikipedia.org/​wiki/​GUID_Partition_Table|GPT]] à la place du traditionnel (et obsolète-né) [[http://​fr.wikipedia.org/​wiki/​Master_Boot_Record|MBR]] pour permettre l'​installation d'un secteur d'​amorçage supérieur à 512KiB. En effet notre [[:​grub|GRUB]] risque de rapidement devenir obèse avec tout ce qu'on attends de lui. Pour des questions de performance,​ nous allons aligner les partitions nous aurons donc 2 [[:​grub|GRUBs]] et 2 /boot.
   * Les 2 partitions /boot profiterons d'un [[http://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29#​RAID_1_:​_Disques_en_miroir|RAID1]] logiciel.   * Les 2 partitions /boot profiterons d'un [[http://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29#​RAID_1_:​_Disques_en_miroir|RAID1]] logiciel.
-  * Les partitions de [[http://​fr.wikipedia.org/​wiki/​M%C3%A9moire_virtuelle#​Swapping|swap]] ne seront pas dans le RAID pour des questions de performances mais seront chiffrés malgré tout. Les données stockés dans le [[http://​fr.wikipedia.org/​wiki/​M%C3%A9moire_virtuelle#​Swapping|swap]] peuvent en effet contenir des informations sensibles ou utiles à un attaquant.+  * Les partitions de [[http://​fr.wikipedia.org/​wiki/​M%C3%A9moire_virtuelle#​Swapping|swap]] ne seront pas dans le RAID pour des questions de performances mais seront chiffrés malgré tout. Les données stockés dans le [[http://​fr.wikipedia.org/​wiki/​M%C3%A9moire_virtuelle#​Swapping|swap]] peuvent en effet contenir des informations sensibles ou utiles à un attaquant. L'​utilisation de ces partitions de swap est optionnelle. Vous pouvez à la place utiliser un [[:​swap#​definir_un_fichier_comme_fichier_d_echange_avance|fichier d'​échange]],​ ce qui simplifiera votre installation.
   * Le reste du système sera placé dans un conteneur [[:​lvm|LVM2]],​ lui-même dans un conteneur [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]],​ lui-même dans une grappe RAID une combinaison de performance,​ sécurité et flexibilité.   * Le reste du système sera placé dans un conteneur [[:​lvm|LVM2]],​ lui-même dans un conteneur [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]],​ lui-même dans une grappe RAID une combinaison de performance,​ sécurité et flexibilité.
  
Ligne 75: Ligne 76:
 | Écrire une table de partitions GPT | mklabel gpt | | Écrire une table de partitions GPT | mklabel gpt |
 | Ajouter une partition | mkpart nom debut fin | | Ajouter une partition | mkpart nom debut fin |
-==== RAID / LUKS / LVM ==== +==== Adjonction ​de la couche ​RAID ==== 
-Maintenant que votre schéma ​de partitionnement est appliqué nous allons assembler le RAID, y créer un conteneur [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] qui sera partitioné avec du LVM. +Pour assembler les grappes RAID nous avons besoin de [[apt://​mdadm]]. Notre ///boot// sera dans un [[http://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29#​RAID_1_:​_Disques_en_miroir|RAID1]] et [[:​grub|GRUB]] impose que si la partition de ///boot// est dans un RAID alors la version des [[metadata]] [[http://​grub.enbug.org/​LVMandRAID|doit être la 0.90]]. Pour cette raison, nous n'​utiliserons pas l'​Utilitaire de disque pour la création du RAID (qui utilise la version 1.20). Par contre, pour le RAID qui contiendra la racine nous utiliserons les metadata version 1.20. Pourquoi? La version 0.90 place les metadata à la fin de la partition. Pour notre dernière ​partition, ​la fin de la partition correspond ​aussi à la fin du disque. Lorsque mdadm cherche les metadata sur le disque il peut croire que tout le disque appartient au RAID (expérience vécu). Mais utiliser ​la v1.20 des metadata entraine un autre problème comme l'​alignement des block LUKS et LVM, ce qui peut nous empêcher d'​atteindre des performances optimales.
- +
-=== RAID === +
-Pour assembler les grappes RAID nous avons besoin de [[apt://​mdadm]]. Notre ///boot// sera dans un [[http://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29#​RAID_1_:​_Disques_en_miroir|RAID1]] et [[:​grub|GRUB]] impose que si la partition de ///boot// est dans un RAID alors la version des [[metadata]] [[http://​grub.enbug.org/​LVMandRAID|doit être la 0.90]]. Pour cette raison, nous n'​utiliserons pas l'​Utilitaire de disque pour la création du RAID (qui utilise la version 1.20). Par contre, pour le RAID qui contiendra la racine nous utiliserons les metadata version 1.20. Pourquoi? La version 0.90 place les metadata à la fin de la partition, ​ce qui peut aussi correspondre ​à la fin du disque. Lorsque mdadm cherche les metadata sur le disque il peut croire que tout le disque appartient au RAID et bonjour ​la cata!+
 N'​hésitez pas à changer votre schéma de partitions pour combiner l'​utilisation de plusieurs famille de RAID par exemple. N'​hésitez pas à changer votre schéma de partitions pour combiner l'​utilisation de plusieurs famille de RAID par exemple.
  
Ligne 85: Ligne 83:
  
 <​code>​ <​code>​
-mdadm --create /dev/md0 --metadata=0.90 --raid-devices=2 ​--chunk=64 ​--level=1 /​dev/​sd[ab]2+mdadm --create /dev/md0 --metadata=0.90 --raid-devices=2 --level=1 /​dev/​sd[ab]2
 mdadm --create /dev/md1 --metadata=1.2 --raid-devices=2 --chunk=128 --level=0 /​dev/​sd[ab]4 mdadm --create /dev/md1 --metadata=1.2 --raid-devices=2 --chunk=128 --level=0 /​dev/​sd[ab]4
 </​code>​ </​code>​
  
-<note tip>Si pour une raison ou une autre vous étiez ammené à devoir assembler votre raid (càd, à le rendre disponible sans le re-créer) vous remarquerez que /dev/md1 nécessite qu'on lui précise ses 2 partitions alors que md0 le fait automatiquement.</​note>​ +==== Adjonction de la couche de chiffrement ====
- +
-=== LUKS ===+
 Le [[http://​fr.wikipedia.org/​wiki/​Mode_d%27op%C3%A9ration_%28cryptographie%29|mode d'​opération]] que nous allons utiliser est [[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​XTS|XTS (en)]], plus adapté au chiffrement de disque. Le [[http://​fr.wikipedia.org/​wiki/​Mode_d%27op%C3%A9ration_%28cryptographie%29|mode d'​opération]] que nous allons utiliser est [[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​XTS|XTS (en)]], plus adapté au chiffrement de disque.
  
 Nous n'​utiliserons pas d'​[[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​ESSIV|ESSIV (en)]] car [[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​XTS|XTS (en)]] embarque son propre mécanisme pour choisir son [[http://​fr.wikipedia.org/​wiki/​Vecteur_d%27initialisation|vecteur d'​initialisation]] (IV). Ajouter l'​[[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​ESSIV|ESSIV (en)]] apporterai un gain négligeable de protection comparé à son impact sur les performances [[http://​seclists.org/​basics/​2009/​May/​253|source]] [[http://​code.google.com/​p/​cryptsetup/​wiki/​FrequentlyAskedQuestions#​5._Security_Aspects|source officielle]]. Nous utiliserons du plain64 pour nos IV parce qu'en fonction de la taille de vos disques et de la taille des blocs, l'​utilisation du plain(32bits) peut introduire une faille de sécurité du à la répétition des IV. Nous n'​utiliserons pas d'​[[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​ESSIV|ESSIV (en)]] car [[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​XTS|XTS (en)]] embarque son propre mécanisme pour choisir son [[http://​fr.wikipedia.org/​wiki/​Vecteur_d%27initialisation|vecteur d'​initialisation]] (IV). Ajouter l'​[[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​ESSIV|ESSIV (en)]] apporterai un gain négligeable de protection comparé à son impact sur les performances [[http://​seclists.org/​basics/​2009/​May/​253|source]] [[http://​code.google.com/​p/​cryptsetup/​wiki/​FrequentlyAskedQuestions#​5._Security_Aspects|source officielle]]. Nous utiliserons du plain64 pour nos IV parce qu'en fonction de la taille de vos disques et de la taille des blocs, l'​utilisation du plain(32bits) peut introduire une faille de sécurité du à la répétition des IV.
  
-Le chiffrement que nous utiliserons est [[http://​fr.wikipedia.org/​wiki/​Serpent_%28cryptographie%29|Serpent]]. Il offre un niveau de protection supérieur au [[http://​fr.wikipedia.org/​wiki/​Rijndael|Rijndael]] (dont la version bridéel'[[http://​fr.wikipedia.org/​wiki/​Advanced_Encryption_Standard_process|AES]], est d'avantage connue) et semble plus rapide que ce dernier ​sur les système 64bits [[http://​www.saout.de/​pipermail/​dm-crypt/​2009-August/​000046.html|source (à vérifier)]].+Le chiffrement que nous utiliserons est l'[[http://​fr.wikipedia.org/​wiki/​Rijndael|AES]]. Le chiffrage ​[[http://​fr.wikipedia.org/​wiki/​Serpent_%28cryptographie%29|Serpent]], même s'il est cryptographiquement plus sûr, est suffisamment lourd pour former un goulot ​d'étranglement ​sur le débit des disques.
  
-Pour le container [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] en RAID, on peut utiliser l'​option //​align-payload//​ qui permet de modifier la taille des blocs logiques ​du container. Par défaut cette valeur est de 8 (secteurs x 512o = 4Ko) que nous plaçons à 256 (secteurs x 512o = 128Ko). Pensez à adapter cette valeur si vous avez personnalisé la taille du chunk de vos RAIDs pour que la taille de vos blocs [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] soit des multiples de la taille de vos chunck RAID. N'​exagérez pas nous plus sur la taille de vos blocs [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]],​ plus vous augmentez la taille des blocs plus le [[http://​en.wikipedia.org/​wiki/​Disk_encryption_theory#​XTS|XTS (en)]] devient vulnérable car vous empêcher l'​utilisation d'un nouveau IV. Le [[http://​fr.wikipedia.org/​wiki/​National_Institute_of_Standards_and_Technology|NIST]] recommande des blocs d'une taille inférieure à 16Mio pour un chiffrement AES [[http://​csrc.nist.gov/​publications/​nistpubs/​800-38E/​nist-sp-800-38E.pdf|source (en)]].+Pour le container [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] en RAID, on va utiliser l'​option //​align-payload// ​(qui permet de modifier la où commence les blocs de données ​du container) pour aligner le container avec notre RAID. Par défaut cette valeur est de 8 (secteurs x 512o = 4Ko) que nous plaçons à 512. 
 +La formule optimale est : //(chunk_size/512o)*qt_data_disk//​. Un RAID5 de 3 disques aura une valeur de qt_data_disk de 2 un RAID0 de 3 disques aura une valeur de 3. Pensez à adapter cette valeur si vous avez personnalisé la taille du chunk de vos RAIDs.
 <​code>​ <​code>​
-cryptsetup luksFormat --cipher=serpent-xts-plain64 --hash=sha256 --key-size=512 /dev/sda3 +cryptsetup luksFormat --cipher=aes-xts-plain64 --hash=sha256 --key-size=512 /dev/sda3 
-cryptsetup luksFormat --cipher=serpent-xts-plain64 --hash=sha256 --key-size=512 /dev/sdb3 +cryptsetup luksFormat --cipher=aes-xts-plain64 --hash=sha256 --key-size=512 /dev/sdb3 
-cryptsetup luksFormat --cipher=serpent-xts-plain64 --hash=sha256 --key-size=512 --align-payload=256 /dev/md1+cryptsetup luksFormat --cipher=aes-xts-plain64 --hash=sha256 --key-size=512 --align-payload=512 /dev/md1
 </​code>​ </​code>​
  
-Vous pouvez maintenant déverrouiller les conteneurs [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] pour obtenir vos partitions mappées dans /​dev/​mapper/​ : +Vous pouvez maintenant déverrouiller les conteneurs [[http://​www.k-tux.com/​luks-quelques-grammes-de-paranoia-pour-des-donnees-bien-protegees|LUKS]] pour obtenir vos partitions mappées dans /​dev/​mapper/​ :
 <​code>​ <​code>​
 cryptsetup luksOpen /dev/sda3 unlocked-swapa cryptsetup luksOpen /dev/sda3 unlocked-swapa
Ligne 112: Ligne 109:
 </​code>​ </​code>​
  
-=== LVM ===+==== Adjonction de la couche de gestion des volumes logiques ====
 Les disques sont partitionnés,​ les RAID assemblés et les conteneurs LUKS en place et déverrouillés ; nous allons pouvoir segmenter notre espace de stockage pour y placer les système de fichiers (ou //​formater//​). Les disques sont partitionnés,​ les RAID assemblés et les conteneurs LUKS en place et déverrouillés ; nous allons pouvoir segmenter notre espace de stockage pour y placer les système de fichiers (ou //​formater//​).
  
-La création d'un [[:​lvm|LVM]] se fait en petites étapes : +La création d'un [[:​lvm|LVM]] se fait en petites étapes : 
-  - un petit coup de [[apt://​lvm2]]+  - L'​installation ​[[apt://​lvm2]]
   - On désigne les volumes physique (disques-durs,​ RAIDs, conteneur LUKS déverrouillés,​ ...) qui seront gérés par LVM.   - On désigne les volumes physique (disques-durs,​ RAIDs, conteneur LUKS déverrouillés,​ ...) qui seront gérés par LVM.
   - On regroupe ensuite ces volumes physiques pour former un groupe de volumes, un gros volume physique en somme.   - On regroupe ensuite ces volumes physiques pour former un groupe de volumes, un gros volume physique en somme.
   - On découpe ensuite ce groupe de volumes en volumes logiques, des partitions en somme.   - On découpe ensuite ce groupe de volumes en volumes logiques, des partitions en somme.
  
-Les premières étapes se font simplement :+<​note>​Même si le LVM permet de regrouper plusieurs volumes physique pour n'en former qu'un, ce n'est pas un équivalent au RAID. Le LVM se concentre sur l'​exploitation logique des volumes (partionnement,​ redimenssionnement des partitions, augmentation de la taille d'un volume, ...) tandis que le RAID se préoccupe de l'​exploitation matériel (meilleurs performances,​ tolérance aux pannes, ...)</​note>​ 
 + 
 +Les premières étapes se font simplement :
 <​code>​ <​code>​
 +apt-get install lvm2
 pvcreate /​dev/​mapper/​unlocked-md1 pvcreate /​dev/​mapper/​unlocked-md1
 vgcreate rootvg /​dev/​mapper/​unlocked-md1 vgcreate rootvg /​dev/​mapper/​unlocked-md1
 </​code>​ </​code>​
 +
 +<​note>//​pvcreate//​ est suffisamment bien foutu pour s'​aligner tout seul avec votre grappe RAID.</​note>​
  
 Créons maintenant le volume logique (partition) qui accueillera la racine de notre système de fichier, ici de 80Gio : Créons maintenant le volume logique (partition) qui accueillera la racine de notre système de fichier, ici de 80Gio :
Ligne 162: Ligne 164:
 <​code>​lvcreate --name homelv --size 907788m rootvg</​code>​ <​code>​lvcreate --name homelv --size 907788m rootvg</​code>​
  
-=== Quelques petites finitions ​=== +==== Adjonction de la couche des systèmes de fichiers ==== 
-Nous avons certes fini de créer nos //​partitions//​ mais aux yeux d'​Ubuntu ce sont de chacune des volumes distinct. Ubuntu n'​acceptera pas de s'​installer sur ces volumes sans table de partitions. On va lui jouer un petit tour pour le piéger en créer des tables ​de partitions spéciales (dite //loop//) parce que nous ne voulons pas re-re-partitionner.+Nous avons certes fini de créer nos //​partitions//​ mais aux yeux d'​Ubuntu ce sont chacune des volumes distinct. Ubuntu n'​acceptera pas de s'​installer sur ces volumes sans table de partitions. On va lui jouer un petit tour pour le piéger en créant nous mêmes le système de fichier. Cette étape est d'​autant plus importante que nous devons de plus créer des systèmes de fichiers qui alignés à nos blocs logiques, on en profitera aussi pour désactiver la journalisation sur la partition ​de ///boot//
  
-Rendez-vous de nouveau ​de l'​Utilitaire de DisquePour chacun des volumes suivant ​+Cet alignement se fait en paramètrant les valeurs //stride// et //stripe-width// lors de la création du système ​de fichierLes formules optimales sont 
-  * RAID-1 qui contient ///boot/+  * stride = chunk_size ​4096o 
-  * les 2 volumes logiques ​(Peripheral Devices) +  * stripe-width = stride x qt_data_disk ​(n pour RAID01 pour RAID1, n-1 pour RAID5, ...)
-  * les 2 partitions de swap (sélectionnez les conteneurs déverrouillés). +
-Cliquez sur **Format Volume**choisissez le Type **Swap Space** et validez. De cette façonla table de partition sera créée et l'​installateur d'​Ubuntu ne fera pas de grimacesSi vous êtes vraiment perfectionniste,​ formatez /boot en [[:​ext4|ext4]] et [[:​ext4#​desactiver_la_journalisation|désactivez la journalisation]] ​+
  
-{{:​media_center:​mediabunker-raid1-loop.png?​500|Capture d'​écran de Disk Utility illustrant l'​opération pour le RAID contenant ​/boot}} +<​code>​ 
-{{:​tutoriel:​mediabunker-luks-swap.png?​500|Capture d'​écran de Disk Utility illustrant l'​opération pour une partition swap déverrouillée}} +mkfs.ext4 ​-b 4096 -E stride=16,​stripe-width=16 -O ^has_journal -L boot /dev/md0 
- +mkfs.ext4 ​-b 4096 -E stride=32,​stripe-width=64 -L system /​dev/​mapper/​rootvg-systemlv 
-==== Avancé : Evoluer son RAID0 vers un RAID5 ==== +mkfs.ext4 -b 4096 -E stride=32,stripe-width=64 -L home /​dev/​mapper/​rootvg-homelv 
-On l'a vu précédemment,​ votre système dispose d'une protection contre les pannes car votre GRUB et votre système sont sur une grappe RAID1Par contrevotre /home est sur un RAID0 ; il est donc plus sensible à la panne (le défaut d'un seul disque d'une grappe RAID0 entraine le défaut de toute la grappe). Une solution RAID propose de tolérer le défaut d'un disque sans mettre en défaut toute la grappe : le RAID5. De cette façon, si un disque tombe en panne vous aurez un avertissement et pourrai changer le disque défaillant sans même avoir à éteindre votre machine! +mkswap /​dev/​mapper/​unlocked-swapa 
- +mkswap ​/dev/mapper/​unlocked-swapb 
-=== Le partitionnement === +</​code>​
-Pour des questions d'​alignement,​ vous devez reproduire le même schèma de partitionnement que sur vos autres disques. Personnellement,​ j'​affiche avec précision mon schéma de partionnement avec la commande : +
-<​code>​parted ​/dev/sdX unit s print</​code>​ +
-pour ensuite les ré-appliquer sur le nouveau disque. Pour les habitués du RAID, sfdisk ne fonctionnera pas avec nos tables de partitions GPT. +
- +
-=== Ajout d'un disque aux grappes RAID1 === +
-=== Ajout d'un disque et changement de niveau d'un RAID0 ===+
  
 ===== Installation et paramétrage du système ===== ===== Installation et paramétrage du système =====
Ligne 195: Ligne 189:
  
 ^Périphérique ​ ^ Utiliser comme ^ Formater? ^ Point de montage ^ ^Périphérique ​ ^ Utiliser comme ^ Formater? ^ Point de montage ^
-^/​dev/​mapper/​rootvg-homelv ​ | ext4 | Oui | /home | +^/​dev/​mapper/​rootvg-homelv ​ | ext4 | Non | /home | 
-^/​dev/​mapper/​rootvg-systemlv ​ | ext4 | Oui | / | +^/​dev/​mapper/​rootvg-systemlv ​ | ext4 | Non | / | 
-^/​dev/​md0 ​ | ext2 Oui | /boot |+^/​dev/​md0 ​ | ext4 Non | /boot |
 ^  En chargeur d'​amorçage,​ choisissez : **/​dev/​sda** ​ ^^^^ ^  En chargeur d'​amorçage,​ choisissez : **/​dev/​sda** ​ ^^^^
-^  **Ne formatez pas /boot s'il est déjà en ext4 déjournalisé** ​ ^^^^ 
  
   * Lancez l'​installation,​ préparez-vous un café et prenez le temps de répondre au quelques questions de l'​installateur.   * Lancez l'​installation,​ préparez-vous un café et prenez le temps de répondre au quelques questions de l'​installateur.
Ligne 205: Ligne 198:
  
 ==== Paramètrage des services d'​amorçage ==== ==== Paramètrage des services d'​amorçage ====
-Ubuntu est sur votre RAID chiffré! sauf qu'​avec toutes ces couches (RAID, LUKS et LVM), l'​installateur ne s'y retrouve plus et à besoin d'un coup de pouce pour comprendre comment démarrer votre machine.+Ubuntu est sur votre RAID chiffré! sauf qu'​avec toutes ces couches (RAID, LUKS et LVM), l'​installateur ne s'y retrouve plus et à besoin d'un coup de pouce pour comprendre comment démarrer votre machine. Nous allons rentrer dans notre installation toute fraîche et lui expliquer tout ça.
  
-TODOLIST : +Pour entrer, on va se //​[[:​chroot|chrooter]]// ; on pourra lancer des commandes comme si nous avions démarrer ​notre nouvelle ​installation : 
-  * DONE: Vérifier si /target est démonté à ce niveau : OUI +
-  * Vérifier le mappage utilisé par l'​installateur pour générer son fstab : OK +
-  * Vérifier que les entrées dupliquées dans cryptroot ne causent pas de pb : pas de pb +
-  * Vérifier le nommage des modules +
-  * Justifier les modules invoqués (les scripts de généraion les invoquent?​) +
-  * Proposer l'​authentification forte pour déverrouiller ​//​systemlv//​ +
- +
-On se [[:chroot|chroote]] dans notre installation ​toute fraiche ​+
 <​code>​ <​code>​
 mount /​dev/​mapper/​rootvg-systemlv /target mount /​dev/​mapper/​rootvg-systemlv /target
 +mount /​dev/​mapper/​rootvg-homelv /​target/​home
 mount /dev/md0 /​target/​boot mount /dev/md0 /​target/​boot
-mount -t devpts devpts /dev/pts+mount -t devpts devpts ​/target/dev/pts
 mount -t proc /proc /​target/​proc mount -t proc /proc /​target/​proc
 mount -t sysfs /sys /target/sys mount -t sysfs /sys /target/sys
Ligne 226: Ligne 212:
 </​code>​ </​code>​
  
-On va commencer par installer les fonctionnalités de RAID, LUKS et de LVM2 :+Notre installation ne sait démarrer ni le RAID, ni le LVM, ni le LUKS. On va devoir installer ces logiciels comme au début ​de notre installation ​:
 <​code>​apt-get install mdadm lvm2 cryptsetup</​code>​ <​code>​apt-get install mdadm lvm2 cryptsetup</​code>​
  
 +Lorsque la machine démarre, un mini-linux (initrd) est lancé pour en démarrer un plus gros (le notre) ensuite. Il faut que ajouter des modules à initrd pour qu'il puisse démarrer le RAID, le LVM et le LUKS. Tout ces modules vont beaucoup alourdir l'​initrd jusqu'​à atteindre une taille non-standard et normalement interdite. C'est pour ces raisons que nous avions utiliser GPT et des partition bios-grub au tout début. Pour ajouter les modules, éditez ce fichier comme suit:
 <file text /​etc/​initramfs-tools/​modules>​ <file text /​etc/​initramfs-tools/​modules>​
 raid1 raid1
 raid0 raid0
 +#raid5
 dm-crypt dm-crypt
 dm-mod dm-mod
-serpent+aes
 sha256 sha256
 xts xts
Ligne 242: Ligne 229:
 </​file>​ </​file>​
  
-Vous vous souvenez que les partitions de swap ont chacune leurs propres conteneur LUKS? Plutôt que d'​avoir à saisir à chaque démarrage leurs clefs, nous allons [[:​dd#​creer_un_fichier_de_100_octets_aleatoires|générer des clefs]] très sures (plus sure que n'​importe quel mot de passe) à l'​intérieur du conteneur chiffré du système (pour qu'​elle ne soit pas exposées). Ainsi, lorsque l'on déverrouillera le conteneur ​du système Ubuntu déverrouillera tout seul les conteneur ​de swap.+Il faut aussi faire en sorte que cet l'​initrd nous demande de saisir un mot de passe pour qu'il puisse déverrouiller les conteneur. 
 +<​code>​ 
 +ln --symbolic /​usr/​share/​initramfs-tools/​hooks/​cryptroot /​etc/​initramfs-tools/​hooks/​ 
 +ln --symbolic /​usr/​share/​initramfs-tools/​scripts/​local-top/​cryptroot /​etc/​initramfs-tools/​scripts/​local-top/​ 
 +touch /​etc/​initramfs-tools/​conf.d/​cryptroot 
 +</​code>​ 
 + 
 +Vous vous souvenez que les partitions de swap ont chacune leurs propres conteneur LUKS? Plutôt que d'​avoir à saisir à chaque démarrage leurs clefs, nous allons [[:​dd#​creer_un_fichier_de_100_octets_aleatoires|générer des clefs]] très sures (plus sure que n'​importe quel mot de passe) ​que l'on va stocker ​à l'​intérieur du conteneur chiffré du système (pour qu'​elle ne soit pas exposées). Ainsi, lorsque l'on déverrouillera le premier ​conteneur ​chiffré ​les clefs seront disponible et nous déverrouilleront alors les partitions ​de swap. Ces commandes générer les clefs, les placent dans /​etc/​ssl/​private puis supprime les anciens mots de passe du swap:
 <​code>​ <​code>​
-dd if=/​dev/​urandom of=/​etc/​ssl/​private/​swapa.key bs=count=64 +dd if=/​dev/​urandom of=/​etc/​ssl/​private/​swapa.key bs=64k count=1 
-dd if=/​dev/​urandom of=/​etc/​ssl/​private/​swapb.key bs=count=64 +dd if=/​dev/​urandom of=/​etc/​ssl/​private/​swapb.key bs=64k count=1 
-dd if=/​dev/​urandom of=/​etc/​ssl/​private/​system.key bs=count=64+dd if=/​dev/​urandom of=/​etc/​ssl/​private/​system.key bs=64k count=1
 cryptsetup luksAddKey /dev/sda3 /​etc/​ssl/​private/​swapa.key cryptsetup luksAddKey /dev/sda3 /​etc/​ssl/​private/​swapa.key
 cryptsetup luksAddKey /dev/sdb3 /​etc/​ssl/​private/​swapb.key cryptsetup luksAddKey /dev/sdb3 /​etc/​ssl/​private/​swapb.key
Ligne 254: Ligne 248:
 </​code>​ </​code>​
  
-Vous connaissez [[:​fstab#​le_fichier_fstab|fstab]]?​ [[:​cryptsetup|crypttab]] c'est son complément pour les volumes chiffrés.+Vous connaissez [[:​fstab#​le_fichier_fstab|fstab]]?​ [[:​cryptsetup|crypttab]] c'est son complément pour les volumes chiffrés. ​Ce fichier explique où sont les conteneur chiffrés et comment le système doit les déverrouiller:​
 <file text /​etc/​crypttab>​ <file text /​etc/​crypttab>​
 # <target name>​ <​source device>​ <​key file>​ <​options>​ # <target name>​ <​source device>​ <​key file>​ <​options>​
Ligne 262: Ligne 256:
 </​file>​ </​file>​
  
-Il faut demander à l'​initramfs de nous demander de saisir un mot de passe et de déverrouiller avant de lancer //init//. Pour cela nous allons ajouter un hooker pour que y saisir notre mot de passe et un script de génération de configuration (pour dire ce qu'on déverrouille). +Maintenant qu'on a bien détailler au système la procédure de démarrage, on installe le nouvelle initrd ​:
-<​code>​ +
-ln --symbolic /​usr/​share/​initramfs-tools/​hooks/​cryptroot /​etc/​initramfs-tools/​hooks/​ +
-ln --symbolic /​usr/​share/​initramfs-tools/​scripts/​local-top/​cryptroot /​etc/​initramfs-tools/​scripts/​local-top/​ +
-touch /​etc/​initramfs-tools/​conf.d/​cryptroot +
-</​code>​ +
-Le script de génération a quelques défauts : +
-  - Il n'​écrit pas la configuration si le fichier cryptroot n'est pas présent (d'où le [[:​touch|touch]]). +
-  - A chaque update-initramfs,​ il dupplique les entrées de configuration ; c'est pas très propre. +
- +
-Maintenant qu'on a bien détailler au système la procédure de démarrage, on va appliquer nos modifications ​:+
 <​code>​update-initramfs -k all -c</​code>​ <​code>​update-initramfs -k all -c</​code>​
  
Ligne 281: Ligne 265:
 umount /​target/​proc umount /​target/​proc
 umount /target/sys umount /target/sys
 +umount /​target/​dev/​pts
 umount /target/dev umount /target/dev
 +umount /​target/​home
 umount /target/ umount /target/
 vgchange -an rootvg vgchange -an rootvg
Ligne 289: Ligne 275:
 reboot now reboot now
 </​code>​ </​code>​
- 
 ===== Installation des services mediacenter ===== ===== Installation des services mediacenter =====
 +Nous avons maintenant une plateforme qui démarre. Nous allons transformer cette brique chiffrée en mediacenter fonctionnel.
 +
 +Script d'​installation rapide:
 +  * ssh, screen: Pour le tâche d'​administration à distance
 +  * fglrx: Pour l'​accélération matérielle
 +  * xbmc, xbmc-wiiremote:​ Pour le multimédia et la prise en charge de la wiimmote
 +  * deluge-web: Client bittorrent et son interface web
 +  * nginx: Front-end Web performant pour tout nos services accessible depuis le Web
 +  * php5-fpm: Pour d'​autre service Web
 +  * python-pip: Pour installer Flexget
 +  * pgld: Pour filtrer les communications vers des machines indésirables (sniffer, botnet, hadopi, ...)
 +  * smartmontools:​ pour le monitoring des disques durs
 +  * postfix, opendkim: pour l'​envoi de mail (notamment pour prévenir des pannes détectés par smartmontools)
 +  * dnssec: pour une résolution sans faille (notamment pour que opendkim arrête de nous insulter)
 +  * spamassin, spamass-milter:​ pour recevoir des mails
 +
 +<​code>​
 +add-apt-repository ppa:​wsnipex/​xbmc-xvba
 +add-apt-repository ppa:​nginx/​development
 +add-apt-repository ppa:​deluge-team/​ppa
 +add-apt-repository ppa:​jre-phoenix/​pgl-experimental
 +apt-get update
 +apt-get autoremove transmission-gtk
 +apt-get install ssh screen \
 +fglrx xbmc-standalone xbmc-eventclients-wiiremote \
 +nginx-full php5-fpm php5-gd php5-mysql mysql-server mysql-client \
 +deluged deluge-web python-pip pgld
 +pip install flexget
 +# Copier les script dans /​etc/​init.d/​
 +update-rc.d deluge-daemon defaults
 +update-rc.d xbmc-wiiremote defaults
 +</​code>​
 +<file - /​etc/​init.d/​deluge-daemon></​file>​
 +<file - /​etc/​init.d/​xbmc-wiiremote></​file>​
 +<file - /​etc/​nginx/​sites-available/​mediabunker></​file>​
 +
 +A virer:
   - Remplacer les clef SSH. Générer de nouveaux groupes d'​échanges Diffie-Hellman :   - Remplacer les clef SSH. Générer de nouveaux groupes d'​échanges Diffie-Hellman :
 <​code>​ssh-keygen -G candidates -b 4096</​code>​ <​code>​ssh-keygen -G candidates -b 4096</​code>​
Ligne 327: Ligne 349:
 apt-get install nginx-full apt-get install nginx-full
 </​code>​ </​code>​
-<file - /​etc/​nginx/​sites-available/​transmission-web> +<file - /​etc/​nginx/​sites-available/​mediabunker></file>
-# Redirection HTTP vers HTTPS +
-server { +
- listen 0.0.0.0:​80;​ +
- add_header Cache-Control "​public,​ must-revalidate";​ +
- access_log /var/​log/​nginx/​transmission-proxy.access;​ +
- error_log /​var/​log/​nginx/​transmission-proxy.log;​ +
- server_name transmission.votre-domaine.net;​ +
-  +
- location / { +
- if ($host ~* ^(transmission\.votre-domaine\.net)$ ) { +
- rewrite ​ ^/​(.*)$ ​ https://​transmission.votre-domaine.net/​$1 permanent;​ +
-+
- return 444; +
-+
-}+
  
-server { +[[http://​wiki.cchtml.com/​index.php/​Ubuntu_Maverick_Installation_Guide#Installing_Proprietary_Drivers_a.k.a._Catalyst.2Ffglrx|Activer l'​accélération matérielle pour ATI (obsolète)]] 
- ### server port and name ### +[[http://forum.xbmc.org/​showthread.php?​tid=116996|XvBA ​(décompression vidéo materielle)]] 
- listen 0.0.0.0:443 ssl; +==== Protection contre les spiders indésirables ==== 
- listen [votre:ip:v6]:443 ssl; +  ​install de <​del>​blockcontrol</​del>​ pgld (PeerGuardian Daemon)[[http://​papillon-butineur.blogspot.com/​2010/​05/​ip-filter-peergardian-linux-pgl-succede.html|Tuto suivi]]
- server_name transmission.votre-domaine.net; +
- if ($host !~^(transmission.votre-domaine.net)$ ) { return 444; } #URL non matché par le domaine+
  
- access_log /var/log/nginx/transmission-proxy.access;​ +===== Avancé : Évoluer son RAID0 vers un RAID5/6 ===== 
- error_log /var/log/nginx/transmission-proxy.error;+On l'a vu précédemment,​ votre système dispose en partie d'une protection contre les pannes car votre //GRUB// et votre ///boot// sont sur une grappe RAID1Par contre, votre /home et le reste du système sont sur un RAID0 une partie du système est donc plus sensible à la panne (le défaut d'un seul disque d'une grappe RAID0 entraine le défaut de toute la grappe). Des solutions RAID proposent de tolérer le défaut d'un (RAID5) ou de deux disques (RAID6) sans mettre en défaut toute la grappe. De cette façon, si un disque tombe en panne vous aurez un avertissement et pourrez changer le(s) disque(s) défaillant(s) sans avoir perdu vos données!
  
- ssl on; +//Ce qui suit s'​appuie sur [[:​deplacer_root|un]],​ voire [[tutoriel:​deplacer_home|deux]] articles de ce site.//
- ssl_certificate /etc/ssl/​certs/​transmission.votre-domaine.net.4096.startssl.crt;​ +
- #​ssl_certificate /etc/ssl/​certs/​transmission.votre-domaine.net.4096.crt;​ +
- ssl_certificate_key /​etc/​ssl/​private/​transmission.votre-domaine.net.4096.key;​ +
- ssl_dhparam /​etc/​ssl/​private/​transmission.dh2048.pem;​ +
-  +
- ### Add SSL specific settings here ### +
- keepalive_timeout 60;​ +
- ssl_session_cache shared:​SSL:​10m;​ +
- ssl_session_timeout 5m;​+
  
- ###  Limiting Ciphers ### +==== Préparation ==== 
- ssl_ciphers DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:​AES256-SHA;​ +  Démarrage sur Live-CD 
- #​ssl_ciphers AES256-SHA; +  ​Installation des paquets lvm2, cryptsetup et mdadm 
- ssl_prefer_server_ciphers on;​ +  ​Assemblage du RAID 
- ssl_protocols TLSv1;​+  Déverrouillage du container existant 
 +  - Montage du container déverrouillé
  
- add_header Cache-Control "​public,​ must-revalidate";​ +==== La sauvegarde ==== 
- add_header Strict-Transport-Security "​max-age=2592000; includeSubdomains";​ +On ne peut plus convertir une grappe RAID de niveau 0 vers un autre niveau atteignable (niveaux 5 et 6, par exemple). Je vous propose d'​envoyer un paquet de café d'​arabica de Colombie aux développeurs de mdadm accompagné d'une requête d'​ajout de fonctionnalité (ou plutôt de correction de regression par rapport à //​raidreconf//​).
- add_header Front-End-Https on;+
  
- location / { +Admettez qu'il serait plutôt cocasse de sauvegarder nos données si durement protégées... 
- proxy_pass http://localhost:​9091/; +  - [[utilisateurs:lildadou:​mediabunker#​nettoyage_des_support_physique|Commencer par neutraliser cryptographiquement votre disque de sauvegarde]] 
- proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;+  - [[utilisateurs:​lildadou:​mediabunker#​raid_luks_lvm|Créez-y ensuite un conteneur LUKS (sans vous préoccuper de l'​alignement ou du partionnement)]] 
 +  - [[utilisateurs:​lildadou:​mediabunker#​raid_luks_lvm|Déverrouillez le conteneur LUKS]] 
 +  - Formatez le conteneur déverrouillé,​ montez-le et transférez-y vos données 
 +<​code>​ 
 +shred --iterations=N --verbose ​/dev/sdX 
 +cryptsetup luksFormat --cipher=aes-xts-plain64 --hash=sha256 --key-size=512 ​/dev/sdX 
 +cryptsetup luksOpen /dev/sdX unlocked-sdX 
 +mkfs.ext4 /​dev/​mapper/​unlocked-sdX 
 +mkdir ./​myBackup 
 +mount /​dev/​mapper/​unlocked-sdX ./​myBackup 
 +mkdir ./​myBackup/​root 
 +mkdir ./​myBackup/​home 
 +cp -axv ./​mySystem/​root/​. ./​myBackup/​root/​ 
 +cp -axv ./​mySystem/​home/​. ./​myBackup/​home/</​code>​
  
- ### Set headers #### +Une fois la sauvegarde terminée, on désactive une-à-une les couches logicielle de notre ancien RAID pour les rendre disponibles : 
- proxy_set_header Host $host; +<​code>​ 
- proxy_set_header X-Real-IP $remote_addr;​ +umount ​ ./​mySystem/​root 
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;​+umount ./​mySystem/​home 
 +vgchange ​--available n rootvg 
 +vgremove rootvg 
 +pvremove /dev/md1 
 +cryptsetup luksClose unlocked-md1 
 +mdadm --stop /dev/md1 
 +</​code>​
  
- ### Most PHPPythonRails, Java App can use this header ### +==== RAID / LUKS / LVM / FileSytem ==== 
- proxy_set_header X-Forwarded-Proto https;+Vous pouvez maintenant reproduire l'​[[utilisateurs:​lildadou:​mediabunker#raid_luks_lvm|étape de création des différentes couches logiques]]RAIDLUKS et LVM. Seul la commande de création du RAID diffère : au lieu d'un RAID0 de 2 disques nous souhaitons un RAID5 de 3 disques en précisant que le 3ème disque n'est pas encore disponible (puisqu'​il sert à contenir notre sauvegarde). Ce qui donne la commande : 
 +<​code>​mdadm --create /dev/md1 --metadata=1.2 --raid-devices=3 --chunk=128 ​--level=5 /​dev/​sd[ab]4 missing</​code>​
  
- ### By default we don't want to redirect it #### +Une fois que vous avez créer les autres couches, reste la création du système de fichier, le remontage et le transfère de votre sauvegarde sur votre nouvel assemblage : 
- proxy_redirect off;​ +<​code>​ 
- } +mkfs.ext4 -b 4096 -E stride=32,​stripe-width=64 -L system /​dev/​mapper/​rootvg-systemlv 
-} +mkfs.ext4 -b 4096 -E stride=32,​stripe-width=64 -L home /​dev/​mapper/​rootvg-homelv 
-</file>+mount /​dev/​mapper/​rootvg-systemlv ./​mySystem/​root 
 +mount /​dev/​mapper/​rootvg-homelv ./​mySystem/​home 
 +cp -axv ./​myBackup/​root/​. ./​mySystem/​root/​ 
 +cp -axv ./​myBackup/​home/​. ./​mySystem/​home/​ 
 +</code>
  
-Activer l'​accélération matérielle ​pour ATI (et installer les derniers pilotes) ​http://wiki.cchtml.com/index.php/Ubuntu_Maverick_Installation_Guide#​Installing_Proprietary_Drivers_a.k.a._Catalyst.2Ffglrx+On libère notre disque de sauvegarde ​pour sa future mission ​intégrer la nouvelle grappe RAID. 
 +<​code>​ 
 +umount  ​./myBackup/​root 
 +umount ​./myBackup/​home 
 +cryptsetup luksClose unlocked-sdX 
 +</​code>​
  
-==== Protection contre les spiders indésirables ​==== +==== Actualisation des fichiers de configuration ​==== 
-  ​* install ​de <del>blockcontrol<​/del> pgld (PeerGuardian Daemon). [[http://papillon-butineur.blogspot.com/2010/05/ip-filter-peergardian-linux-pgl-succede.html|Tuto suivi]]+  ​- Actualisez /​etc/​mdadm/​mdadm.conf 
 +  - Updatez l'​initramfs,​ //au cas où// 
 + 
 +==== Intégration du nouveau disque ==== 
 +Pour des questions d'​alignement,​ vous devez reproduire le même schèma ​de partitionnement que sur vos autres disques. Personnellement,​ j'​affiche avec précision mon schéma de partionnement avec la commande : 
 +<code>parted ​/dev/sdX unit s print</code> 
 +pour ensuite les ré-appliquer sur le nouveau disquePour les habitués du RAID, sfdisk ne fonctionnera pas avec nos tables de partitions GPT. 
 + 
 +Faite ensuite participer votre disque à vos grappe RAID (celle de ///boot// et de //root//) : 
 +<​code>​ 
 +mdadm --grow /​dev/​md0 ​--raid-devices=3 
 +mdadm --add /dev/md0 /dev/sdX2 
 +mdadm --add /dev/md1 /dev/sdX4 
 +</​code>​ 
 + 
 +Le système entame ensuite une phase de synchronisation qui peut être extrêmement longueObservez patiemment l'​évolution de votre synchronisation avec la commande : 
 +<​code>​watch cat /​proc/​mdstat</​code>​
  
 ===== Voir aussi ===== ===== Voir aussi =====
 +  * **(fr)** [[http://​2010.rmll.info/​IMG/​pdf/​06_denis_article-2.pdf|Le chiffrement de disque sous linux : Vrai ou faux sentiment de sécurité ?]] - Le document à lire qui explique les attaques possibles sur un système, presque ou intégralement,​ chiffré et les contre-attaques possibles.
 +  * [[http://​alephnull.com/​benchmarks/​sata2009/​index.html|Benchmark sur les différents niveaux de RAID avec plusieurs chunk-size et disque ainsi que l'​impact de LUKS sur un RAID5 avec différents alignement-payload]]
   * [[http://​www.korben.info/​comment-chiffrer-une-partition-systeme-linux-ici-ubuntu.html|Comment chiffrer une partition système Linux (Korben)]]   * [[http://​www.korben.info/​comment-chiffrer-une-partition-systeme-linux-ici-ubuntu.html|Comment chiffrer une partition système Linux (Korben)]]
   * **(en)** [[http://​lfde.org/​|Linux Full Disk Encryption]]   * **(en)** [[http://​lfde.org/​|Linux Full Disk Encryption]]
Ligne 406: Ligne 449:
   * **(en)** [[http://​xercestech.com/​full-system-encryption-for-linux.geek|(Du vrai) Full system encryption for Linux]] [[http://​michael.gorven.za.net/​cgi-bin/​hgwebdir.fcgi/​grub/​luks-old/​|Lien pour le patch]]   * **(en)** [[http://​xercestech.com/​full-system-encryption-for-linux.geek|(Du vrai) Full system encryption for Linux]] [[http://​michael.gorven.za.net/​cgi-bin/​hgwebdir.fcgi/​grub/​luks-old/​|Lien pour le patch]]
   * **(en)** [[https://​calomel.org/​nginx.html|Reference : Configuration nginx]]   * **(en)** [[https://​calomel.org/​nginx.html|Reference : Configuration nginx]]
 +  * **(fr)** [[http://​www.gnu.org/​philosophy/​can-you-trust.html|Pouvez-vous faire confiance à votre ordinateur ?]] (????), Richard Stallman. Traduit de //Free Software Free Society: Selected Essays of Richard//
  • utilisateurs/lildadou/mediabunker.1313319904.txt.gz
  • Dernière modification: Le 15/12/2011, 15:21
  • (modification externe)