Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté
Mise à jour de notre propre guide sur le chiffrement complet du disque dans RuNet V0.2.

Stratégie de cow-boy :

[A] Le système Windows 7 bloque le chiffrement du système installé ;
[B] Chiffrement des blocs du système GNU/Linux (Debian) système installé (y compris /boot);
[C] Configuration GRUB2, protection du chargeur de démarrage avec signature/authentification/hachage numérique ;
[D] suppression : destruction des données non cryptées ;
[E] sauvegarde universelle du système d'exploitation crypté ;
[F] attaque <sur l'élément [C6]> cible - chargeur de démarrage GRUB2 ;
[G]documentation utile.

╭───Schéma de la #salle 40# :
├──╼ Windows 7 installé - cryptage complet du système, non caché ;
├──╼ GNU/Linux installé (Distributions Debian et dérivées) — cryptage complet du système, non caché(/, y compris /boot; swap);
├──╼ chargeurs de démarrage indépendants : le chargeur de démarrage VeraCrypt est installé dans le MBR, le chargeur de démarrage GRUB2 est installé dans la partition étendue ;
├──╼aucune installation/réinstallation du système d'exploitation requise ;
└──╼logiciel cryptographique utilisé : VeraCrypt ; Configuration de la crypte ; GnuPG ; Hippocampe; Hashdeep ; GRUB2 est gratuit/gratuit.

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

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

  • allumer la machine ;
  • chargement du chargeur de démarrage VeraCrypt (entrer le mot de passe correct continuera à démarrer Windows 7);
  • appuyer sur la touche « Esc » chargera le chargeur de démarrage GRUB2 ;
  • Chargeur de démarrage GRUB2 (sélectionnez distribution/GNU/Linux/CLI), nécessitera l'authentification du superutilisateur GRUB2 <login/password> ;
  • après une authentification réussie et une sélection de la distribution, vous devrez saisir une phrase secrète pour déverrouiller « /boot/initrd.img » ;
  • après avoir saisi des mots de passe sans erreur, GRUB2 "exigera" une saisie de mot de passe (troisièmement, mot de passe du BIOS ou mot de passe du compte utilisateur GNU/Linux – à ne pas prendre en compte) pour déverrouiller et démarrer le système d'exploitation GNU/Linux, ou substitution automatique d'une clé secrète (deux mots de passe + clé, ou mot de passe + clé);
  • une intrusion externe dans la configuration GRUB2 gèlera le processus de démarrage de GNU/Linux.

Gênant? Ok, allons automatiser les processus.

Lors du partitionnement d'un disque dur (tableau MBR) Un PC ne peut pas avoir plus de 4 partitions principales, ou 3 partitions principales et une étendue, ainsi qu'une zone non allouée. Une section étendue, contrairement à la section 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 à accomplir : le chiffrement complet du système. Si votre disque est divisé en 4 partitions principales, vous devez utiliser lvm, ou transformer (avec formatage) section du principal à avancé, ou utilisez judicieusement les quatre sections et laissez tout tel quel, pour obtenir le résultat souhaité. Même si vous avez une partition sur votre disque, Gparted vous aidera à partitionner votre disque dur (pour les sections supplémentaires) sans perte de données, mais toujours avec une petite pénalité pour de telles actions.

Le schéma d'agencement du disque dur, par rapport auquel l'ensemble de l'article sera verbalisé, est présenté dans le tableau ci-dessous.

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté
Tableau (n°1) des partitions de 1 To.

Vous devriez aussi avoir quelque chose de similaire.
sda1 - partition principale n°1 NTFS (crypté);
sda2 - marqueur de section étendu ;
sda6 - disque logique (le chargeur de démarrage GRUB2 est installé) ;
sda8 - swap (fichier d'échange crypté/pas toujours) ;
sda9 - tester le disque logique ;
sda5 - disque logique pour les curieux ;
sda7 - OS GNU/Linux (OS transféré sur un disque logique crypté) ;
sda3 - partition principale n°2 avec le système d'exploitation Windows 7 (crypté);
sda4 - section principale n°3 (il contenait du GNU/Linux non chiffré, utilisé pour la sauvegarde/pas toujours).

[A] Chiffrement par blocs du système Windows 7

A1. VeraCrypteCryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

Télécharger à partir de site officiel, ou depuis le miroir sourceforge 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 chiffrement du système). Vérifiez la somme de contrôle du logiciel téléchargé

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

et comparez le résultat avec le CS publié sur le site Web du développeur VeraCrypt.

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

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

A2. Installer/exécuter le logiciel VeraCrypt avec des droits d'administrateurCryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

A3. Sélection des paramètres de chiffrement du système pour la partition activeVeraCrypt – Système – Chiffrer la partition/disque système – Normal – Chiffrer la partition système Windows – Multiboot – (avertissement : « Il est déconseillé aux utilisateurs inexpérimentés d'utiliser cette méthode » et c'est vrai, nous sommes d'accord « Oui ») - Disque de démarrage ("oui", même si ce n'est pas le cas, toujours "oui") – Nombre de disques système « 2 ou plus » – Plusieurs systèmes sur un disque « Oui » – Chargeur de démarrage non Windows « Non » (en fait, « Oui », mais les chargeurs de démarrage VeraCrypt/GRUB2 ne partageront pas le MBR entre eux ; plus précisément, seule la plus petite partie du code du chargeur de démarrage est stockée dans la piste MBR/boot, la majeure partie est situé dans le système de fichiers) – Multiboot – Paramètres de chiffrement…

Si vous vous écartez des étapes ci-dessus (bloquer les schémas de chiffrement du système), alors VeraCrypt émettra un avertissement et ne vous permettra pas de chiffrer la partition.

Dans la prochaine étape vers une protection ciblée des données, effectuez un « test » et sélectionnez un algorithme de cryptage. Si vous disposez d’un processeur obsolète, l’algorithme de cryptage le plus rapide sera probablement Twofish. Si le CPU est puissant, vous remarquerez la différence : le cryptage AES, selon les résultats des tests, sera plusieurs fois plus rapide que ses concurrents crypto. AES est un algorithme de chiffrement populaire ; le matériel des processeurs modernes est spécialement optimisé pour le « secret » et le « piratage ».

VeraCrypt prend en charge la possibilité de chiffrer les disques dans une cascade AES(Deux Poisson)/et d'autres combinaisons. Sur un vieux processeur Intel core d'il y a dix ans (sans prise en charge matérielle pour le cryptage en cascade AES, A/T) La diminution des performances est essentiellement imperceptible. (pour les processeurs AMD de la même époque/~paramètres, les performances sont légèrement réduites). Le système d'exploitation fonctionne de manière dynamique et la consommation de ressources pour le cryptage transparent est invisible. En revanche, par exemple, il y a une diminution notable des performances en raison de l'environnement de bureau de test instable installé Mate v1.20.1 (ou v1.20.2 je ne me souviens plus exactement) sous GNU/Linux, ou en raison du fonctionnement de la routine de télémétrie dans Windows7↑. En règle générale, les utilisateurs expérimentés effectuent des tests de performances matérielles avant le chiffrement. Par exemple, dans Aida64/Sysbench/systemd-analyze, le blâme est comparé aux résultats des mêmes tests après le chiffrement du système, réfutant ainsi le mythe selon lequel « le chiffrement du système est dangereux ». Le ralentissement de la machine et les désagréments 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 ne se mesure pas en ms, et ces mêmes <déchiffrer/chiffrer à la volée> sont ajoutées. En fin de compte, chaque utilisateur autorisé à bricoler la cryptographie met en balance l’algorithme de chiffrement avec la satisfaction des tâches à accomplir, son niveau de paranoïa et sa facilité d’utilisation.

