Chiffrement complet du disque des systèmes installés sous Windows Linux. Multiboot crypté


Mise à jour de son propre guide de chiffrement complet du disque dans Runet V0.2

Stratégie Cowboy:


[A] bloquer le chiffrement du système installé sur Windows 7;
[B] GNU / Linux (Debian) bloque le chiffrement du système installé (y compris / boot) ;
[C] Configuration GRUB2, protection du chargeur de démarrage par signature numérique / authentification / hachage;
[D] effacement - destruction des données non chiffrées;
[E] sauvegarde universelle du système d'exploitation chiffré;
[F] attaque <à la p. [C6]> la cible est le chargeur de démarrage GRUB2;
[G] documentation utile.

╭───Circuit # rooms 40 # <BIOS / MBR / 1HDD without lvm>:
├──╼ Windows 7 installé - cryptage complet du système, non masqué;
├──╼ GNU / Linux installé (Debian et distributions dérivées) - le chiffrement complet du système n'est pas caché (/, y compris / boot; swap) ;
├──╼ bootloaders indépendants: VeraCrypt bootloader installé dans MBR, GRUB2 bootloader installé dans la partition étendue;
├──╼ L'installation / réinstallation du système d'exploitation n'est pas requise;
└──╼ logiciel cryptographique utilisé: VeraCrypt; Cryptsetup; GnuPG; Hippocampe Hashdeep; GRUB2 - gratuit / gratuit.

Le schéma ci-dessus résout partiellement le problème du «démarrage à distance sur le lecteur flash», vous permet de profiter du système d'exploitation crypté Windows / Linux et d'échanger des données via le «canal crypté» d'un système d'exploitation à un autre.