Il est préférable de laisser le paramètre PIM par défaut, afin que lors du chargement du système d'exploitation, vous n'ayez pas à saisir les valeurs d'itération exactes à chaque fois. VeraCrypt utilise un grand nombre d'itérations pour créer un véritable « hachage lent ». Une attaque contre un tel « escargot cryptographique » à l’aide de la méthode Force brute/Tables arc-en-ciel n’a de sens qu’avec une courte phrase secrète « simple » et la liste de jeux de caractères personnelle de la victime. Le prix à payer pour la solidité d’un mot de passe est un retard dans la saisie du mot de passe correct lors du chargement du système d’exploitation. (le montage des volumes VeraCrypt sous GNU/Linux est nettement plus rapide).
Logiciel gratuit pour mettre en œuvre des attaques par force brute (extraire la phrase secrète de l'en-tête du disque VeraCrypt/LUKS) Hashcat. John the Ripper ne sait pas comment «casser Veracrypt» et lorsqu'il travaille avec LUKS, il ne comprend pas la cryptographie Twofish.

En raison de la force cryptographique des algorithmes de chiffrement, des cypherpunks imparables développent des logiciels avec un vecteur d’attaque différent. Par exemple, extraire des métadonnées/clés de la RAM (attaque à froid/accès direct à la mémoire), Il existe des logiciels spécialisés, gratuits et non libres, à ces fins.

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

Lors de la dernière étape du cryptage du système, VeraCrypt proposera de créer une copie de sauvegarde de l'en-tête de la partition cryptée active sous la forme de « disque de secours veracrypt.iso » - cela doit être fait - dans ce logiciel, une telle opération est une exigence (dans LUKS, c'est une exigence - ceci est malheureusement omis, mais est souligné dans la documentation). Le disque de secours sera utile à tout le monde, et pour certains plus d'une fois. Perte (en-tête/réécriture MBR) une copie de sauvegarde de l'en-tête refusera définitivement l'accès à la partition déchiffrée avec le système d'exploitation Windows.

A4. Création d'un disque/USB de secours VeraCryptPar défaut, VeraCrypt propose de graver « ~2-3 Mo de métadonnées » sur un CD, mais tout le monde ne dispose pas de disques ou de lecteurs DWD-ROM, et la création d'un lecteur flash amorçable « Disque de secours VeraCrypt » sera une surprise technique pour certains : Rufus /GUIdd-ROSA ImageWriter et d'autres logiciels similaires ne seront pas en mesure de faire face à la tâche, car en plus de copier les métadonnées offset sur une clé USB amorçable, vous devez copier/coller l'image en dehors du système de fichiers de la clé USB, bref, copiez correctement le MBR/road vers le trousseau. Vous pouvez créer un lecteur flash amorçable à partir du système d'exploitation GNU/Linux à l'aide de l'utilitaire « dd », en regardant ce signe.

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

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 le document officiel documentation par « disque de secours », mais a proposé une solution d'une manière différente : il a posté un logiciel supplémentaire pour créer un « disque de secours USB » en accès libre sur son forum VeraCrypt. L'archiviste de ce logiciel pour Windows est en train de « créer un disque de secours USB Veracrypt ». Après avoir enregistré le fichier de secours.iso, le processus de cryptage du système de blocage de la partition active commencera. Pendant le cryptage, le fonctionnement du 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 et peut être utilisée. Si le chargeur de démarrage VeraCrypt n'apparaît pas lorsque vous démarrez le PC et que l'opération de récupération d'en-tête ne vous aide pas, vérifiez l'indicateur « boot », il doit être défini sur la partition où Windows est présent. (quel que soit le cryptage et les autres OS, voir tableau n°1).
Ceci termine la description du chiffrement du système de blocage avec le système d'exploitation Windows.

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

Afin de chiffrer une distribution Debian/dérivée installée, vous devez mapper la partition préparée sur un périphérique de bloc virtuel, la transférer sur le disque 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 destinées à être exécutées en « mode Chuck-Norris ».

B1. Démarrer un PC à partir d'un port USB GNU/Linux en direct

"Effectuer un test cryptographique pour les performances matérielles"

lscpu && сryptsetup benchmark

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

Si vous êtes l'heureux propriétaire d'une voiture puissante avec support matériel AES, alors les chiffres ressembleront au côté droit du terminal ; si vous êtes un heureux propriétaire, mais avec du matériel ancien, les chiffres ressembleront au côté gauche.

B2. Partitionnement de disque. montage/formatage du disque dur logique fs sur Ext4 (Gparted)

B2.1. Création d'un en-tête de partition sda7 chiffréJe décrirai les noms des partitions, ici et plus loin, conformément à ma table de partition affichée ci-dessus. Selon la configuration de votre disque, vous devez remplacer les noms de vos partitions.

Mappage du chiffrement du lecteur 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 -phrase secrète (pas de clé/fichier) ;
* -v -verbalisation (affichage des informations dans le terminal) ;
* /dev/sda7 - votre disque logique de la partition étendue (où il est prévu de transférer/chiffrer GNU/Linux).

Algorithme de chiffrement par défaut <LUKS1 : aes-xts-plain64, clé : 256 bits, hachage d'en-tête LUKS : sha256, RNG : /dev/urandom> (dépend de la version de cryptsetup).

#Проверка default-алгоритма шифрования
cryptsetup  --help #самая последняя строка в выводе терминала.

S'il n'y a pas de support matériel pour AES sur le CPU, le meilleur choix serait de créer une « partition LUKS-Twofish-XTS » étendue.