Ordre de démarrage du PC (l'une des options):

  • allumer la machine;
  • chargement du chargeur de démarrage VeraCrypt (la saisie du mot de passe correct continuera le chargement de Windows 7) ;
  • appuyer sur la touche Echap chargera le chargeur de démarrage GRUB2;
  • bootloader GRUB2 (choix de distribution / GNU / Linux / CLI) , nécessitera l'authentification du superutilisateur GRUB2 <login / mot de passe>;
  • après l'authentification réussie et la sélection du kit de distribution, vous devrez saisir une phrase secrète pour déverrouiller "/boot/initrd.img";
  • après avoir entré des mots de passe sans erreur dans GRUB2, «entrer» un mot de passe (troisième, mot de passe BIOS ou mot de passe du compte utilisateur GNU / Linux - ne pas considérer) est requis pour déverrouiller et charger GNU / Linux OS, ou substituer automatiquement une clé secrète (deux mots de passe + une clé, ou mot de passe + clé) ;
  • une intrusion externe dans la configuration GRUB2 gèle le processus de démarrage GNU / Linux.

Gênant? Ok, allons automatiser les processus.

Lors du marquage du disque dur (table MBR), un PC ne peut pas avoir plus de 4 partitions principales, ou 3 principales et une étendue, ainsi qu'une zone non allouée. Une partition étendue, contrairement à la partition principale, peut contenir des sous-sections (lecteurs logiques = partition étendue) . En d'autres termes, la «partition étendue» sur le disque dur remplace LVM pour la tâche actuelle: le chiffrement complet du système. Si votre disque est partitionné en 4 partitions principales, vous devez utiliser lvm, soit transformer (avec formatage) la partition de principale en étendue, soit utiliser les quatre partitions à bon escient et laisser le tout tel quel, pour obtenir le résultat souhaité. Même si vous avez une partition sur le disque, Gparted vous aidera à diviser le disque dur (en partitions supplémentaires) sans perdre de données, mais toujours avec un petit prix pour de telles actions.

La disposition de la disposition du disque dur, à propos de laquelle l'intégralité de l'article sera verbalisé, est présentée dans le tableau ci-dessous.


Tableau (n ° 1) des sections 1 To.

Quelque chose de similaire devrait être avec vous.
sda1 - la partition principale №1 NTFS (cryptée) ;
sda2 - section de marqueur étendue;
sda6 - lecteur logique (le chargeur de démarrage GRUB2 y est installé);
sda8 - swap (fichier d'échange crypté / pas toujours);
sda9 - teste le lecteur logique;
sda5 - lecteur logique pour les curieux;
sda7 - OS GNU / Linux (OS porté sur un lecteur logique chiffré);
sda3 - section principale n ° 2 avec Windows 7 (crypté) ;
sda4 est la partition principale n ° 3 (elle contenait GNU / Linux non crypté, elle est utilisée pour la sauvegarde / pas toujours) .

[A] Cryptage du système de blocage de Windows 7


A1. Veracrypt


Téléchargez depuis le site officiel ou depuis le miroir sourceforge la version d'installation du logiciel cryptographique VeraCrypt (au moment de la publication de l'article v1.24-Update3, la version portable de VeraCrypt n'est pas adaptée au cryptage du système) . Vérifiez la somme de contrôle des logiciels téléchargés

$ Certutil -hashfile "C:\VeraCrypt Setup 1.24.exe" SHA256

et comparer le résultat avec le CS affiché sur le site Web du développeur VeraCrypt.

Si le logiciel HashTab est installé, c'est encore plus simple: RMB (VeraCrypt Setup 1.24.exe) - propriétés de hachage de la somme des fichiers.

Pour vérifier la signature du programme, le système doit avoir le logiciel et la clé publique pgp du développeur gnuPG installés ; gpg4win .

A2. Installation / lancement du logiciel administrateur VeraCrypt


A3. Sélection des options de chiffrement du système pour la partition active
VeraCrypt - Système - Crypter la partition / disque système - Normal - Crypter la partition système Windows - Multiboot - (avertissement: "Les utilisateurs inexpérimentés ne sont pas recommandés d'utiliser cette méthode" et cela est vrai, nous sommes d'accord "Oui") - Disque de démarrage ("oui", même si pas du tout "oui") - Nombre de disques système "2 ou plus" - Plusieurs systèmes sur un disque "Oui" - Pas le chargeur de démarrage Windows "Non" (mais en fait "Oui"! Sinon, les chargeurs de démarrage VeraCrypt / GRUB2 ne partageront pas MBR entre eux, plus précisément, dans la piste MBR / boot, seule la plus petite partie du code du bootloader est stockée, sa partie principale est située dans le système de fichiers) - Multiboot - Paramètres de cryptage ...

Si vous vous écartez des étapes ci-dessus ( schéma de chiffrement du système de blocage) , VeraCrypt lancera un avertissement et ne permettra pas de chiffrer la partition.

À l'étape suivante, pour cibler la protection des données, effectuez un «test» et choisissez un algorithme de chiffrement. Si vous avez un processeur non moderne, l'algorithme de cryptage Twofish le plus rapide sera peut-être, sélectionnez-le. Si le CPU est moderne, notez la différence: AES - le cryptage selon les résultats du test sera plusieurs fois plus rapide que ses concurrents en cryptographie. AES est l'algorithme de cryptage le plus populaire, le matériel des processeurs modernes est spécialement optimisé pour le «secret» et le «piratage ».

VeraCrypt prend en charge la possibilité de crypter les disques avec AES (Twofish) / et d'autres combinaisons. Sur le processeur Intel à cœur ancien d'il y a dix ans (sans prise en charge matérielle pour AES-NI, chiffrement avec cascade A / T), la baisse des performances est essentiellement imperceptible. (pour les processeurs AMD de la même époque de paramètres ~, les performances sont légèrement réduites) . Le système d'exploitation est dynamique et la consommation de ressources pour un chiffrement transparent est invisible. En revanche, par exemple, une baisse notable des performances due à l'environnement de bureau instable de test installé Mate v1.20.1 (ou v1.20.2 je ne me souviens pas exactement) dans GNU / Linux, ou en raison du fonctionnement de la routine de désherbage par télémétrie dans Windows7. En règle générale, les utilisateurs sophistiqués effectuent des tests sur les performances matérielles avant le chiffrement. Par exemple, dans Aida64 / Sysbench / systemd-analyse blâme, ils sont comparés aux résultats des mêmes tests après cryptage du système, réfutant ainsi pour lui-même le mythe selon lequel «le cryptage du système est nuisible». Le ralentissement et les inconvénients de la machine sont perceptibles lors de la sauvegarde / restauration des données cryptées, car l'opération de «sauvegarde des données système» elle-même n'est pas mesurée en ms, et les mêmes sont ajoutées «décryptage / cryptage à la volée». En fin de compte, chaque utilisateur autorisé à jouer avec la cryptographie établit l'équilibre de l'algorithme de cryptage en ce qui concerne la réalisation des objectifs, le degré de paranoïa et la facilité d'utilisation.

Il est préférable de laisser le paramètre PIM par défaut, de sorte que lors du chargement du système d'exploitation à chaque fois, vous n'entrez pas les valeurs exactes des itérations. VeraCrypt utilise un grand nombre d'itérations pour créer un véritable «hachage lent». Une attaque contre un tel "escargot crypto" en utilisant la méthode Brute force / rainbow tables n'a de sens qu'avec une courte phrase de passe "simple" et une liste de caractères de la victime personnelle. Paiement pour la force du mot de passe - le retard à entrer correctement le mot de passe lors du démarrage du système d'exploitation (le montage des volumes VeraCrypt dans GNU / Linux est beaucoup plus rapide).
Logiciel gratuit pour implémenter les attaques par force brute (extraire les phrases secrètes de l'en- tête du disque VeraCrypt / LUKS) Hashcat. John the Ripper ne sait pas «casser Veracrypt» et lorsqu'il travaille avec LUKS, il ne comprend pas la cryptographie Twofish. Soit dit en passant, parmi les logiciels non commerciaux à tous autres égards, JtR est meilleur que Hashcat.

En raison de la puissance cryptographique des algorithmes de chiffrement, les banques de chiffrement imparables et leurs antipodes développent des logiciels avec un vecteur d'attaque différent. Par exemple, extraire des métadonnées / clés de la RAM (attaque de démarrage à froid / accès direct à la mémoire), voler un en-tête LUKS tout en interceptant un mot de passe et envoyer des paquets réseau, peut-être autre chose que je ne connais pas. Il existe des logiciels spécialisés gratuits et non libres à ces fins.

Une fois la configuration / génération de «métadonnées uniques» de la partition active cryptée terminée, VeraCrypt proposera de redémarrer le PC et de tester les performances de son chargeur de démarrage. Après le redémarrage / démarrage de Windows, VeraCrypt se charge en mode veille, il ne reste plus qu'à confirmer le processus de cryptage - Y.

À la dernière étape du chiffrement du système, VeraCrypt proposera de créer une copie de sauvegarde de l'en-tête de la partition chiffrée active sous la forme de «veracrypt rescue disk.iso» - cela doit être fait - dans ce logiciel, cette opération est une exigence (dans LUKS, comme exigence, cela est malheureusement omis, mais souligné) dans la documentation) . Le disque de secours est utile à tout le monde et à plusieurs personnes. Sans en-tête de disque, déplacer l'OS, perdre (écraser l'en-tête / MBR) la sauvegarde de l'en-tête privera définitivement l'accès à la partition déchiffrée avec Windows OS.

A4. Création d'un sauvetage USB / lecteur VeraCrypt
Par défaut, VeraCrypt propose de graver "~ 2-3 Mo de métadonnées" sur un CD, mais tout le monde n'a pas de lecteur ou de lecteur DWD-ROM, et la création d'un "disque de secours VeraCrypt" pour quelqu'un se révélera être une surprise technique: Rufus / GUIdd-ROSA ImageWriter et autres logiciels similaires - ne seront pas en mesure de faire face à la tâche, car en plus de copier les métadonnées décalées sur le lecteur flash USB amorçable, vous devez faire un copier / coller à partir de l'image en dehors du système de fichiers du lecteur USB, bref, copiez correctement le MBR / piste vers porte-clés. Sous GNU / Linux, vous pouvez créer un lecteur flash amorçable à l'aide de l'utilitaire «dd», en regardant cette plaque.



La création d'un disque de secours dans un environnement Windows est différente. Le développeur de VeraCrypt n'a pas inclus la solution à ce problème dans la documentation officielle du "disque de secours", mais a proposé une solution d'une autre manière: il a posté un logiciel supplémentaire pour créer le "disque de secours usb" en libre accès sur son forum VeraCrypt. Mise à jour: 2020, le développeur a eu pitié des "petites choses" et a inclus officiellement la solution de disque de secours USB dans sa documentation.
Après avoir enregistré le disque de secours.iso, le processus de chiffrement du système de blocs de la partition active commencera. Pendant le cryptage, le système d'exploitation ne s'arrête pas, un redémarrage du PC n'est pas nécessaire. Une fois l'opération de chiffrement terminée, la partition active devient entièrement chiffrée, vous pouvez l'utiliser. Si le chargeur de démarrage VeraCrypt n'apparaît pas au démarrage du PC et que l'opération de récupération d'en-tête n'aide pas, vérifiez le drapeau «boot», il doit être installé sur la partition où Windows est présent (indépendamment du cryptage et des autres OS, voir tableau n ° 1).
Après avoir chiffré le lecteur système et les lecteurs logiques ntfs (même mot de passe), ajoutez tous les lecteurs chiffrés aux «favoris système». Ensuite, «paramètres»> «favoris système», cochez la case «monter les favoris système au démarrage de Windows», au démarrage du système d'exploitation, tous les disques ntfs seront montés automatiquement.
Ceci termine la description du chiffrement du système de blocs avec Windows.

[B] LUKS. Cryptage du système d'exploitation GNU / Linux (~ Debian) installé. Algorithme et étapes


Afin de crypter la distribution Debian / dérivée installée, vous devez mapper la partition préparée à un périphérique de bloc virtuel, la transférer sur le lecteur GNU / Linux mappé et installer / configurer GRUB2. Si vous n'avez pas de serveur nu et que vous appréciez votre temps, vous devez utiliser l'interface graphique et la plupart des commandes de terminal décrites ci-dessous sont censées être pilotées en «mode Chuck-Norris».

B1. Télécharger le PC à partir de GNU / Linux usb en direct

"Effectuer un test cryptographique sur les performances du fer"

 lscpu && ryptsetup benchmark 



Si vous êtes un heureux propriétaire d'une voiture puissante avec prise en charge matérielle pour AES-NI, les chiffres ressembleront au côté droit du terminal, si vous êtes satisfait, mais avec du fer antique - sur le côté gauche.

B2. Partitionnement d'un disque. montage / formatage du disque dur du lecteur logique fs dans Ext4 (Gparted)

B2.1. Créer un en-tête de partition sda7 chiffré
Je décrirai les noms des sections, ci-après, selon mon tableau de section ci-dessus. Selon la disposition de votre disque, vous devez remplacer vos noms de partition.

Mappage du chiffrement du disque logique (/ dev / sda7> / dev / mapper / sda7_crypt).
# Création facile d'une «partition LUKS-AES-XTS»

 cryptsetup -v -y luksFormat /dev/sda7 

Options:

* luksFormat - initialisation de l'en-tête LUKS;
* -y est une phrase secrète (pas une clé / un fichier);
* -v -verbalisation (sortie d'informations dans le terminal);
* / dev / sda7 - votre lecteur logique de la partition étendue (à l'endroit où vous prévoyez de transférer / chiffrer GNU / Linux) .

Par défaut, l'algorithme de chiffrement est <L UKS1: aes-xts-plain64, clé: 256 bits, hachage de l'en-tête LUKS: sha256, RNG: / dev / urandom > (dépend de la version de cryptsetup).

 # default-  cryptsetup --help #     . 

En l'absence de prise en charge matérielle d'AES sur le CPU, la création d'une «partition LUKS-Twofish-XTS» étendue est le meilleur choix.

B2.2. Création avancée d'une «partition LUKS-Twofish-XTS»
 cryptsetup luksFormat /dev/sda7 -v -y -c twofish-xts-plain64 -s 512 -h sha512 -i 1500 --use-urandom 

Options:
* luksFormat - initialisation de l'en-tête LUKS;
* / dev / sda7 votre futur lecteur logique chiffré;
* -v verbalisation;
* -y demande de confirmation d'une phrase secrète;
* -c sélection de l'algorithme de chiffrement des données;
* -s taille de clé de cryptage;
* -h algorithme de hachage / fonction de chiffrement, utilisé par le RNG (--use-urandom) pour générer une clé de chiffrement / déchiffrement unique pour l'en-tête du lecteur logique, clé d'en-tête secondaire (XTS); la clé principale unique stockée dans l'en-tête chiffré du disque, la clé XTS secondaire, toutes ces métadonnées et la routine de chiffrement qui, à l'aide de la clé principale et de la clé XTS secondaire, chiffrent / déchiffrent toutes les données de la partition (sauf l'en-tête de partition) sont stockées dans ~ 3 Mo sur la partition dure sélectionnée conduire.
* -i Temps d'itération PBKDF pour LUKS (en ms) (le délai lors du traitement d'une phrase secrète affecte le chargement du système d'exploitation et la force cryptographique des clés). Pour maintenir l'équilibre de la force cryptographique avec un mot de passe simple comme «russe», vous devez augmenter la valeur - (i), avec un mot de passe complexe comme «? 8dƱob / øfh», vous pouvez diminuer la valeur.
* --use-urandom générateur de nombres aléatoires, génère des clés et du sel.

Après avoir fait correspondre la section sda7> sda7_crypt (l'opération est rapide, puisqu'un en-tête chiffré avec des métadonnées de ~ 3 Mo est créé et c'est tout) , vous devez formater et monter le système de fichiers sda7_crypt.

B2.3. Cartographie
 cryptsetup open /dev/sda7 sda7_crypt #       . 

options:
* open - mappez la section "avec un nom";
* / dev / sda7-lecteur logique;
* sda7_crypt est un mappage de noms utilisé pour monter une partition chiffrée ou l'initialiser au démarrage du système d'exploitation.

B2.4. Formatage du système de fichiers sda7_crypt dans ext4. Montage OS
(Remarque: Gparted ne fonctionnera plus avec une partition chiffrée)

 #    mkfs.ext4 -v -L DebSHIFR /dev/mapper/sda7_crypt 

options:
* -v - verbalisation;
* -L -disk label (qui est affiché dans l'explorateur parmi d'autres disques).

Ensuite, montez le périphérique de bloc crypté virtuel / dev / sda7_crypt dans le système

 mount /dev/mapper/sda7_crypt /mnt 

Travailler avec des fichiers dans le dossier / mnt chiffrera / déchiffrera automatiquement les données à la volée dans sda7.

Il est plus pratique de mapper et de monter la partition dans l'explorateur (GUI nautilus / caja) , la partition sera déjà dans la liste de sélection de disque, il ne reste plus qu'à saisir la phrase secrète pour ouvrir / décrypter le disque. Le nom correspondant sera sélectionné automatiquement et non «sda7_crypt», mais quelque chose comme / dev / mapper / Luks-xx-xx ...

B2.5. En-tête de disque de sauvegarde (~ métadonnées de 3 Mo)
L'une des opérations les plus importantes qui doivent être effectuées sans délai est une copie de sauvegarde de l'en-tête sda7_crypt. Si vous écrasez / corrompez l'en-tête (par exemple, en installant GRUB2 dans la partition sda7, etc.) , les données chiffrées seront définitivement perdues sans possibilité de les restaurer, car il ne sera pas possible de régénérer les mêmes clés, les clés sont créées uniques.

 #   cryptsetup luksHeaderBackup --header-backup-file ~/_DebSHIFR /dev/sda7 

 #   cryptsetup luksHeaderRestore --header-backup-file <file> <device> 

options:
* commande luksHeaderBackup --header-backup-file-backup;
* commande luksHeaderRestore --header-backup-file-restore;
* ~ / Backup_DebSHIFR - fichier de sauvegarde;
* / dev / sda7 est la partition dont vous souhaitez conserver la copie de sauvegarde de l'en-tête de disque chiffré.
Remarque N'essayez pas de restaurer l'en-tête de la section LUKS de [sdaX] à [sdaY], la plupart des noms d'utilisateurs échoueront.
À cette étape, <création et modification de la partition chiffrée> est terminée.

B3 Migration de GNU / Linux OS (sda4) vers une partition chiffrée (sda7)

Remarque Avant de transférer le système d'exploitation sur une partition chiffrée, il est recommandé de supprimer les fichiers indésirables mis en cache en excès (des fichiers indésirables similaires peuvent être trouvés à l'aide du logiciel BleachBit), par exemple, dans mon cas, il s'agissait de plusieurs centaines de milliers de petits fichiers / var / cache / fontconfig / * et /home/user/.cache / fontconfig / *
Si vous avez nettoyé les fichiers fontconfig, faites $ fc-cache -fvr

Créez le dossier / mnt2 (Remarque - nous travaillons toujours avec live usb, sda7_crypt est monté sur le point / mnt) et montez notre GNU / Linux dans / mnt2, qui doit être chiffré.

 mkdir /mnt2 mount /dev/sda4 /mnt2 

Nous effectuons la migration correcte du système d'exploitation à l'aide du logiciel Rsync
 rsync -avlxhHX --progress /mnt2/ /mnt 

Les options Rsync sont décrites à la page E1.

Ensuite, vous devez défragmenter la partition du lecteur logique

 e4defrag -c /mnt/ # , e4defrag ,     ≈ 0,  ,       ! e4defrag /mnt/ #   GNU/Linux 

Faites-en une règle: faites e4defrag sur GNU / LInux crypté de temps en temps si vous avez un disque dur.
La migration et la synchronisation [GNU / Linux> GNU / Linux-crypté] de cette étape sont terminées.

B4. Configuration de GNU / Linux sur une partition chiffrée sda7

Après avoir réussi le transfert du système d'exploitation / dev / sda4> / dev / sda7, vous devez vous connecter à GNU / Linux sur la partition chiffrée et effectuer une configuration supplémentaire (sans redémarrer le PC) concernant le système chiffré. Autrement dit, soyez en live usb, mais les commandes à exécuter sont «relatives à la racine du système d'exploitation chiffré». Simuler une situation similaire sera "chroot". Pour recevoir rapidement des informations sur le système d'exploitation sur lequel vous travaillez actuellement (crypté ou non, car les données de sda4 et sda7 sont synchronisées) , désynchronisez le système d'exploitation. Créez des fichiers de jetons vides dans les répertoires racine (sda4 / sda7_crypt) , par exemple, / mnt / OS crypté et / mnt2 / OS décrypté. Un contrôle rapide sur quel OS vous êtes (y compris pour l'avenir):
 ls /<Tab-Tab> 


B4.1. "Simuler une entrée sur un OS chiffré"
 mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt 


B4.2. Vérifier que le travail est effectué sur un système crypté
 ls /mnt<Tab-Tab> #   "/" 

 history #       su  . 


B4.3. Création / configuration de l'échange crypté
Étant donné que le fichier d'échange est formaté à chaque démarrage du système d'exploitation, cela n'a aucun sens de créer et de mapper l'échange à l'unité logique maintenant, et de taper des commandes, comme dans la section B2.2. Pour Swap, à chaque démarrage, ses clés de chiffrement temporaires seront générées automatiquement. Cycle de vie des clés swap-a: démonter / déconnecter la partition swap (+ nettoyage RAM) ; ou redémarrer le système d'exploitation. En configurant le swap, ouvrez le fichier responsable de la configuration des périphériques chiffrés par bloc (un analogue du fichier fstab, mais responsable de la cryptographie).

 nano /etc/crypttab 

règle
# "Nom cible" "périphérique source" "fichier clé" "options"
swap / dev / sda8 / dev / urandom swap, cipher = twofish-xts-plain64, taille = 512, hachage = sha512

Les options
* swap est le nom de chiffrement mappé de / dev / mapper / swap.
* / dev / sda8 - utilisez votre partition logique sous swap.
* / dev / urandom - générateur de clés de chiffrement aléatoire pour l'échange (de nouvelles clés sont créées à chaque nouveau démarrage du système d'exploitation). Le générateur / dev / urandom est moins aléatoire que / dev / random, après tout, / dev / random est utilisé lorsque vous travaillez dans des circonstances paranoïaques dangereuses. Lors du démarrage de l'OS, / dev / random ralentit le chargement pendant plusieurs ± minutes (voir systemd-analyse) .
* swap, cipher = twofish-xts-plain64, size = 512, hash = sha512: -la section sait qu'elle est swap et est formatée "en conséquence"; algorithme de chiffrement.

 #   fstab nano /etc/fstab 

règle
# swap était sur / dev / sda8 lors de l'installation
/ dev / mapper / swap aucun swap sw 0 0

/ dev / mapper / swap est le nom qui a été défini dans crypttab.

Échange crypté alternatif
Si, pour une raison quelconque, vous ne voulez pas donner toute la section au fichier d'échange, vous pouvez opter pour une solution alternative et meilleure: créer un fichier d'échange dans un fichier sur une partition chiffrée avec le système d'exploitation.

 fallocate -l 3G /swap #   3 (  ) chmod 600 /swap #  mkswap /swap #     swapon /swap #  swap free -m #,       printf "/swap none swap sw 0 0" >> /etc/fstab #    swap   

La configuration de la partition de swap est terminée.


B4.4. Configuration de GNU / Linux crypté (modification des fichiers crypttab / fstab)
Le fichier / etc / crypttab, comme décrit ci-dessus, décrit les périphériques de bloc chiffrés qui sont configurés au démarrage.

 # /etc/crypttab nano /etc/crypttab 

si vous avez mappé la section sda7> sda7_crypt comme dans la section B2.1
# "Nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 aucun luks

si vous avez mappé la section sda7> sda7_crypt comme dans B2.2
# "Nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 aucun chiffre = twofish-xts-plain64, taille = 512, hachage = sha512

si vous avez comparé la section sda7> sda7_crypt comme dans B2.1 ou B2.2, mais que vous ne voulez pas ressaisir le mot de passe pour déverrouiller et démarrer le système d'exploitation, vous pouvez remplacer la clé secrète / fichier aléatoire par le mot de passe
# "Nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 / etc / skey luks

La description
* aucun - signale que lorsque le système d'exploitation démarre, une phrase secrète secrète est requise pour déverrouiller la racine.
* UUID - identifiant de section. Pour connaître votre identifiant, saisissez le terminal (rappel que pendant tout ce temps et au-delà, vous travaillez dans le terminal dans l'environnement chroot, et non dans un autre terminal usb live).

 fdisk -l #   blkid #  -  

/ dev / sda7: UUID = "81048598-5bb9-4a53-af92-f3f9e709e2f2" TYPE = "crypto_LUKS" PARTUUID = "0332d73c-07"
/ dev / mapper / sda7_crypt: LABEL = "DebSHIFR" UUID = "382111a2-f993-403c-aa2e-292b5eac4780" TYPE = "ext4"

cette ligne est visible lors de la demande de blkid à partir du terminal USB en direct avec sda7_crypt monté).
UUID sdaX ( sdaX_crypt!, UUID sdaX_crypt – grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks .
* /etc/skey - -, ( 3- ). 8, <1.

 # ""   < >  691. head -c 691 /dev/urandom > /etc/skey 

 #   (691)  7-   luks cryptsetup luksAddKey --key-slot 7 /dev/sda7 /etc/skey 

 #  "/ luks-" cryptsetup luksDump /dev/sda7 

:
( . 2020., LUKS2, , LUKS1. — LUKS1 CLI).

 # Check " " file -s /dev/sda7 /dev/sda7: LUKS encrypted file, ver 1 [twofish, xts-plain64, sha512] UUID: -- #   LUKS /dev/sda7: data #   VeraCrypt 

 cryptsetup luksKillSlot /dev/sda7 7 # /  7  


/etc/fstab .

 # /etc/fstab nano /etc/fstab 

# «file system» «mount poin» «type» «options» «dump» «pass»
# / was on /dev/sda7 during installation
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1


* /dev/mapper/sda7_crypt - sda7>sda7_crypt, /etc/crypttab.
crypttab/fstab .

B4.5. .
B4.5.1. /etc/initramfs-tools/conf.d/resume

 #      swap ,  . nano /etc/initramfs-tools/conf.d/resume 

( ) "#" «resume». .

B4.5.2. /etc/initramfs-tools/conf.d/cryptsetup

 nano /etc/initramfs-tools/conf.d/cryptsetup 


# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=yes
export CRYPTSETUP


B4.5.3. /etc/default/grub ( grub.cfg /boot)

 nano /etc/default/grub 

«GRUB_ENABLE_CRYPTODISK=y»
'y', grub-mkconfig grub-install , (insmod- <cryptomount/set root>) .

GRUB_DEFAULT=0
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=«acpi_backlight=vendor»
GRUB_CMDLINE_LINUX=«quiet splash noautomount»
GRUB_ENABLE_CRYPTODISK=y


B4.5.4. /etc/cryptsetup-initramfs/conf-hook

 nano /etc/cryptsetup-initramfs/conf-hook 

, <CRYPTSETUP=y> <#>.
( , , initrd.img).

:
KEYFILE_PATTERN="/etc/skey"
UMASK=0077

«skey» initrd.img, ( «skey» ( + ) . .B4.4).

B4.6. /boot/initrd.img [version]
initrd.img cryptsetup,

 update-initramfs -u -k all 

initrd.img ( «, ») , cryptsetup, , , Nvidia — . , , . ( chroot ./boot/initrd.img). Attention! [update-initramfs -u -k all] , cryptsetup open /dev/sda7 sda7_crypt — , /etc/crypttab, reboot-a busybox)
.


[] GRUB2/


C1. ( 20)
 mkfs.ext4 -v -L GRUB2 /dev/sda6 


C2. /dev/sda6 /mnt
chroot, /mnt2, /mnt — .
GRUB2

 mount /dev/sda6 /mnt 

GRUB2, /mnt/boot/grub/i-386-pc ( , , «i386-pc») (, , .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), GRUB2 .

 apt-get update apt-get install grub2 

Important! GRUB2 , « » – ( — GRUB2 — «MBR» live usb) . / VeraCrypt. GRUB2, , , «MBR». GRUB2, ( GRUB 2.02 ~BetaX).

C3. GRUB2 [sda6]
[.C.2]

 grub-install --force --root-directory=/mnt /dev/sda6 

les options
* --force - , , ( ).
* --root-directory - <boot/grub> sda6.
* /dev/sda6 - sda ( <> /mnt /dev/sda6).

C4. [grub.cfg]
«update-grub2»,

 grub-mkconfig -o /mnt/boot/grub/grub.cfg 

/ grub.cfg, () («grub-mkconfig» live usb, Windows 10 — ). «», «grub.cfg» , , GRUB ( ), GRUB2 .
« » GRUB2 .

C5. Proof-test GNU/Linux
. GNU/Linux ( chroot).

 umount -a #     GNU/Linux Ctrl+d #   chroot umount /mnt/dev umount /mnt/proc umount /mnt/sys umount -a #     live usb reboot 

VeraCrypt.


* — Windows.
* «Esc» GRUB2, GNU/Linux – (sda7_crypt) /boot/initrd.img ( grub2 uuid « » — grub2, , , / ).


* , (. .B4.4/4.5) /boot/initrd.img, / , «skey», .

( « »).

* GNU/Linux .


* , /boot/initrd.img ( 4.6).

 update-initramfs -u -k all 

GRUB2 ( - live usb)

 mount /dev/sda6 /mnt grub-mkconfig -o /mnt/boot/grub/grub.cfg 

GNU/Linux:

  • GNU/Linuxinux , /boot/kernel and initrd;
  • initrd.img;
  • ( initrd; / ; Linux) .

« GRUB2» .

6. GRUB2. +
GNU/Linux , – BIOS. GRUB2 , / , – [. . F].
«» GRUB2 «/».
  • « » , – .
  • - , CLI, -GRUB2.


6.1.
,

 ls /<Tab-Tab> # - 

GRUB2

 grub-mkpasswd-pbkdf2 #/  . 

. -
grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

GRUB

 mount /dev/sda6 /mnt 



 nano -$ /mnt/boot/grub/grub.cfg 

, «grub.cfg» - (" --unrestricted" "--user",
( ### END /etc/grub.d/41_custom ###)
«set superusers=»root"
password_pbkdf2 root ".



# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

«grub-mkconfig -o /mnt/boot/grub/grub.cfg» grub.cfg, (/) GRUB-

 nano /etc/grub.d/41_custom 

cat << EOF
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF


«grub-mkconfig -o /mnt/boot/grub/grub.cfg», , , grub.cfg.
GRUB2 .

6.2.
, pgp- ( ). : gnuPG; kleopatra/GPA; Seahorse. - . Seahorse — 3.14.0 ( , , V3.20 – ).

PGP- // su!



 gpg - -gen-key 



 gpg --export -o ~/perskey 



 mount /dev/sda6 /mnt #sda6 –  GRUB2 

GRUB2

 rm -rf /mnt/ 

GRUB2 sda6, GRUB «core.img»

 grub-install --force --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" -k ~/perskey --root-directory=/mnt /dev/sda6 

les options
* --force - , , ( ).
* --modules=«gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa» - GRUB2 .
* -k ~/perskey - «PGP-» ( , ).
* --root-directory - boot sda6
/dev/sda6 - sda .

/ grub.cfg

 grub-mkconfig -o /mnt/boot/grub/grub.cfg 

«grub.cfg» «trust /boot/grub/perskey» ( pgp-.) GRUB2 , «signature_test.mod», «set check_signatures=enforce».

( grub.cfg)
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
trust /boot/grub/perskey
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#


"/boot/grub/perskey" , hd0,6, «» , GRUB2 (. set rot=..).

GRUB2 ( /GRUB) «perskey».
, ( nautilus/caja): «seahorse» . su.
sudo "/mnt/boot" – – .



"/mnt/boot/grub/perskey" ( grub) . , / [*.sig].
"/boot" ( kernel, initrd). - , bash- « ».

( - )

 rm -f $(find /mnt/boot/grub -type f -name '*.sig') 

, , GRUB2.

 apt-mark hold grub-common grub-pc grub-pc-bin grub2 grub2-common 

< > GRUB2 .

C6.3. Proof-test GRUB2,
GRUB2. - GNU/Linux CLI ( ) . / initrd


, GRUB2-.

- GRUB2/ grub.cfg, /, .mod, . GRUB2 .


, GRUB2 « ».

«» « », «0». ( « » «0» — ).

?

: / GRUB2 , , luks.mod.sig .

: CLI

 trust_list 

«perskey», «0», , .C6.2.
« GRUB2 » .


7 GRUB2
« /» — . - GRUB2, , .[F]. , / .

GRUB2


:

  • / (/ . GRUB2 , , / , , «- » ).
  • ( ).
  • (/ GRUB2 ).
  • .

.

  • (, ).
  • The Worst Evil Script ( /: GRUB , usb-/ , / , pass/_LUKS ).
  • ( GNU/Linux).

, .

GRUB2/

«» GRUB2, (). , ,

.


, GRUB, save log, pas/_LUKS .
The Worst Evil Script ( cryptsetup reencrypt), LUKS .
GRUB, .
"-$ _GRUB" , CLI.
"-$ sudo _GRUB" GRUB2/ ( /boot), .



0) / GRUB, /media/username
 -$ hashdeep -c md5 -r /media/username/GRUB > /podpis.txt 

1) ~/podpis, 744 «».

 #!/bin/bash #      GRUB2  . #  " /  ",        . !    :   GRUB2     OS GNU/Linux. echo -e "******************************************************************\n" >> '/var/log/podpis.txt' && date >> '/var/log/podpis.txt' && hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB' >> '/var/log/podpis.txt' a=`tail '/var/log/podpis.txt' | grep failed` #  "cat"!! b="hashdeep: Audit failed" #:    -      GRUB2         "  "      gif- "warning". if [[ "$a" = "$b" ]] then echo -e "****\n" >> '/var/log/vtorjenie.txt' && echo "vtorjenie" >> '/var/log/vtorjenie.txt' && date >> '/var/log/vtorjenie.txt' & sudo -u username DISPLAY=:0 eom '/warning.gif' fi 


su , GRUB , save .

, , « » [virus.mod] GRUB2 /:

 -$ hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB 

CLI --
# CLI

   2 11::41 MSK 2020 /media/username/GRUB/boot/grub/virus.mod: Moved from /media/username/GRUB/1nononoshifr /media/username/GRUB/boot/grub/i386-pc/mda_text.mod: Ok /media/username/GRUB/boot/grub/grub.cfg: Ok hashdeep: Audit failed Input files examined: 0 Known files expecting: 0 Files matched: 325 Files partially matched: 0 Files moved: 1 New files found: 0 Known files not found: 0 

# «Files moved: 1 Audit failed» , .
- «New files found» > «Files moved»

2) > ~/warning.gif, 744.

3) fstab GRUB

 -$ sudo nano /etc/fstab 

LABEL=GRUB /media/username/GRUB ext4 defaults 0 0

4)

 -$ sudo nano /etc/logrotate.d/podpis 

/var/log/podpis.txt {
daily
rotate 50
size 5M
dateext
compress
delaycompress
olddir /var/log/old
}

/var/log/vtorjenie.txt {
monthly
rotate 5
size 5M
dateext
olddir /var/log/old
}

5) cron

 -$ sudo crontab -e 

reboot '/podpis' #
0 */6 * * * '/podpis # 0-00; 6; 12; 18.

6)

 -$ sudo su -$ echo "alias _GRUB='hashdeep -c md5 -r /media/username/GRUB > /podpis.txt'" >> /root/.bashrc && bash -$ echo "alias _GRUB='hashdeep -vvv -a -k '/podpis.txt' -r /media/username/GRUB'" >> .bashrc && bash 

-$ apt-get upgrade GRUB
-$ _GRUB
GRUB .

[D] —


, « », .

Comme d'habitude, il existe divers "mythes et légendes " sur la récupération des données après leur suppression du disque dur. Si vous croyez en la cyber détention, ou êtes membre de la communauté Web Dr et n'avez jamais essayé de restaurer les données après les avoir supprimées / écrasées (par exemple, en utilisant la récupération R-studio) , alors la méthode proposée ne vous convient probablement pas, utilisez ce qui est le plus proche de vous.

Après avoir réussi à transférer GNU / Linux sur une partition cryptée, l'ancienne copie doit être supprimée sans possibilité de récupération de données. Méthode de nettoyage universelle: logiciel pour Windows / Linux logiciel GUI gratuit BleachBit .
Formatez rapidement la partition sur laquelle vous souhaitez détruire les données (à l'aide de Gparted),nous démarrons BleachBit, sélectionnez "Effacer l'espace libre" - sélectionnez la partition (votre sdaX avec la copie précédente de GNU / Linux) , le processus de nettoyage démarre. BleachBit - essuie le disque en un seul passage - c'est ce dont "nous avons besoin", Mais! cela ne fonctionne en théorie que si vous avez formaté le disque et le nettoyé dans le logiciel BB v2.0.

Attention ! BB efface le disque, laissant les métadonnées: les noms des fichiers détruits sont enregistrés lors de l' effacement des données (Ccleaner - ne laisse pas de métadonnées).

Et le mythe de la récupération de données n'est pas tout à fait un mythe.
Bleachbit V2.0-2 unstable OS Debian ( : sfill; wipe-Nautilus - ) : « » HDD/ (ntfs/ext4) . , . () / / «» . , , , « » 3+ .
GNU/Linux Bleachbit 2.0-2 , . : Windows CCleaner « ntfs» , .

, «» , Bleachbit , , « / ».
« » Windows CCleaner/BB «». GNU/Linux ( ) ( + ( , )) , .

Bleachbit v3.0 , , .
Bleachbit v2.0 GNU/Linux Windows7.

À cette étape, le «nettoyage du disque» est terminé.

[E] Sauvegarde universelle du système d'exploitation chiffré


Chaque utilisateur a sa propre méthode de sauvegarde des données, mais les données chiffrées du «système d'exploitation» nécessitent une approche légèrement différente de la tâche. Les logiciels unifiés tels que Clonezilla et les logiciels similaires ne peuvent pas fonctionner directement avec des données chiffrées.

Définition de la tâche de sauvegarde des périphériques de bloc chiffrés:

  1. universalité - le même algorithme / logiciel de sauvegarde pour Windows / Linux;
  2. la possibilité de travailler dans la console avec n'importe quel GNU / Linux usb en direct sans avoir besoin de téléchargements de logiciels supplémentaires (mais toujours recommander une interface graphique) ;
  3. sécurité des sauvegardes - les «images» stockées doivent être cryptées / protégées par mot de passe;
  4. la taille des données chiffrées doit correspondre à la taille des données réelles copiées;
  5. extraction pratique des fichiers nécessaires à partir de la copie de sauvegarde (pas besoin de décrypter d'abord la partition entière).

Par exemple, sauvegarde / restauration via l'utilitaire «dd»

 dd if=/dev/sda7 of=//sda7.img bs=7M conv=sync,noerror dd if=//sda7.img of=/dev/sda7 bs=7M conv=sync,noerror 

Il correspond à presque tous les points de la tâche, mais selon la revendication 4, il ne résiste pas aux critiques, car il copie la partition de disque dans son ensemble, y compris l'espace libre - ce n'est pas intéressant.

Par exemple, une sauvegarde de GNU / Linux via l'archiveur [tar | gpg] "pratique", mais pour la sauvegarde Windows, vous devez chercher une autre solution - pas intéressante.

E1. Sauvegarde universelle de Windows / Linux (ensemble rsync (Grsync) + volume VeraCrypt) et disques chiffrés à montage automatique
:

  1. (/) VeraCrypt ;
  2. / Rsync VeraCrypt;
  3. VeraCrypt www.


VeraCrypt :
  1. ( Windows , GNU/Linux) ;
  2. , « » ( ) – .


Windows, GNU/Linux > VeraCrypt , .

Twofish 70 ( , ) HDD ~ ( , ). VeraCrypt Windows/Linux , « », .

2017 VeraCrypt « GNU/Linux». en > ru :

,
, .…

Linux.
, .
, .

, VeraCrypt HDD .
, , ( «» ).

VeraCrypt 1.24-Update3 GNU/Linux, (/dev/sdaX).

/ — VeraCrypt-.

VeraCrypt (/ntfs) , .

// VeraCrypt GUI > GNU/Linux live usb ( /media/veracrypt2, Windows /media/veracrypt1). Windows GUI rsync (grsync) , .



. , .

GNU/Linux, GUI rsync « Windows».

! Veracrypt « GNU/Linux» ext4 . ntfs, / .

. rsync:
* -g - ;
* -P --progress — ;
* -H - , ;
* - - ( rlptgoD) ;
* -v -.

« Windows VeraCrypt» cryptsetup, alias (su)

 echo "alias veramount='cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt && mount /dev/mapper/ Windows_crypt /media/veracrypt1'" >> .bashrc && bash 

«veramount pictures » , - , Windows.

/ VeraCrypt cryptsetup

 cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt mount /dev/mapper/Windows_crypt /mnt 

/ / VeraCrypt cryptsetup

 cryptsetup open --veracrypt --type tcrypt /dev/sdaY test_crypt mount /dev/mapper/test_crypt /mnt 


alias- ( ) Windows ntfs GNU/Linux /
 # /   ntfs- mkdir /media/Winda7 && mkdir /media/ 

 #      VeraCrypt,  " "    printf 'bob' | base64 Ym9i #  cli   "bob" 

~/VeraOpen.sh
 echo 'Ym9i' | base64 -d | cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sda3 Windows_crypt && mount /dev/mapper/Windows_crypt /media/Winda7 #   base64 (bob)             Windows. echo 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/ #,     ntfs. 

«» :
 sudo chmod 100 /VeraOpen.sh 


( !) /etc/rc.local ~/etc/init.d/rc.local

 #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will «exit 0» on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. sh -c "sleep 1 && '/VeraOpen.sh'" #  ,  ~ 1     . exit 0 

«» :
 sudo chmod 100 /etc/rc.local && sudo chmod 100 /etc/init.d/rc.local 

, GNU/Linux ntfs, .
, :
 systemd-analyze && systemd-analyze blame 


, .E1 ( / OS GNU/Linux)
1) ext4 > 4gb ( ) Linux Veracrypt [].
2) Reboot live usb.
3) ~$ cryptsetup open /dev/sda7 Lunux # .
4) ~$ mount /dev/mapper/Linux /mnt # /mnt.
5) ~$ mkdir mnt2 # .
6) ~$ cryptsetup open --veracrypt --type tcrypt ~/ && mount /dev/mapper/ /mnt2 # Veracrypt «» /mnt2.
7) ~$ rsync -avlxhHX --delete --progress /mnt/ /mnt2 # / Veracrypt . "--delete" ( ), .. .