B2.2. Création avancée de « 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 est votre futur disque logique chiffré ;
* -v verbalisation ;
* -y phrase secrète ;
* -c sélectionne l'algorithme de cryptage des données ;
* -s taille de la clé de chiffrement ;
* -h algorithme de hachage/fonction crypto, RNG utilisé (--use-urandom) pour générer une clé de chiffrement/déchiffrement unique pour l'en-tête de disque logique, une clé d'en-tête secondaire (XTS) ; une clé principale unique stockée dans l'en-tête du disque chiffré, une clé XTS secondaire, toutes ces métadonnées et une routine de chiffrement qui, à l'aide de la clé principale et de la clé XTS secondaire, chiffre/déchiffre toutes les données de la partition (sauf le titre de la section) stocké dans ~ 3 Mo sur la partition du disque dur sélectionnée.
* -i itérations en millisecondes, au lieu de "montant" (le délai de traitement de la phrase secrète affecte le chargement du système d'exploitation et la force cryptographique des clés). Pour maintenir un équilibre de 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 », la valeur peut être diminuée.
* —utilise un générateur de nombres aléatoires aléatoires, génère des clés et du sel.

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

B2.3. Comparaison

cryptsetup open /dev/sda7 sda7_crypt
#выполнение данной команды запрашивает ввод секретной парольной фразы.

choix :
* ouvert - faites correspondre la section « avec le nom » ;
* /dev/sda7 -disque logique ;
* sda7_crypt - mappage de nom utilisé pour monter la partition chiffrée ou l'initialiser au démarrage du système d'exploitation.

B2.4. Formatage du système de fichiers sda7_crypt en ext4. Monter un disque dans le système d'exploitation(Remarque : vous ne pourrez pas travailler avec une partition chiffrée dans Gparted)

#форматирование блочного шифрованного устройства
mkfs.ext4 -v -L DebSHIFR /dev/mapper/sda7_crypt 

choix :
* -v -verbalisation ;
* -L - étiquette du lecteur (qui est affichée dans l'Explorateur parmi d'autres lecteurs).

Ensuite, vous devez monter le périphérique de bloc crypté virtuel /dev/sda7_crypt sur le système

mount /dev/mapper/sda7_crypt /mnt

Travailler avec des fichiers dans le dossier /mnt cryptera/déchiffrera automatiquement les données dans sda7.

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

B2.5. Sauvegarde de l'en-tête du disque (~ 3 Mo de métadonnées)L'un des plus importante opérations qui doivent être effectuées sans délai - une copie de sauvegarde de l'en-tête « sda7_crypt ». Si vous écrasez/endommagez l'en-tête (par exemple, installer GRUB2 sur la partition sda7, etc.), les données cryptées seront complètement perdues sans aucune possibilité de les récupérer, car il sera impossible de régénérer les mêmes clés ; les clés sont créées de manière unique.

#Бэкап заголовка раздела
cryptsetup luksHeaderBackup --header-backup-file ~/Бэкап_DebSHIFR /dev/sda7 

#Восстановление заголовка раздела
cryptsetup luksHeaderRestore --header-backup-file <file> <device>

choix :
* luksHeaderBackup — commande header-backup-file -backup ;
* luksHeaderRestore — commande header-backup-file -restore ;
* ~/Backup_DebSHIFR - fichier de sauvegarde ;
* /dev/sda7 - partition dont la copie de sauvegarde cryptée de l'en-tête du disque doit être enregistrée.
À cette étape, la <création et la modification de la partition chiffrée> sont terminées.

B3. Portage du système d'exploitation GNU/Linux (sda4) vers une partition chiffrée (sda7)

Créer un dossier /mnt2 (Remarque : nous travaillons toujours avec Live USB, sda7_crypt est monté sur /mnt), et montez notre GNU/Linux dans /mnt2, qui doit être chiffré.

mkdir /mnt2
mount /dev/sda4 /mnt2

Nous effectuons le transfert correct du système d'exploitation à l'aide du logiciel Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Les options Rsync sont décrites au paragraphe E1.

En outre, nécessaire défragmenter une partition de disque logique

e4defrag -c /mnt/ #после проверки, e4defrag выдаст, что степень дефрагментации раздела~"0", это заблуждение, которое может вам стоить существенной потери производительности!
e4defrag /mnt/ #проводим дефрагментацию шифрованной GNU/Linux

Faites-en une règle : effectuez de temps en temps e4defrag sur GNU/LInux crypté si vous disposez d'un disque dur.
Le transfert et la synchronisation [GNU/Linux > GNU/Linux-encrypted] sont terminés à cette étape.

À 4 HEURES. Configuration de GNU/Linux sur une partition sda7 chiffrée

Après avoir transféré avec succès le système d'exploitation /dev/sda4 > /dev/sda7, vous devez vous connecter à GNU/Linux sur la partition chiffrée et effectuer une configuration plus approfondie. (sans redémarrer le PC) par rapport à un système crypté. Autrement dit, soyez en direct USB, mais exécutez des commandes « par rapport à la racine du système d’exploitation crypté ». "chroot" simulera une situation similaire. Pour recevoir rapidement des informations sur le système d'exploitation avec lequel vous travaillez actuellement (crypté ou non, puisque les données dans sda4 et sda7 sont synchronisées), désynchronisez le système d'exploitation. Créer dans les répertoires racine (sda4/sda7_crypt) fichiers de marqueurs vides, par exemple /mnt/encryptedOS et /mnt2/decryptedOS. Vérifiez rapidement sur quel système d'exploitation vous utilisez (y compris pour l'avenir) :

ls /<Tab-Tab>

B4.1. "Simulation de connexion à un système d'exploitation crypté"

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 d'un swap chiffré, édition de crypttab/fstabÉ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 le swap sur un disque logique maintenant, et de saisir des commandes comme au paragraphe B2.2. Pour Swap, ses propres clés de chiffrement temporaires seront automatiquement générées à chaque démarrage. Cycle de vie des clés de swap : démontage/démontage de la partition de swap (+nettoyage de la RAM); ou redémarrez le système d'exploitation. Configuration du swap, ouverture du fichier responsable de la configuration des appareils cryptés en bloc (analogue à un fichier fstab, mais responsable du crypto).

nano /etc/crypttab 

je fais

#"nom cible" "périphérique source" "fichier clé" "options"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

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

#Открываем и правим fstab
nano /etc/fstab

je fais

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

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

Swap crypté alternatif
Si, pour une raison quelconque, vous ne souhaitez pas abandonner une partition entière pour un fichier d'échange, vous pouvez opter pour une méthode alternative et meilleure : créer un fichier d'échange dans un fichier sur une partition crypté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 d'échange est terminée.

B4.4. Configuration de GNU/Linux chiffré (édition de fichiers crypttab/fstab)Le fichier /etc/crypttab, tel qu'écrit ci-dessus, décrit les périphériques de bloc chiffrés configurés lors du démarrage du système.

#правим /etc/crypttab 
nano /etc/crypttab 

si vous correspondez à la section sda7>sda7_crypt comme au paragraphe B2.1

# "nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

si vous correspondez à la section sda7>sda7_crypt comme au paragraphe B2.2

# "nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

si vous correspondez à la section sda7>sda7_crypt comme dans le paragraphe B2.1 ou B2.2, mais que vous ne souhaitez pas ressaisir le mot de passe pour déverrouiller et démarrer le système d'exploitation, alors au lieu du mot de passe, vous pouvez remplacer une clé secrète/un fichier aléatoire

# "nom cible" "périphérique source" "fichier clé" "options"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

description
* aucun - signale que lors du chargement du système d'exploitation, la saisie d'une phrase secrète est requise pour déverrouiller la racine.
* UUID - identifiant de partition. Pour connaître votre identifiant, saisissez dans le terminal (rappel qu'à partir de ce moment, vous travaillez dans un terminal dans un 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 depuis le terminal USB en direct avec sda7_crypt monté).
Vous prenez l'UUID de votre sdaX (pas sdaX_crypt !, UUID sdaX_crypt - sera automatiquement laissé lors de la génération de la configuration grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks cryptage en mode avancé.
* /etc/skey - fichier de clé secrète, qui est inséré automatiquement pour déverrouiller le démarrage du système d'exploitation (au lieu de saisir le 3ème mot de passe). Vous pouvez spécifier n'importe quel fichier jusqu'à 8 Mo, mais les données seront lues <1 Mo.

#Создание "генерация" случайного файла <секретного ключа> размером 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 

Cela ressemblera à ceci :

(faites-le vous-même et voyez par vous-même).

cryptsetup luksKillSlot /dev/sda7 7 #удаление ключа/пароля из 7 слота

/etc/fstab contient des informations descriptives sur différents systèmes de fichiers.

#Правим /etc/fstab
nano /etc/fstab

# "système de fichiers" "point de montage" "type" "options" "dump" "pass"
# / était sur / dev / sda7 lors de l'installation
/dev/mapper/sda7_crypt / ext4 erreurs=remount-ro 0 1

option
* /dev/mapper/sda7_crypt - le nom du mappage sda7>sda7_crypt, qui est spécifié dans le fichier /etc/crypttab.
La configuration de crypttab/fstab est terminée.

B4.5. Modification des fichiers de configuration. Moment cléB4.5.1. Modification de la configuration /etc/initramfs-tools/conf.d/resume

#Если у вас ранее был активирован swap раздел, отключите его. 
nano /etc/initramfs-tools/conf.d/resume

et commente (si existe) Ligne "#" "reprendre". Le fichier doit être complètement vide.

B4.5.2. Modification de la configuration /etc/initramfs-tools/conf.d/cryptsetup

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

devrait correspondre

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=oui
exporter CRYPTSETUP

B4.5.3. Modification de la configuration /etc/default/grub (cette configuration est responsable de la possibilité de générer grub.cfg lorsque vous travaillez avec /boot chiffré)

nano /etc/default/grub

ajoutez la ligne "GRUB_ENABLE_CRYPTODISK=y"
la valeur 'y', grub-mkconfig et grub-install vérifieront les lecteurs chiffrés et généreront les commandes supplémentaires nécessaires pour y accéder au moment du démarrage (insmods ).
il doit y avoir une similitude

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || faire écho à Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=fournisseur"
GRUB_CMDLINE_LINUX = "éclaboussure silencieuse sans montage automatique"
GRUB_ENABLE_CRYPTODISK=oui

B4.5.4. Modification de la configuration /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

vérifie que la ligne a commenté <#>.
Dans le futur (et même maintenant, ce paramètre n'aura aucune signification, mais parfois il interfère avec la mise à jour de l'image initrd.img).

B4.5.5. Modification de la configuration /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

ajouter

KEYFILE_PATTERN=”/etc/skey”
UMASQUE=0077

Cela intégrera la clé secrète "skey" dans initrd.img, la clé est nécessaire pour déverrouiller la racine au démarrage du système d'exploitation. (si vous ne souhaitez plus saisir le mot de passe, la clé « skey » remplace la voiture).

B4.6. Mettre à jour /boot/initrd.img [version]Pour regrouper la clé secrète dans initrd.img et appliquer les correctifs cryptsetup, mettez à jour l'image

update-initramfs -u -k all

lors de la mise à jour de initrd.img (comme on dit « C’est possible, mais ce n’est pas sûr ») des avertissements liés à cryptsetup apparaîtront ou, par exemple, une notification concernant la perte de modules Nvidia - c'est normal. Après avoir mis à jour le fichier, vérifiez qu'il a bien été mis à jour, voyez l'heure (par rapport à l'environnement chroot./boot/initrd.img). Attention! avant [update-initramfs -u -k all] assurez-vous de vérifier que cryptsetup est ouvert /dev/sda7 sda7_crypt - c'est le nom qui apparaît dans /etc/crypttab, sinon après le redémarrage il y aura une erreur busybox)
À cette étape, la configuration des fichiers de configuration est terminée.

[C] Installation et configuration de GRUB2/Protection

C1. Si nécessaire, formatez la partition dédiée au bootloader (une partition a besoin d'au moins 20 Mo)

mkfs.ext4 -v -L GRUB2 /dev/sda6

C2. Monter /dev/sda6 sur /mntNous travaillons donc en chroot, alors il n'y aura pas de répertoire /mnt2 à la racine, et le dossier /mnt sera vide.
monter la partition GRUB2

mount /dev/sda6 /mnt

Si vous avez une ancienne version de GRUB2 installée, dans le répertoire /mnt/boot/grub/i-386-pc (une autre plateforme est possible, par exemple pas « i386-pc ») pas de modules cryptographiques (en bref, le dossier doit contenir des modules, dont ces .mod : cryptodisk ; luks ; gcry_twofish ; gcry_sha512 ; signature_test.mod), dans ce cas, GRUB2 doit être secoué.

apt-get update
apt-get install grub2 

Important! Lors de la mise à jour du package GRUB2 à partir du référentiel, lorsqu'on vous demande « sur le choix » où installer le chargeur de démarrage, vous devez refuser l'installation (raison - tentative d'installation de GRUB2 - dans « MBR » ou sur Live USB). Sinon, vous endommagerez l'en-tête/chargeur VeraCrypt. Après avoir mis à jour les packages GRUB2 et annulé l'installation, le chargeur de démarrage doit être installé manuellement sur le disque logique, et non dans le MBR. Si votre référentiel dispose d'une version obsolète de GRUB2, essayez mise à jour ça vient du site officiel - je ne l'ai pas vérifié (travaillé avec les derniers chargeurs de démarrage GRUB 2.02 ~ BetaX).

C3. Installation de GRUB2 dans une partition étendue [sda6]Vous devez avoir une partition montée [élément C.2]

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

options
* —force - installation du chargeur de démarrage, contournant tous les avertissements qui existent presque toujours et bloquent l'installation (drapeau obligatoire).
* --root-directory - installation du répertoire à la racine de sda6.
* /dev/sda6 - votre partition sdaХ (ne manquez pas le <espace> entre /mnt /dev/sda6).

C4. Création d'un fichier de configuration [grub.cfg]Oubliez la commande "update-grub2" et utilisez la commande de génération de fichier de configuration complète

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

après avoir terminé la génération/mise à jour du fichier grub.cfg, le terminal de sortie doit contenir une ou plusieurs lignes avec le système d'exploitation trouvé sur le disque ("grub-mkconfig" trouvera et récupérera probablement le système d'exploitation à partir d'une clé USB en direct, si vous avez un lecteur flash multiboot avec Windows 10 et un tas de distributions en direct - c'est normal). Si le terminal est « vide » et que le fichier « grub.cfg » n’est pas généré, alors c’est le même cas lorsqu’il y a des bugs GRUB dans le système (et très probablement le chargeur de la branche test du référentiel), réinstallez GRUB2 à partir de sources fiables.
L'installation de la "configuration simple" et la configuration de GRUB2 sont terminées.

C5. Test de preuve du système d'exploitation GNU/Linux cryptéNous terminons correctement la mission crypto. Quitter soigneusement le GNU/Linux chiffré (quittez l'environnement chroot).

umount -a #размонтирование всех смонтированных разделов шифрованной GNU/Linux
Ctrl+d #выход из среды chroot
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount -a #размонтирование всех смонтированных разделов на live usb
reboot

Après avoir redémarré le PC, le chargeur de démarrage VeraCrypt devrait se charger.
Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

*La saisie du mot de passe de la partition active lancera le chargement de Windows.
*Appuyer sur la touche "Esc" transférera le contrôle à GRUB2, si vous sélectionnez GNU/Linux chiffré - un mot de passe (sda7_crypt) sera requis pour déverrouiller /boot/initrd.img (si grub2 écrit uuid "not found" - c'est un problème avec le chargeur de démarrage grub2, il doit être réinstallé, par exemple, à partir de la branche test/stable, etc.).
Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

*Selon la façon dont vous avez configuré le système (voir paragraphe B4.4/4.5), après avoir saisi le mot de passe correct pour déverrouiller l'image /boot/initrd.img, vous aurez besoin d'un mot de passe pour charger le noyau/racine du système d'exploitation, ou du secret La clé sera automatiquement remplacée par " skey", éliminant ainsi le besoin de ressaisir la phrase secrète.
Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté
(écran « substitution automatique d'une clé secrète »).

*Ensuite, le processus familier de chargement de GNU/Linux avec authentification du compte utilisateur suivra.
Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

*Après l'autorisation de l'utilisateur et la connexion au système d'exploitation, vous devez à nouveau mettre à jour /boot/initrd.img (voir B4.6).

update-initramfs -u -k all

Et en cas de lignes supplémentaires dans le menu GRUB2 (à partir du micro OS-m avec Live USB) se débarrasser d'eux

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

Un résumé rapide du chiffrement du système GNU/Linux :

  • GNU/Linuxinux est entièrement chiffré, y compris /boot/kernel et initrd ;
  • la clé secrète est regroupée dans initrd.img ;
  • régime d'autorisation actuel (saisie du mot de passe pour déverrouiller l'initrd ; mot de passe/clé pour démarrer le système d'exploitation ; mot de passe pour autoriser le compte Linux).

Le cryptage système « Simple GRUB2 Configuration » de la partition de bloc est terminé.

C6. Configuration GRUB2 avancée. Protection du chargeur de démarrage avec signature numérique + protection par authentificationGNU/Linux est entièrement crypté, mais le chargeur de démarrage ne peut pas être crypté – cette condition est dictée par le BIOS. Pour cette raison, un démarrage chiffré en chaîne de GRUB2 n'est pas possible, mais un démarrage en chaîne simple est possible/disponible, mais d'un point de vue sécurité, ce n'est pas nécessaire [voir P.F].
Pour le GRUB2 « vulnérable », les développeurs ont implémenté un algorithme de protection du chargeur de démarrage « signature/authentification ».

  • Lorsque le chargeur de démarrage est protégé par « sa propre signature numérique », une modification externe des fichiers ou une tentative de chargement de modules supplémentaires dans ce chargeur de démarrage entraînera le blocage du processus de démarrage.
  • Lors de la protection du chargeur de démarrage avec authentification, afin de sélectionner le chargement d'une distribution ou de saisir des commandes supplémentaires dans la CLI, vous devrez saisir le login et le mot de passe du superutilisateur-GRUB2.

C6.1. Protection de l'authentification du chargeur de démarrageVérifiez que vous travaillez dans un terminal sur un OS crypté

ls /<Tab-Tab> #обнаружить файл-маркер

créer un mot de passe superutilisateur pour l'autorisation dans GRUB2

grub-mkpasswd-pbkdf2 #введите/повторите пароль суперпользователя. 

Obtenez le hachage du mot de passe. Quelque chose comme ça

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

monter la partition GRUB

mount /dev/sda6 /mnt 

modifier la configuration

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

vérifiez lors de la recherche de fichiers qu'il n'y a aucun indicateur nulle part dans "grub.cfg" ("-unrestricted" "-user",
ajouter à la toute fin (avant la ligne ### END /etc/grub.d/41_custom ###)
"set superusers="root"
hachage racine password_pbkdf2."

Ça devrait être quelque chose comme ça

# Ce fichier fournit un moyen simple d'ajouter des entrées de menu personnalisées. Tapez simplement le
# entrées de menu que vous souhaitez ajouter après ce commentaire. Attention à ne pas changer
# la ligne 'exec tail' ci-dessus.
### FIN /etc/grub.d/40_custom ###

### COMMENCER /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; alors
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; alors
source $prefix/custom.cfg;
fi
définir les superutilisateurs = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### FIN /etc/grub.d/41_custom ###
#

Si vous utilisez souvent la commande « grub-mkconfig -o /mnt/boot/grub/grub.cfg » et que vous ne souhaitez pas apporter de modifications à grub.cfg à chaque fois, entrez les lignes ci-dessus (Mot de passe) dans le script utilisateur GRUB tout en bas

nano /etc/grub.d/41_custom 

chat <<EOF
définir les superutilisateurs = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Lors de la génération de la configuration « grub-mkconfig -o /mnt/boot/grub/grub.cfg », les lignes responsables de l'authentification seront ajoutées automatiquement à grub.cfg.
Cette étape termine la configuration de l'authentification GRUB2.

C6.2. Protection du chargeur de démarrage avec signature numériqueIl est supposé que vous disposez déjà de votre clé de cryptage pgp personnelle. (ou créez une telle clé). Le système doit disposer d'un logiciel cryptographique installé : gnuPG ; Cléopâtre/GPA ; Hippocampe. Les logiciels de cryptographie vous faciliteront grandement la vie dans tous ces domaines. Seahorse - version stable du package 3.14.0 (les versions supérieures, par exemple la V3.20, sont défectueuses et comportent des bugs importants).

La clé PGP doit être générée/lancée/ajoutée uniquement dans l'environnement su !

Générer une clé de chiffrement personnelle

gpg - -gen-key

Exportez votre clé

gpg --export -o ~/perskey

Montez le disque logique dans le système d'exploitation s'il n'est pas déjà monté

mount /dev/sda6 /mnt #sda6 – раздел GRUB2

nettoyer la partition GRUB2

rm -rf /mnt/

Installez GRUB2 dans sda6, en plaçant votre clé privée dans l'image GRUB principale "core.img"

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

options
* --force - installe le chargeur de démarrage en contournant tous les avertissements qui existent toujours (drapeau obligatoire).
* —modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - demande à GRUB2 de précharger les modules nécessaires au démarrage du PC.
* -k ~/perskey -chemin vers la « clé PGP » (après avoir emballé la clé dans l'image, elle peut être supprimée).
* --root-directory -définit le répertoire de démarrage sur la racine de sda6
/dev/sda6 - votre partition sdaX.

Génération/mise à jour de grub.cfg

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

Ajoutez la ligne « trust /boot/grub/perskey » à la fin du fichier « grub.cfg » (forcer l'utilisation de la clé pgp.) Puisque nous avons installé GRUB2 avec un ensemble de modules, y compris le module de signature « signature_test.mod », cela élimine le besoin d'ajouter des commandes telles que « set check_signatures=enforce » à la configuration.

Ça devrait ressembler a quelque chose comme ca (fin des lignes dans le fichier grub.cfg)

### COMMENCER /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; alors
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; alors
source $prefix/custom.cfg;
fi
confiance /boot/grub/perskey
définir les superutilisateurs = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### FIN /etc/grub.d/41_custom ###
#

Le chemin vers « /boot/grub/perskey » n'a pas besoin d'être pointé vers une partition de disque spécifique, par exemple hd0,6 ; pour le chargeur de démarrage lui-même, « root » est le chemin par défaut de la partition sur laquelle GRUB2 est installé (voir set rot=..).

Signature de GRUB2 (tous les fichiers dans tous les répertoires /GRUB) avec votre clé « perskey ».
Une solution simple pour signer (pour l'explorateur nautilus/caja) : installez l'extension « hippocampe » pour Explorer à partir du référentiel. Votre clé doit être ajoutée à l'environnement su.
Ouvrez l'Explorateur avec sudo « /mnt/boot » – RMB – signe. Sur l'écran, cela ressemble à ceci

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

La clé elle-même est « /mnt/boot/grub/perskey » (copier dans le répertoire grub) doit également être signé avec votre propre signature. Vérifiez que les signatures du fichier [*.sig] apparaissent dans le répertoire/sous-répertoires.
En utilisant la méthode décrite ci-dessus, signez «/boot» (notre noyau, initrd). Si votre temps vaut quelque chose, alors cette méthode élimine le besoin d'écrire un script bash pour signer « beaucoup de fichiers ».

Pour supprimer toutes les signatures du chargeur de démarrage (si quelque chose s'est mal passé)

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

Afin de ne pas signer le bootloader après la mise à jour du système, nous gelons tous les packages de mise à jour liés à GRUB2.

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

À cette étape <protéger le chargeur de démarrage avec signature numérique> la configuration avancée de GRUB2 est terminée.

C6.3. Test du bootloader GRUB2, protégé par signature numérique et authentificationGRUB2. Lors de la sélection d'une distribution GNU/Linux ou de la saisie de la CLI (ligne de commande) L'autorisation du superutilisateur sera requise. Après avoir entré le bon nom d'utilisateur/mot de passe, vous aurez besoin du mot de passe initrd

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté
Capture d'écran de l'authentification réussie du superutilisateur GRUB2.

Si vous altérez l'un des fichiers GRUB2/apportez des modifications à grub.cfg, supprimez le fichier/la signature, ou chargez un module.mod malveillant, un avertissement correspondant apparaîtra. GRUB2 mettra en pause le chargement.

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté
Capture d'écran, une tentative d'interférer avec GRUB2 « de l'extérieur ».

Lors d'un démarrage "normal" "sans intrusion", l'état du code de sortie du système est "0". On ne sait donc pas si la protection fonctionne ou non. (c'est-à-dire « avec ou sans protection de signature du chargeur de démarrage » pendant le chargement normal, l'état est le même « 0 » - c'est mauvais).

Comment vérifier la protection des signatures numériques ?

Une manière peu pratique de vérifier : simuler/supprimer un module utilisé par GRUB2, par exemple, supprimer la signature luks.mod.sig et obtenir une erreur.

La bonne manière : accédez à la CLI du chargeur de démarrage et tapez la commande

trust_list

En réponse, vous devriez recevoir une empreinte digitale « perkey » ; si le statut est « 0 », alors la protection de la signature ne fonctionne pas, revérifiez le paragraphe C6.2.
A cette étape, la configuration avancée « Protection de GRUB2 avec signature numérique et authentification » est terminée.

C7 Méthode alternative de protection du chargeur de démarrage GRUB2 à l'aide du hachageLa méthode "CPU Boot Loader Protection/Authentication" décrite ci-dessus est un classique. En raison des imperfections de GRUB2, dans des conditions paranoïaques, il est sensible à une véritable attaque, que je donnerai ci-dessous au paragraphe [F]. De plus, après la mise à jour du système d'exploitation/du noyau, le chargeur de démarrage doit être re-signé.

Protéger le chargeur de démarrage GRUB2 à l'aide du hachage

Avantages par rapport aux classiques :

  • Niveau de fiabilité plus élevé (le hachage/vérification a lieu uniquement à partir d'une ressource locale cryptée. La totalité de la partition allouée sous GRUB2 est contrôlée pour toute modification, et tout le reste est crypté ; dans le schéma classique avec protection/authentification du chargeur CPU, seuls les fichiers sont contrôlés, mais pas libres espace, dans lequel « quelque chose » quelque chose de sinistre » peut être ajouté).
  • Journalisation cryptée (un journal crypté personnel lisible par l'homme est ajouté au schéma).
  • vitesse (la protection/vérification d'une partition entière allouée à GRUB2 se produit presque instantanément).
  • Automatisation de tous les processus cryptographiques.

Inconvénients par rapport aux classiques.

  • Faux de signature (en théorie, il est possible de trouver une collision de fonction de hachage donnée).
  • Niveau de difficulté accru (par rapport au classique, un peu plus de compétences en OS GNU/Linux sont requises).

Comment fonctionne l'idée de hachage GRUB2/partition

La partition GRUB2 est « signée » ; lorsque le système d’exploitation démarre, l’immuabilité de la partition du chargeur de démarrage est vérifiée, suivie d’une connexion dans un environnement sécurisé (crypté). Si le bootloader ou sa partition est compromis, en plus du journal d'intrusion, les éléments suivants sont lancés :

Chose.Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

Une vérification similaire a lieu quatre fois par jour, ce qui ne charge pas les ressources système.
À l'aide de la commande « -$ check_GRUB », une vérification instantanée se produit à tout moment sans journalisation, mais avec sortie d'informations vers la CLI.
À l'aide de la commande « -$ sudo signature_GRUB », le chargeur/partition de démarrage GRUB2 est instantanément re-signé et sa journalisation mise à jour (nécessaire après la mise à jour du système d'exploitation/de démarrage), et la vie continue.

Implémentation d'une méthode de hachage pour le bootloader et sa section

0) Signons le chargeur de démarrage/la partition GRUB en le montant d'abord dans /media/username

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

1) Nous créons un script sans extension à la racine du système d'exploitation crypté ~/podpis, lui appliquons les droits de sécurité 744 nécessaires et une protection à toute épreuve.

Remplir son contenu

#!/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

Exécutez le script depuis su, le hachage de la partition GRUB et de son bootloader sera vérifié, sauvegardez le log.

Créons ou copions, par exemple, un « fichier malveillant » [virus.mod] sur la partition GRUB2 et exécutons une analyse/un test temporaire :

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

La CLI doit voir une invasion de notre -citadelle-#Journal découpé dans la 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

#Comme vous pouvez le constater, « Fichiers déplacés : 1 et échec de l'audit » apparaît, ce qui signifie que la vérification a échoué.
En raison de la nature de la partition testée, au lieu de « Nouveaux fichiers trouvés » > « Fichiers déplacés »

2) Mettez le gif ici > ~/warning.gif, définissez les autorisations sur 744.

3) Configuration de fstab pour monter automatiquement la partition GRUB au démarrage

-$ sudo nano /etc/fstab

LABEL=GRUB /media/username/GRUB ext4 valeurs par défaut 0 0

4) Rotation du journal

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

/var/log/podpis.txt {
Tous les jours
faire pivoter 50
taille 5M
datetexte
compresser
retarder la compression
ancienrép /var/log/old
}

/var/log/vtorjenie.txt {
mensuel
faire pivoter 5
taille 5M
datetexte
ancienrép /var/log/old
}

5) Ajouter un travail à cron

-$ sudo crontab -e

reboot '/abonnement'
0 */6 * * * '/podpis

6) Création d'alias permanents

-$ 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

Après la mise à jour du système d'exploitation -$ apt-get upgrade re-signer notre partition GRUB
-$ подпись_GRUB
À ce stade, la protection par hachage de la partition GRUB est terminée.

[D] Wiping - destruction des données non cryptées

Supprimez vos fichiers personnels si complètement que « même Dieu ne peut pas les lire », selon le porte-parole de Caroline du Sud, Trey Gowdy.

Comme d'habitude, il existe divers « mythes et légendes", sur la restauration des données après leur suppression d'un disque dur. Si vous croyez en la cybersorcellerie ou si vous êtes membre de la communauté Dr Web et n'avez jamais essayé de récupérer des données après leur suppression/écrasement (par exemple, récupération à l'aide de R-studio), alors il est peu probable que la méthode proposée vous convienne, utilisez celle qui est la plus proche de vous.

Après avoir transféré avec succès GNU/Linux vers 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 logiciel GUI gratuit Windows/Linux BleachBit.
Rapidement formater la section, dont les données doivent être détruites (via Gparted) lancez BleachBit, sélectionnez "Nettoyer l'espace libre" - sélectionnez la partition (votre sdaX avec une copie précédente de GNU/Linux), le processus de décapage démarre. BleachBit - efface 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 l'avez nettoyé dans le logiciel BB v2.0.

prudence! BB efface le disque, laissant les métadonnées ; les noms de fichiers sont conservés lorsque les données sont éliminées (Ccleaner - ne laisse pas de métadonnées).

Et le mythe sur la possibilité de récupérer des données n'est pas entièrement un mythe.Bleachbit V2.0-2, ancien paquet Debian du système d'exploitation instable (et tout autre logiciel similaire : sfill ; wipe-Nautilus - ont également été remarqués dans cette sale affaire) il y avait en fait un bug critique : la fonction "libération d'espace libre" ça marche mal sur les lecteurs HDD/Flash (ntfs/ext4). Un logiciel de ce type, lorsqu'il libère de l'espace libre, n'écrase pas l'intégralité du disque, comme le pensent de nombreux utilisateurs. Et certaines (beaucoup de) données supprimées Le système d'exploitation/logiciel considère ces données comme des données utilisateur non supprimées et lors du nettoyage de « OSP », il ignore ces fichiers. Le problème est qu'après si longtemps, le nettoyage du disque Les "fichiers supprimés" peuvent être récupérés même après plus de 3 passes d'essuyage du disque.
Sur GNU/Linux chez Bleachbit 2.0-2 Les fonctions de suppression définitive de fichiers et de répertoires fonctionnent de manière fiable, mais ne libèrent pas d'espace libre. A titre de comparaison : sous Windows dans CCleaner, la fonction « OSP pour ntfs » fonctionne correctement, et Dieu ne pourra vraiment pas lire les données supprimées.

Et donc, pour bien éliminer "compromis" anciennes données non cryptées, Bleachbit a besoin d'un accès direct à ces données, puis utilisez la fonction « supprimer définitivement les fichiers/répertoires ».
Pour supprimer les « fichiers supprimés à l’aide des outils standard du système d’exploitation » sous Windows, utilisez CCleaner/BB avec la fonction « OSP ». Sous GNU/Linux sur ce problème (supprimer les fichiers supprimés) tu dois t'entraîner par toi-même (suppression des données + une tentative indépendante de restauration et vous ne devez pas vous fier à la version du logiciel (sinon un signet, alors un bug)), ce n'est que dans ce cas que vous pourrez comprendre le mécanisme de ce problème et vous débarrasser complètement des données supprimées.

Je n'ai pas testé Bleachbit v3.0, le problème a peut-être déjà été résolu.
Bleachbit v2.0 fonctionne honnêtement.

À cette étape, l'effacement du disque est terminé.

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

Chaque utilisateur dispose de sa propre méthode de sauvegarde des données, mais les données crypté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 cryptées.

Énoncé du problème de sauvegarde des périphériques de bloc crypté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 live sans avoir besoin de téléchargements de logiciels supplémentaires (mais je recommande toujours l'interface graphique);
  3. sécurité des copies de sauvegarde - les « images » stockées doivent être cryptées/protégées par mot de passe ;
  4. la taille des données cryptées doit correspondre à la taille des données réelles copiées ;
  5. extraction pratique des fichiers nécessaires à partir d'une copie de sauvegarde (pas besoin de décrypter la section entière au préalable).

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

Cela correspond à presque tous les points de la tâche, mais selon le point 4, cela ne résiste pas aux critiques, car il copie l'intégralité de la partition du disque, y compris l'espace libre - ce n'est pas intéressant.

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

E1. Sauvegarde universelle Windows/Linux. Lier rsync (Grsync) + volume VeraCryptAlgorithme de création d'une copie de sauvegarde :

  1. créer un conteneur chiffré (volume/fichier) VeraCrypt pour le système d'exploitation ;
  2. transférer/synchroniser le système d'exploitation à l'aide du logiciel Rsync dans le conteneur crypto VeraCrypt ;
  3. si nécessaire, télécharger le volume VeraCrypt sur www.

La création d'un conteneur VeraCrypt chiffré a ses propres caractéristiques :
créer un volume dynamique (la création de DT est disponible uniquement sous Windows, peut également être utilisée sous GNU/Linux);
créer un volume régulier, mais il y a une exigence d'un « caractère paranoïaque » (selon le développeur) – formatage du conteneur.

Un volume dynamique est créé presque instantanément sous Windows, mais lors de la copie de données depuis GNU/Linux > VeraCrypt DT, les performances globales de l'opération de sauvegarde diminuent considérablement.

Un volume Twofish standard de 70 Go est créé (disons simplement, sur la puissance moyenne du PC) sur le disque dur ~ dans une demi-heure (l'écrasement des anciennes données du conteneur en un seul passage est dû à des exigences de sécurité). La fonction de formatage rapide d'un volume lors de sa création a été supprimée de VeraCrypt Windows/Linux, la création d'un conteneur n'est donc possible que par « réécriture en un seul passage » ou par la création d'un volume dynamique à faible performance.

Créer un volume VeraCrypt régulier (pas dynamique/ntfs), il ne devrait y avoir aucun problème.

Configurer/créer/ouvrir un conteneur dans l'interface graphique VeraCrypt> GNU/Linux live usb (le volume sera automatiquement monté sur /media/veracrypt2, le volume du système d'exploitation Windows sera monté sur /media/veracrypt1). Création d'une sauvegarde cryptée du système d'exploitation Windows à l'aide de l'interface graphique rsync (grsync)en cochant les cases.

Cryptage complet du disque des systèmes installés sous Windows Linux. Multi-démarrage crypté

Attendez la fin du processus. Une fois la sauvegarde terminée, nous aurons un fichier crypté.

De même, créez une copie de sauvegarde du système d'exploitation GNU/Linux en décochant la case « Compatibilité Windows » dans l'interface graphique rsync.

prudence! créer un conteneur Veracrypt pour la « sauvegarde GNU/Linux » dans le système de fichiers ext4. Si vous effectuez une sauvegarde sur un conteneur NTFS, lorsque vous restaurez une telle copie, vous perdrez tous les droits/groupes sur toutes vos données.

Toutes les opérations peuvent être effectuées dans le terminal. Options de base pour rsync :
* -g -enregistrer les groupes ;
* -P —progress — état du temps passé à travailler sur le fichier ;
* -H - copie les liens physiques tels quels ;
* -a -mode archive (plusieurs indicateurs rlptgoD);
* -v -verbalisation.

Si vous souhaitez monter un « volume Windows VeraCrypt » via la console dans le logiciel cryptsetup, vous pouvez créer un 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

Maintenant, la commande «veramount pictures» vous demandera de saisir une phrase secrète et le volume système Windows crypté sera monté dans le système d'exploitation.

Mapper/monter le volume système VeraCrypt dans la commande cryptsetup

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

Mapper/monter la partition/conteneur VeraCrypt dans la commande cryptsetup

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

Au lieu d'un alias, nous ajouterons (un script au démarrage) un volume système avec le système d'exploitation Windows et un disque NTFS crypté logique au démarrage de GNU/Linux.

Créez un script et enregistrez-le dans ~/VeraOpen.sh

printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sda3 Windows_crypt && mount /dev/mapper/Windows_crypt /media/Winda7 #декодируем пароль из base64 (bob) и отправляем его на запрос ввода пароля при монтировании системного диска ОС Windows.
printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/КонтейнерНтфс #аналогично, но монтируем логический диск ntfs.

Nous distribuons les droits « corrects » :

sudo chmod 100 /VeraOpen.sh

Créez deux fichiers identiques (même nom !) dans /etc/rc.local et ~/etc/init.d/rc.local
Remplir les dossiers

#!/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

Nous distribuons les droits « corrects » :

sudo chmod 100 /etc/rc.local && sudo chmod 100 /etc/init.d/rc.local 

Voilà, maintenant lors du chargement de GNU/Linux, nous n'avons plus besoin de saisir de mots de passe pour monter des disques ntfs cryptés, les disques sont montés automatiquement.

Une brève note sur ce qui est décrit ci-dessus dans le paragraphe E1 étape par étape (mais maintenant pour OS GNU/Linux)
1) Créez un volume dans fs ext4 > 4 Go (pour fichier) Linux dans Veracrypt [Cryptbox].
2) Redémarrez sur Live USB.
3) ~$ cryptsetup open /dev/sda7 Lunux #mapping partition chiffrée.
4) ~$ mount /dev/mapper/Linux /mnt #monte la partition chiffrée sur /mnt.
5) ~$ mkdir mnt2 #création d'un répertoire pour une future sauvegarde.
6) ~$ cryptsetup open —veracrypt —tapez tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Mappez un volume Veracrypt nommé « CryptoBox » et montez la CryptoBox sur /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #opération de sauvegarde d'une partition chiffrée sur un volume Veracrypt chiffré.