(p/s/ ! GNU/Linux / , , Intel > AMD ( Intel > AMD) , , . ~/etc/skey — , «cryptsetup luksAddKey» chroot — , ~/etc/crypttab "/etc/skey" «none», rebot- .

IT Windows/Linux, .
/ .

[F] Attaque sur le chargeur de démarrage GRUB2


Détails
/ ( .C6.) , . - , ( ) GRUB2 , ( , -- grub.cfg).

.

* live usb. () . GRUB2 grub.cfg ( ) ( , GRUB2, . <0>)
* , "/mnt/boot/grub/grub.cfg".
* ( «perskey» core.img)

 grub-install --force --root-directory=/mnt /dev/sda6 

* «grub.cfg» > "/mnt/boot/grub/grub.cfg", , , «keylogger.mod» , «grub.cfg» > «insmod keylogger». , , , GRUB2 ( ) GRUB2, «grub-mkimage (-).» «-» «grub.cfg». : «modern.cfg», , , ~400 (+) "/boot/grub/i386-pc". , "/boot/grub/grub.cfg", «hashsum» .
/ GRUB2 , ( ) "/boot/grub/grub.cfg" «modern.cfg»
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

- GRUB2.

( ) , , ( ) . - BIOS ( GRUB2 > GRUB2, !) . - , , ( ) «grub.cfg» . , , , «grub.cfg» ( ) , GRUB2.

, / sdaY, GRUB2 ( grub-install ) «grub.cfg» ( )
menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod cryptodisk
insmod luks
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root='cryptouuid/15c47d1c4bd34e5289df77bcf60ee838'
normal /boot/grub/grub.cfg
}