(p/s/ prudence! Si vous transférez GNU/Linux chiffré d'une architecture/machine à une autre, par exemple Intel > AMD (c'est-à-dire, déployez une sauvegarde d'une partition chiffrée vers une autre partition Intel > AMD chiffrée), n'oublie pas Après avoir transféré le système d'exploitation crypté, modifiez peut-être la clé secrète de remplacement au lieu du mot de passe. la clé précédente ~/etc/skey - ne conviendra plus à une autre partition chiffrée, et il n'est pas conseillé de créer une nouvelle clé "cryptsetup luksAddKey" sous chroot - un problème est possible, il suffit de spécifier dans ~/etc/crypttab au lieu de "/etc/skey" temporairement "aucun" ", après avoir reboté et connecté au système d'exploitation, recréez à nouveau votre clé générique secrète).

En tant que vétérans de l'informatique, n'oubliez pas de faire des sauvegardes séparées des en-têtes des partitions cryptées du système d'exploitation Windows/Linux, sinon le cryptage se retournera contre vous.
A cette étape, la sauvegarde du système d'exploitation crypté est terminée.

[F] Attaque sur le bootloader GRUB2

détailsSi vous avez protégé votre bootloader avec une signature numérique et/ou une authentification (voir point C6.), cela ne protégera pas contre l'accès physique. Les données cryptées seront toujours inaccessibles, mais la protection sera contournée (réinitialiser la protection de la signature numérique) GRUB2 permet à un cyber-méchant d'injecter son code dans le bootloader sans éveiller les soupçons (sauf si l'utilisateur surveille manuellement l'état du chargeur de démarrage ou propose son propre code de script arbitraire robuste pour grub.cfg).

Algorithme d'attaque. Intrus

* Démarre le PC à partir d'un port USB en direct. Tout changement (violateur) les fichiers informeront le véritable propriétaire du PC de l'intrusion dans le chargeur de démarrage. Mais une simple réinstallation de GRUB2 en gardant grub.cfg (et la possibilité ultérieure de le modifier) permettra à un attaquant de modifier n'importe quel fichier (dans cette situation, lors du chargement de GRUB2, l'utilisateur réel ne sera pas averti. Le statut est le même <0>)
* Monte une partition non chiffrée, stocke « /mnt/boot/grub/grub.cfg ».
* Réinstalle le chargeur de démarrage (suppression de "perskey" de l'image core.img)

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

* Renvoie « grub.cfg » > « /mnt/boot/grub/grub.cfg », le modifie si nécessaire, par exemple en ajoutant votre module « keylogger.mod » au dossier contenant les modules de chargement, dans « grub.cfg » > ligne "insmod keylogger". Ou, par exemple, si l'ennemi est rusé, alors après avoir réinstallé GRUB2 (toutes les signatures restent en place) il construit l'image GRUB2 principale en utilisant "grub-mkimage avec l'option (-c)." L'option « -c » vous permettra de charger votre configuration avant de charger le « grub.cfg » principal. La config peut être constituée d'une seule ligne : redirection vers n'importe quel « modern.cfg », mélangé, par exemple, à ~400 fichiers (modules+signatures) dans le dossier "/boot/grub/i386-pc". Dans ce cas, un attaquant peut insérer du code arbitraire et charger des modules sans affecter « /boot/grub/grub.cfg », même si l'utilisateur a appliqué une « somme de hachage » au fichier et l'a temporairement affiché à l'écran.
Un attaquant n'aura pas besoin de pirater le login/mot de passe du superutilisateur GRUB2 ; il lui suffira de copier les lignes (responsable de l'authentification) "/boot/grub/grub.cfg" vers votre "modern.cfg"

définir les superutilisateurs = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

Et le propriétaire du PC sera toujours authentifié en tant que superutilisateur GRUB2.

Chargement par chaîne (le chargeur de démarrage charge un autre chargeur de démarrage), comme je l'ai écrit plus haut, cela n'a aucun sens (il est destiné à un but différent). Le chargeur de démarrage crypté ne peut pas être chargé à cause du BIOS (le démarrage en chaîne redémarre GRUB2 > GRUB2 chiffré, erreur !). Cependant, si vous utilisez toujours l’idée du chargement en chaîne, vous pouvez être sûr que c’est celui crypté qui est chargé. (non modernisé) "grub.cfg" de la partition chiffrée. Et c’est aussi un faux sentiment de sécurité, car tout ce qui est indiqué dans le « grub.cfg » crypté (chargement de module) s'ajoute aux modules chargés à partir de GRUB2 non chiffré.

Si vous voulez vérifier cela, allouez/chiffrez une autre partition aujourd'hui, copiez-y GRUB2 (l'opération d'installation de grub sur une partition chiffrée n'est pas possible) et dans "grub.cfg" (configuration non chiffrée) change les lignes comme celles-ci

menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
charger_vidéo
insmod gzio
si [ x$grub_platform = xxen ]; puis insmod xzio ; insmod lzopio; Fi
insmod part_msdos
cryptodisque insmod
insmod lux
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root=’cryptouuid/15c47d1c4bd34e5289df77bcf60ee838′
normal /boot/grub/grub.cfg
}