* insmod - ;
* GRUBx2 - GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -. fdisk -l (sda9);
* set root - ;
* normal /boot/grub/grub.cfg - .

, «grub.cfg» — / «sdaY» «GRUBx2» GRUB.

CLI, ( «set root»), , , "/shifr_grub", "/noshifr_grub". CLI

 cat /Tab-Tab 

, , . , , "~/i386", .

, ( ) , , CLI

 list_trusted 

«perskey», , ( «set check_signatures=enforce») .
, . «grub.cfg» , , , GRUB2.
: .18.2
«Note that even with GRUB password protection, GRUB itself cannot prevent someone with physical access to the machine from altering that machine's firmware (eg, Coreboot or BIOS) configuration to cause the machine to boot from a different (attacker-controlled) device. GRUB is at best only one link in a secure boot chain».

GRUB2 — , , MS-DOS, . , GRUB2 — «» , GNU/Linux .

, , GRUB2, (, , – /.mod) .



Conclusions:


1) Le chiffrement du système de blocs pour Windows est plus facile à mettre en œuvre, et la protection avec un seul mot de passe est plus pratique que la protection avec plusieurs mots de passe avec le chiffrement du système de blocs GNU / Linux, pour être honnête: ce dernier est automatisé.

2) L'article a été écrit comme un guide simple , pertinent et détaillé pour le cryptage complet du disque VeraCrypt / LUKS sur une maison de la machine, qui, de loin, est le meilleur en runet (IMHO). Le manuel> 60k caractères n'a donc pas abordé certains chapitres intéressants: sur les cryptographies qui disparaissent / restent dans l' ombre ; que dans divers livres GNU / Linux peu / n'écrivent pas sur la cryptographie; À propos de l'article 51 de la Constitution de la Fédération de Russie; sur l' octroi de licences / l'interdiction du chiffrement dans la Fédération de Russie, sur ce dont vous avez besoin pour crypter le "root / boot". Le manuel s'est avéré déjà considérable, mais détaillé (décrivant même des étapes simples) , à son tour, cela vous fera gagner beaucoup de temps lorsque vous effectuez un «vrai chiffrement».