les lignes
* insmod - chargement des modules nécessaires pour travailler avec un disque crypté ;
* GRUBx2 - nom de la ligne affichée dans le menu de démarrage de GRUB2 ;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -voir. fdisk -l (sda9);
* définir root - installer root ;
* normal /boot/grub/grub.cfg - fichier de configuration exécutable sur une partition cryptée.

La certitude que c'est le « grub.cfg » crypté qui est chargé est une réponse positive à la saisie du mot de passe/déverrouillage « sdaY » lors de la sélection de la ligne « GRUBx2 » dans le menu GRUB.

Lorsque vous travaillez dans la CLI, pour ne pas vous tromper (et vérifiez si la variable d'environnement « set root » a fonctionné), créez des fichiers de jetons vides, par exemple dans la section cryptée « /shifr_grub », dans la section non cryptée « /noshifr_grub ». Vérification dans la CLI

cat /Tab-Tab

Comme indiqué ci-dessus, cela n’empêchera pas le téléchargement de modules malveillants si ces modules se retrouvent sur votre PC. Par exemple, un enregistreur de frappe qui pourra enregistrer les frappes dans un fichier et le mélanger avec d'autres fichiers dans « ~/i386 » jusqu'à ce qu'il soit téléchargé par un attaquant ayant un accès physique au PC.

Le moyen le plus simple de vérifier que la protection des signatures numériques fonctionne activement (pas réinitialisé), et personne n'a envahi le bootloader, entrez la commande dans la CLI

list_trusted

en réponse nous recevons une copie de notre « perskey », ou nous ne recevons rien si nous sommes attaqués (vous devez également cocher "set check_signatures=enforce").
Un inconvénient majeur de cette étape est la saisie manuelle des commandes. Si vous ajoutez cette commande à « grub.cfg » et protégez la configuration avec une signature numérique, la sortie préliminaire de l'instantané de clé à l'écran est trop courte et vous n'aurez peut-être pas le temps de voir la sortie après le chargement de GRUB2. .
Il n'y a personne en particulier à qui faire des réclamations : le promoteur dans son documentation la clause 18.2 déclare officiellement

« Notez que même avec la protection par mot de passe GRUB, GRUB lui-même ne peut pas empêcher une personne ayant un accès physique à la machine de modifier la configuration du micrologiciel de cette machine (par exemple, Coreboot ou BIOS) pour provoquer le démarrage de la machine à partir d'un périphérique différent (contrôlé par l'attaquant). GRUB n'est au mieux qu'un maillon d'une chaîne de démarrage sécurisée. »

GRUB2 est trop surchargé de fonctions qui peuvent donner un sentiment de fausse sécurité, et son développement a déjà dépassé MS-DOS en termes de fonctionnalités, mais ce n'est qu'un chargeur de démarrage. C'est drôle que GRUB2 - "demain" puisse devenir le système d'exploitation et les machines virtuelles GNU/Linux amorçables pour celui-ci.

Une courte vidéo sur la façon dont j'ai réinitialisé la protection de signature numérique GRUB2 et déclaré mon intrusion à un utilisateur réel (Je vous ai fait peur, mais au lieu de ce qui est montré dans la vidéo, vous pouvez écrire du code arbitraire/.mod non inoffensif).

Conclusions:

1) Le chiffrement du système par 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 par blocs GNU/Linux, pour être honnête : cette dernière est automatisée.

2) J'ai écrit l'article comme pertinent et détaillé simple un guide sur le chiffrement complet du disque VeraCrypt/LUKS sur une seule machine, qui est de loin le meilleur de RuNet (à mon humble avis). Le guide comporte plus de 50 51 caractères, il n'a donc pas couvert certains chapitres intéressants : les cryptographes qui disparaissent/restent dans l'ombre ; sur le fait que dans divers livres sur GNU/Linux, ils écrivent peu/pas sur la cryptographie ; sur l'article XNUMX de la Constitution de la Fédération de Russie ; Ô licence/interdire cryptage en Fédération de Russie, pourquoi vous devez chiffrer « root/boot ». Le guide s'est avéré assez complet, mais détaillé. (décrivant même des étapes simples), cela vous fera gagner beaucoup de temps lorsque vous arriverez au « vrai cryptage ».