3) Chiffrement complet du disque effectué sur Windows 7 64; GNU / Linux Parrot 4x; GNU / Debian 9.0 / 9.5.

4) Implémentation d'une attaque réussie sur votre chargeur de démarrage GRUB2.

5) Un didacticiel a été créé pour aider tous les pays paranoïaques de la CEI , où le chiffrement est autorisé au niveau législatif. Et tout d'abord, pour ceux qui souhaitent effectuer un chiffrement intégral du disque sans démolir leurs systèmes configurés.

6) Révisé et mis à jour son manuel, qui est pertinent en 2020.

[G] Documentation utile


  1. Guide de l'utilisateur TrueCrypt (février 2012 RU)
  2. Documentation de VeraCrypt
  3. / usr / share / doc / cryptsetup (-run) [ressource locale] (documentation officielle détaillée sur la configuration du chiffrement GNU / Linux à l'aide de cryptsetup)
  4. FAQ officielle de cryptsetup (brève documentation sur la configuration du chiffrement GNU / Linux à l'aide de cryptsetup)
  5. Cryptage des périphériques LUKS (documentation archlinux)
  6. Une description détaillée de la syntaxe cryptsetup (page de manuel arch)
  7. Description détaillée de crypttab (page de manuel arch)
  8. La documentation officielle de GRUB2 .

Tags: VeraCrypt, cryptage complet du disque, cryptage de partition, cryptage complet du disque Linux, cryptage complet du système LUKS1 / LUKS2.

Oeuf de Pâques

© , .
ne555 2018-2020

Source: https://habr.com/ru/post/fr482696/


All Articles