3) Le chiffrement complet du disque a été effectué sous Windows 7 64 ; GNU/Linux Parrot 4x ; GNU/Debian 9.0/9.5.

4) Mise en œuvre d'une attaque réussie sur son Chargeur de démarrage GRUB2.

5) Le didacticiel a été créé pour aider toutes les personnes paranoïaques de la CEI, où le travail avec le cryptage est autorisé au niveau législatif. Et principalement pour ceux qui souhaitent déployer le chiffrement complet du disque sans démolir leurs systèmes configurés.

6) J'ai retravaillé et mis à jour mon manuel, qui est pertinent en 2020.

[G] Documentation utile

  1. Guide de l'utilisateur TrueCrypt (RU février 2012)
  2. Documentation 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 sur la configuration du cryptage (brève documentation sur la configuration du chiffrement GNU/Linux à l'aide de cryptsetup)
  5. Cryptage des appareils LUKS (documentation archlinux)
  6. Description détaillée de la syntaxe de cryptsetup (page de manuel d'arch)
  7. Description détaillée de crypttab (page de manuel d'arch)
  8. Documentation officielle GRUB2.

Mots clés : cryptage complet du disque, cryptage de partition, cryptage complet du disque Linux, cryptage complet du système LUKS1.

Seuls les utilisateurs enregistrés peuvent participer à l'enquête. se connecters'il te plait.

Est-ce que vous chiffrez ?

  • 17,1%Je crypte tout ce que je peux. Je suis paranoïaque.14

  • 34,2%Je chiffre uniquement les données importantes.28

  • 14,6%Parfois je chiffre, parfois j’oublie.12

  • 34,2%Non, je ne chiffre pas, c’est peu pratique et coûteux.28

82 utilisateurs ont voté. 22 utilisateurs se sont abstenus.

Source: habr.com

Ajouter un commentaire