Vollständige Festplattenverschlüsselung von Windows Linux-Systemen. Verschlüsselter Multiboot


Sein eigenes Handbuch für die vollständige Festplattenverschlüsselung in Runet V0.2 wurde aktualisiert

Cowboy-Strategie:


[A] Block Systemverschlüsselung von Windows 7 installiertem System;
[B] GNU / Linux-Blocksystemverschlüsselung (Debian) des installierten Systems (einschließlich / boot) ;
[C] GRUB2-Setup, Bootloader-Schutz durch digitale Signatur / Authentifizierung / Hashing;
[D] Stripping - Zerstörung unverschlüsselter Daten;
[E] universelle Sicherung des verschlüsselten Betriebssystems;
[F] attackiere <auf S. [C6]> target - GRUB2 bootloader;
[G] nützliche Dokumentation.

╭───Circuit # rooms 40 # <BIOS / MBR / 1HDD ohne lvm>:
├──╼ Windows 7 installiert - vollständige Systemverschlüsselung, nicht verborgen;
├──╼ GNU / Linux installiert (Debian und derivative Distributionen) - vollständige Systemverschlüsselung nicht verborgen (/, einschließlich / boot; Swap) ;
├──╼ unabhängige Bootloader: VeraCrypt-Bootloader im MBR installiert, GRUB2-Bootloader in der erweiterten Partition installiert;
├──╼ Installation / Neuinstallation des Betriebssystems ist nicht erforderlich.
└──╼ verwendete kryptografische Software: VeraCrypt; Cryptsetup; GnuPG; Seepferdchen Hashdeep; GRUB2 - kostenlos / kostenlos.

Das obige Schema löst teilweise das Problem des "Remote-Bootens auf ein Flash-Laufwerk", ermöglicht es Ihnen, ein verschlüsseltes Betriebssystem Windows / Linux zu genießen und Daten über den "verschlüsselten Kanal" von einem Betriebssystem zu einem anderen auszutauschen.

PC-Startreihenfolge (eine der Optionen):

  • Maschine einschalten;
  • Laden des VeraCrypt-Bootloaders (die Eingabe des richtigen Passworts setzt das Laden von Windows 7 fort) ;
  • Durch Drücken der Esc-Taste wird der GRUB2-Bootloader geladen.
  • Der Bootloader GRUB2 (Auswahl der Distribution / GNU / Linux / CLI) erfordert die Authentifizierung des GRUB2-Superbenutzers <login / password>.
  • Nach erfolgreicher Authentifizierung und Auswahl des Distributionskits müssen Sie eine Passphrase eingeben, um "/boot/initrd.img" zu entsperren.
  • Nach der Eingabe fehlerfreier Passwörter in GRUB2 muss ein Passwort "eingegeben" werden (drittes, BIOS-Passwort oder GNU / Linux-Benutzerkonto-Passwort - wird nicht berücksichtigt) , um GNU / Linux OS zu entsperren und zu laden, oder es muss automatisch ein geheimer Schlüssel (zwei Passwörter + ein Schlüssel) ersetzt werden Passwort + Schlüssel) ;
  • Ein externer Eingriff in die GRUB2-Konfiguration führt zum Einfrieren des GNU / Linux-Startvorgangs.

Lästig? Ok, lassen Sie uns die Prozesse automatisieren.

Beim Markieren der Festplatte (MBR-Tabelle) kann ein PC nicht mehr als 4 Hauptpartitionen oder 3 Haupt- und eine erweiterte Partition sowie einen nicht zugewiesenen Bereich haben. Eine erweiterte Partition kann im Gegensatz zur Hauptpartition Unterabschnitte enthalten (logische Laufwerke = erweiterte Partition) . Mit anderen Worten, die "erweiterte Partition" auf der Festplatte ersetzt LVM für die aktuelle Aufgabe: vollständige Systemverschlüsselung. Wenn Ihre Festplatte in 4 Hauptpartitionen partitioniert ist, müssen Sie lvm verwenden, indem Sie entweder die Partition von main in extended transformieren (mit Formatierung) oder alle vier Partitionen mit Bedacht verwenden und alles so lassen, wie es ist, um das gewünschte Ergebnis zu erzielen. Selbst wenn Sie eine Partition auf der Festplatte haben, hilft Gparted dabei, die Festplatte (in zusätzliche Partitionen) aufzuteilen, ohne Daten zu verlieren, jedoch mit einem geringen Preis für solche Aktionen.

Das Layout des Festplattenlayouts, in dem der gesamte Artikel verbalisiert wird, ist in der folgenden Tabelle dargestellt.


Tabelle (Nr. 1) von 1Tb-Abschnitten.

Etwas Ähnliches sollte mit dir sein.
sda1 - die Hauptpartition №1 NTFS (verschlüsselt) ;
sda2 - erweiterter Markerabschnitt;
sda6 - logisches Laufwerk (GRUB2-Bootloader ist darauf installiert);
sda8 - Swap (verschlüsselte Swap-Datei / nicht immer);
sda9 - logisches Laufwerk testen;
sda5 - logisches Laufwerk für Neugierige;
sda7 - GNU / Linux OS (portiertes Betriebssystem auf ein verschlüsseltes logisches Laufwerk);
sda3 - Hauptabschnitt Nr. 2 mit Windows 7 (verschlüsselt) ;
sda4 ist die Hauptpartition Nr. 3 (sie enthielt unverschlüsseltes GNU / Linux; sie wird für Backups verwendet / nicht immer) .

[A] Windows 7 Block System Encryption


A1. Veracrypt


Laden Sie die Installationsversion der VeraCrypt-Kryptografiesoftware von der offiziellen Website oder von SourceForge herunter (zum Zeitpunkt der Veröffentlichung von Artikel v1.24-Update3 ist die portable Version von VeraCrypt nicht für die Systemverschlüsselung geeignet) . Überprüfen Sie die Prüfsumme der heruntergeladenen Software

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

und vergleichen Sie das Ergebnis mit der auf der Website des VeraCrypt-Entwicklers veröffentlichten CS.

Wenn die HashTab-Software installiert ist, ist dies noch einfacher: RMB (VeraCrypt Setup 1.24.exe) - Hash- Eigenschaften der Summe der Dateien.

Um die Signatur des Programms zu überprüfen, müssen auf dem System die Software und der öffentliche PGP-Schlüssel des gnuPG- Entwicklers installiert sein . gpg4win .

A2. Installation / Start der VeraCrypt Administrator Software


A3. Auswählen der Systemverschlüsselungsoptionen für die aktive Partition
VeraCrypt - System - Verschlüsseln der Systempartition / Festplatte - Normal - Verschlüsseln der Windows-Systempartition - Multiboot - (Warnung: "Unerfahrenen Benutzern wird diese Methode nicht empfohlen. Wir stimmen dem zu" Ja ") - Bootdiskette (" Ja ", auch wenn ohnehin nicht "ja") - Anzahl der Systemfestplatten "2 oder mehr" - Mehrere Systeme auf einer Festplatte "ja" - Nicht Windows-Bootloader "nein" (aber tatsächlich "ja"! Andernfalls teilen sich VeraCrypt / GRUB2-Bootloader keinen MBR untereinander, genauer gesagt, im MBR / Boot-Track wird nur der kleinste Teil des Bootloader-Codes gespeichert, sein Hauptteil befindet sich im Dateisystem) - Multiboot - Verschlüsselungseinstellungen ...

Wenn Sie von den oben genannten Schritten abweichen ( Block-System-Verschlüsselungsschema) , gibt VeraCrypt eine Warnung aus und erlaubt keine Verschlüsselung der Partition.

Führen Sie im nächsten Schritt zum gezielten Datenschutz einen „Test“ durch und wählen Sie einen Verschlüsselungsalgorithmus aus. Wenn Sie eine nicht moderne CPU haben, wählen Sie sie als schnellsten Twofish-Verschlüsselungsalgorithmus aus. Wenn die CPU modern ist, beachten Sie den Unterschied: Die AES-Verschlüsselung ist laut Testergebnis um ein Vielfaches schneller als die ihrer Kryptokonkurrenten. AES ist der beliebteste Verschlüsselungsalgorithmus, die Hardware moderner CPUs ist speziell für "Secret" und "Hacking " optimiert.

VeraCrypt unterstützt die Möglichkeit, Laufwerke mit AES (Twofish) / und anderen Kombinationen zu verschlüsseln . Auf der alten Intel-Core-CPU von vor einem Jahrzehnt (ohne Hardware-Unterstützung für AES-NI, Verschlüsselung mit A / T-Kaskade) ist der Leistungsabfall im Wesentlichen nicht wahrnehmbar. (Bei AMD-CPUs im selben Zeitalter von ~ Parametern ist die Leistung geringfügig reduziert) . Das Betriebssystem ist dynamisch und der Ressourcenverbrauch für die transparente Verschlüsselung ist unsichtbar. Im Gegensatz dazu ist zum Beispiel eine merkliche Abnahme der Leistung aufgrund der installierten Test-instabilen Desktop-Umgebung Mate v1.20.1 (oder v1.20.2, an die ich mich nicht genau erinnere) in GNU / Linux oder aufgrund des Betriebs der Telemetrie-Unkraut-Routine in Windows7 zu verzeichnen. In der Regel führen erfahrene Benutzer vor der Verschlüsselung Tests zur Hardwareleistung durch. Zum Beispiel werden sie in Aida64 / Sysbench / systemd-analyse mit den Ergebnissen der gleichen Tests verglichen, nachdem das System verschlüsselt wurde, wodurch der Mythos widerlegt wird, dass "Systemverschlüsselung schädlich ist". Beim Sichern / Wiederherstellen von verschlüsselten Daten sind Verlangsamung und Unannehmlichkeiten der Maschine zu bemerken, da der Vorgang der Systemdatensicherung selbst nicht in ms gemessen wird und die gleichen Vorgänge "on the fly entschlüsseln / verschlüsseln" hinzugefügt werden. Letztendlich legt jeder Benutzer, der sich mit Kryptografie befassen darf, das Gleichgewicht des Verschlüsselungsalgorithmus in Bezug auf das Erreichen der Ziele, den Grad seiner Paranoia und die Benutzerfreundlichkeit fest.

Es ist besser, den PIM-Parameter standardmäßig zu belassen, damit Sie beim Laden des Betriebssystems nicht jedes Mal die genauen Werte der Iterationen eingeben. VeraCrypt verwendet eine Vielzahl von Iterationen, um einen wirklich „langsamen Hash“ zu erstellen. Ein Angriff auf eine solche „Kryptoschnecke“ mit der Brute-Force- / Rainbow-Tables-Methode ist nur mit einer kurzen „einfachen“ Passphrase und der Zeichensatzliste des persönlichen Opfers sinnvoll. Bezahlung für Passwortsicherheit - die Verzögerung bei der korrekten Eingabe des Passworts beim Booten des Betriebssystems (das Mounten von VeraCrypt-Volumes in GNU / Linux ist viel schneller).
Kostenlose Software zur Implementierung von Brute-Force-Angriffen (Extrahieren von Passwörtern aus dem VeraCrypt / LUKS- Plattenheader ) Hashcat. John the Ripper weiß nicht, wie man "Veracrypt" zerstört, und wenn er mit LUKS arbeitet, versteht er keine Twofish-Kryptographie. Übrigens ist JtR bei nichtkommerzieller Software in jeder anderen Hinsicht besser als Hashcat.

Aufgrund der kryptografischen Stärke von Verschlüsselungsalgorithmen entwickeln unaufhaltsame Chiffrierbänke und ihre Antipoden Software mit einem anderen Angriffsvektor. Zum Beispiel: Extrahieren von Metadaten / Schlüsseln aus dem RAM (Kaltstart-Angriff / direkter Speicherzugriff), Diebstahl eines LUKS-Headers beim Abfangen eines Kennworts und Senden von Netzwerkpaketen, möglicherweise etwas anderes, das ich nicht kenne. Für diese Zwecke gibt es spezielle freie und unfreie Software.

Nach Abschluss der Konfiguration / Generierung von „eindeutigen Metadaten“ der verschlüsselten aktiven Partition bietet VeraCrypt an, den PC neu zu starten und die Leistung seines Bootloaders zu testen. Nach dem Neustart / Start von Windows wird VeraCrypt im Standby-Modus geladen. Es bleibt nur die Bestätigung des Verschlüsselungsvorgangs - Y.

Im letzten Schritt der Systemverschlüsselung bietet VeraCrypt an, eine Sicherungskopie des Headers der aktiven verschlüsselten Partition in Form von "veracrypt rescue disk.iso" zu erstellen - dies muss durchgeführt werden. In dieser Software ist dieser Vorgang eine Voraussetzung (in LUKS wird dies als Voraussetzung leider ausgelassen, wird jedoch hervorgehoben) in der Dokumentation) . Rettungsdiskette ist nützlich für alle und für jemanden mehr als einmal. Wenn Sie das Betriebssystem verschieben und die Sicherung des Headers / MBR- Headers ohne Festplattenheader verlieren (überschreiben), wird der Zugriff auf die entschlüsselte Partition mit dem Windows-Betriebssystem dauerhaft gesperrt.

A4. Erstellen einer VeraCrypt USB / Drive-Rettung
VeraCrypt bietet standardmäßig die Möglichkeit, "~ 2-3 MB Metadaten" auf eine CD zu brennen, aber nicht alle Benutzer verfügen über Laufwerke oder DWD-ROM-Laufwerke. Das Erstellen einer bootfähigen VeraCrypt Rescue-Diskette für jemanden ist eine technische Überraschung: Rufus / GUIdd-ROSA ImageWriter und ähnliche Software werden diese Aufgabe nicht bewältigen können, da Sie nicht nur die verschobenen Metadaten auf das bootfähige USB-Flash-Laufwerk kopieren, sondern auch das Image außerhalb des Dateisystems des USB-Laufwerks kopieren bzw. einfügen müssen Schlüsselbund. Unter GNU / Linux können Sie mit dem Dienstprogramm "dd" ein bootfähiges Flash-Laufwerk erstellen, indem Sie sich diese Platte ansehen.



Das Erstellen einer Rettungsdiskette in einer Windows-Umgebung ist anders. Der VeraCrypt-Entwickler hat die Lösung für dieses Problem nicht in die offizielle Dokumentation für die "Rettungsdiskette" aufgenommen, sondern eine andere Lösung vorgeschlagen: Er hat zusätzliche Software zum Erstellen der "USB-Rettungsdiskette" für den freien Zugriff in seinem VeraCrypt-Forum veröffentlicht. Update: 2020 hatte der entwickler schade um die "kleinen dinge" und nahm die usb rescue disk lösung offiziell in seine dokumentation auf.
Nachdem Sie die Rettungsdiskette.iso gespeichert haben, beginnt der Vorgang zum Blockieren der Systemverschlüsselung der aktiven Partition. Während der Verschlüsselung stoppt das Betriebssystem nicht und ein Neustart des PCs ist nicht erforderlich. Nach Abschluss des Verschlüsselungsvorgangs wird die aktive Partition vollständig verschlüsselt. Sie können sie verwenden. Wenn der VeraCrypt-Bootloader beim Starten des PCs nicht angezeigt wird und die Header-Wiederherstellung nicht hilft, aktivieren Sie das Kontrollkästchen "Boot". Er sollte auf der Partition installiert werden, auf der Windows vorhanden ist (unabhängig von Verschlüsselung und anderen Betriebssystemen, siehe Tabelle Nr. 1).
Fügen Sie nach dem Verschlüsseln des Systemlaufwerks und der logischen Laufwerke ntfs (dasselbe Kennwort) alle verschlüsselten Laufwerke zu den „Systemfavoriten“ hinzu. Aktivieren Sie als Nächstes unter "Einstellungen"> "Systemfavoriten" das Kontrollkästchen "Systemfavoriten beim Start von Windows einbinden". Wenn das Betriebssystem hochfährt, werden alle NTFS-Festplatten automatisch eingebunden.
Damit ist die Beschreibung der Blocksystemverschlüsselung unter Windows abgeschlossen.

[B] LUKS. Verschlüsselung von GNU / Linux (~ Debian) installiertem Betriebssystem. Algorithmus und Schritte


Um die installierte Debian / Derivated-Distribution zu verschlüsseln, müssen Sie die vorbereitete Partition einem virtuellen Block-Gerät zuordnen, auf das zugeordnete GNU / Linux-Laufwerk übertragen und GRUB2 installieren / konfigurieren. Wenn Sie keinen nackten Server haben und Ihre Zeit schätzen, müssen Sie die GUI verwenden, und die meisten der nachfolgend beschriebenen Terminalbefehle sind für den Betrieb im „Chuck-Norris-Modus“ vorgesehen.

B1. Laden Sie den PC von Live-USB GNU / Linux herunter

"Führen Sie einen Kryptotest zur Leistung von Eisen durch"

 lscpu && ryptsetup benchmark 



Wenn Sie ein zufriedener Besitzer eines leistungsstarken Autos mit Hardware-Unterstützung für AES-NI sind, sehen die Zahlen wie auf der rechten Seite des Terminals aus, wenn Sie zufrieden sind, aber mit antikem Eisen - auf der linken Seite.

B2. Partitionieren einer Festplatte. Einhängen / Formatieren der Festplatte des logischen Laufwerks in Ext4 (Gparted)

B2.1. Erstellen Sie einen verschlüsselten sda7-Partitionsheader
Ich werde die Namen der Abschnitte im Folgenden gemäß meiner oben angegebenen Abschnittstabelle beschreiben. Entsprechend Ihrem Festplattenlayout müssen Sie Ihre Partitionsnamen ersetzen.

Zuordnung der logischen Festplattenverschlüsselung (/ dev / sda7> / dev / mapper / sda7_crypt).
# Einfache Erstellung einer „LUKS-AES-XTS-Partition“

 cryptsetup -v -y luksFormat /dev/sda7 

Optionen:

* luksFormat - Initialisierung des LUKS-Headers;
* -y ist eine Passphrase (kein Schlüssel / keine Datei);
* -v -verbalization (Informationsausgabe im Terminal);
* / dev / sda7 - Ihr logisches Laufwerk von der erweiterten Partition (an den Ort, an den Sie GNU / Linux übertragen / verschlüsseln möchten ) .

Standardmäßig lautet der Verschlüsselungsalgorithmus <L UKS1: aes-xts-plain64, Schlüssel: 256 Bit, LUKS-Header-Hashing: sha256, RNG: / dev / urandom > (abhängig von der Version von cryptsetup).

 # default-  cryptsetup --help #     . 

In Ermangelung von Hardware-Unterstützung für AES auf der CPU ist die Erstellung einer erweiterten „LUKS-Twofish-XTS-Partition“ die beste Wahl.

B2.2. Erweiterte Erstellung einer „LUKS-Twofish-XTS-Partition“
 cryptsetup luksFormat /dev/sda7 -v -y -c twofish-xts-plain64 -s 512 -h sha512 -i 1500 --use-urandom 

Optionen:
* luksFormat - Initialisierung des LUKS-Headers;
* / dev / sda7 Ihr zukünftiges verschlüsseltes logisches Laufwerk;
* -v Verbalisierung;
* -jede Anfrage zur Bestätigung einer Passphrase;
* -c Auswahl des Datenverschlüsselungsalgorithmus;
* -s Größe des Verschlüsselungsschlüssels;
* -h Hashing-Algorithmus / Kryptofunktion , die vom RNG (--use-urandom) verwendet wird , um einen eindeutigen Verschlüsselungs- / Entschlüsselungsschlüssel für den Header des logischen Laufwerks und den sekundären Header-Schlüssel (XTS) zu generieren. Der im verschlüsselten Header der Festplatte gespeicherte eindeutige Hauptschlüssel, der sekundäre XTS-Schlüssel, alle diese Metadaten und die Verschlüsselungsroutine, die mit dem Hauptschlüssel und dem sekundären XTS-Schlüssel alle Daten auf der Partition (mit Ausnahme des Partitionsheaders) verschlüsselt / entschlüsselt, werden in ~ 3 mB auf der ausgewählten festen Partition gespeichert fahren.
* -i PBKDF-Iterationszeit für LUKS (in ms) (Zeitverzögerung beim Verarbeiten einer Passphrase wirkt sich auf das Laden des Betriebssystems und die kryptografische Stärke von Schlüsseln aus). Um das Gleichgewicht der kryptografischen Stärke mit einem einfachen Passwort wie "russisch" aufrechtzuerhalten, müssen Sie den Wert erhöhen - (i), mit einem komplexen Passwort wie "? 8dƱob / øfh" können Sie den Wert verringern.
* --use-urandom Zufallszahlengenerator, erzeugt Schlüssel und Salz.

Nachdem Sie den Abschnitt sda7> sda7_crypt abgeglichen haben (die Operation ist schnell, da ein verschlüsselter Header mit Metadaten von ~ 3 MB erstellt wird und das ist alles) , müssen Sie das Dateisystem sda7_crypt formatieren und bereitstellen.

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

Möglichkeiten:
* open - ordne den Abschnitt "mit einem Namen" zu;
* / dev / sda7-logisches Laufwerk;
* sda7_crypt ist eine Namenszuordnung, mit der eine verschlüsselte Partition eingehängt oder beim Start des Betriebssystems initialisiert wird.

B2.4. Formatieren des Dateisystems sda7_crypt in ext4. OS Mount
(Hinweis: Gparted funktioniert nicht mehr mit einer verschlüsselten Partition)

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

Möglichkeiten:
* -v - Verbalisierung;
* -L -disk label (wird unter anderem im Explorer angezeigt).

Hängen Sie als Nächstes das virtuell verschlüsselte Blockgerät / dev / sda7_crypt in das System ein

 mount /dev/mapper/sda7_crypt /mnt 

Das Arbeiten mit Dateien im Ordner / mnt verschlüsselt / entschlüsselt Daten automatisch im laufenden Betrieb in sda7.

Es ist praktischer, die Partition im Explorer (nautilus / caja GUI) zuzuordnen und zu mounten. Die Partition befindet sich bereits in der Datenträgerauswahlliste. Es muss nur noch die Passphrase zum Öffnen / Entschlüsseln des Datenträgers eingegeben werden. Der passende Name wird automatisch ausgewählt und nicht "sda7_crypt", sondern so etwas wie / dev / mapper / Luks-xx-xx ...

B2.5. Sicherungsdatenträger-Header (~ 3 MB Metadaten)
Eine der wichtigsten Operationen, die unverzüglich ausgeführt werden müssen, ist eine Sicherungskopie des sda7_crypt-Headers. Wenn Sie den Header überschreiben / beschädigen (z. B. durch Installieren von GRUB2 in der sda7-Partition usw.) , gehen die verschlüsselten Daten dauerhaft verloren, ohne dass eine Wiederherstellung möglich ist, da dieselben Schlüssel nicht neu generiert werden können. Die Schlüssel werden eindeutig erstellt.

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

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

Möglichkeiten:
* luksHeaderBackup - Befehl "header-backup-file-backup";
* luksHeaderRestore - Befehl "header-backup-file-restore";
* ~ / Backup_DebSHIFR - Sicherungsdatei;
* / dev / sda7 ist die Partition, deren Sicherungskopie des verschlüsselten Festplatten-Headers Sie behalten möchten.
Hinweis Versuchen Sie nicht, den Header des LUKS-Abschnitts von [sdaX] nach [sdaY] wiederherzustellen, da die meisten Benutzernamen fehlschlagen.
In diesem Schritt ist die <Erstellung und Bearbeitung der verschlüsselten Partition> abgeschlossen.

B3 GNU / Linux OS (sda4) auf eine verschlüsselte Partition (sda7) migrieren

Hinweis Vor dem Übertragen des Betriebssystems auf eine verschlüsselte Partition wird empfohlen, überschüssigen zwischengespeicherten Müll zu entfernen (ähnlicher Müll kann mit der BleachBit-Software gefunden werden). In meinem Fall handelte es sich beispielsweise um mehrere hunderttausend kleine Dateien / var / cache / fontconfig / * und /home/user/.cache / fontconfig / *
Wenn Sie fontconfig-Dateien bereinigt haben, führen Sie $ fc-cache -fvr aus

Erstellen Sie den Ordner / mnt2 (Hinweis: Wir arbeiten immer noch mit Live-USB, sda7_crypt wird am Punkt / mnt eingehängt) und hängen Sie unser GNU / Linux in / mnt2 ein, das verschlüsselt werden muss.

 mkdir /mnt2 mount /dev/sda4 /mnt2 

Wir führen die korrekte Betriebssystemmigration mit der Rsync-Software durch
 rsync -avlxhHX --progress /mnt2/ /mnt 

Rsync-Optionen werden in S. E1 beschrieben.

Als Nächstes müssen Sie die Partition des logischen Laufwerks defragmentieren

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

Machen Sie es sich zur Regel: Machen Sie von Zeit zu Zeit e4defrag auf verschlüsseltem GNU / LInux, wenn Sie eine Festplatte haben.
Die Migration und Synchronisation [GNU / Linux> GNU / Linux-verschlüsselt] dieses Schritts ist abgeschlossen.

B4. GNU / Linux auf einer verschlüsselten sda7-Partition konfigurieren

Nachdem Sie das Betriebssystem / dev / sda4> / dev / sda7 erfolgreich übertragen haben, müssen Sie sich auf der verschlüsselten Partition bei GNU / Linux anmelden und eine weitere Konfiguration (ohne den PC neu zu starten) des verschlüsselten Systems durchführen. Das heißt, Sie müssen sich im Live-Modus befinden, aber die auszuführenden Befehle beziehen sich auf das Stammverzeichnis des verschlüsselten Betriebssystems. Eine ähnliche Situation zu simulieren wird "chroot" sein. Um schnell Informationen über das Betriebssystem zu erhalten, an dem Sie gerade arbeiten (verschlüsselt oder nicht, da die Daten in sda4 und sda7 synchronisiert sind) , müssen Sie das Betriebssystem desynchronisieren . Erstellen Sie leere Tokendateien in den Stammverzeichnissen (sda4 / sda7_crypt) , z. B. / mnt / encrypted OS und / mnt2 / decrypted OS. Ein kurzer Überblick über das Betriebssystem, in dem Sie sich befinden (auch für die Zukunft):
 ls /<Tab-Tab> 


B4.1. "Simulieren eines Zugriffs auf ein verschlüsseltes Betriebssystem"
 mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt 


B4.2. Überprüfen, ob die Arbeit auf einem verschlüsselten System ausgeführt wird
 ls /mnt<Tab-Tab> #   "/" 

 history #       su  . 


B4.3. Erstellen / Konfigurieren von verschlüsseltem Swap
Da die Auslagerungsdatei bei jedem Start des Betriebssystems formatiert wird, ist es nicht sinnvoll, jetzt eine Auslagerung zu erstellen und dem logischen Laufwerk zuzuordnen und Befehle wie in Abschnitt B2.2 einzugeben. Bei Swap werden die temporären Verschlüsselungsschlüssel bei jedem Start automatisch generiert. Swap-a-Key-Lebenszyklus: Aushängen / Trennen der Swap-Partition (+ RAM-Reinigung) ; oder Neustart des Betriebssystems. Öffnen Sie beim Konfigurieren von Swap die Datei, die für die Konfiguration blockverschlüsselter Geräte zuständig ist (eine Entsprechung zur fstab-Datei, die jedoch für die Verschlüsselung zuständig ist).

 nano /etc/crypttab 

Regel
# "Zielname" "Quellgerät" "Schlüsseldatei" "Optionen"
swap / dev / sda8 / dev / urandom swap, cipher = twofish-xts-plain64, size = 512, hash = sha512

Optionen
* swap ist der zugeordnete Verschlüsselungsname von / dev / mapper / swap.
* / dev / sda8 - Verwenden Sie Ihre logische Partition unter Swap.
* / dev / urandom - Generator für zufällige Verschlüsselungsschlüssel für den Austausch ( neue Schlüssel werden bei jedem neuen Start des Betriebssystems erstellt). Der / dev / urandom-Generator ist weniger zufällig als / dev / random, schließlich wird / dev / random verwendet, wenn unter gefährlichen paranoiden Umständen gearbeitet wird. Beim Booten des Betriebssystems verlangsamt / dev / random das Laden für einige ± Minuten (siehe systemd-analyse) .
* swap, cipher = twofish-xts-plain64, size = 512, hash = sha512: -der Abschnitt weiß, dass es sich um einen Swap handelt und "entsprechend" formatiert ist; Verschlüsselungsalgorithmus.

 #   fstab nano /etc/fstab 

Regel
# swap war während der Installation auf / dev / sda8
/ dev / mapper / swap keine swap sw 0 0

/ dev / mapper / swap ist der Name, der in crypttab festgelegt wurde.

Alternativer verschlüsselter Swap
Wenn Sie aus irgendeinem Grund der Auslagerungsdatei nicht den gesamten Abschnitt zuweisen möchten, können Sie einen alternativen und besseren Weg wählen: Erstellen Sie eine Auslagerungsdatei in einer Datei auf einer verschlüsselten Partition mit dem Betriebssystem.

 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   

Die Einrichtung der Swap-Partition ist abgeschlossen.


B4.4. Konfigurieren von verschlüsseltem GNU / Linux (Bearbeiten von crypttab / fstab-Dateien)
Die Datei / etc / crypttab beschreibt, wie oben beschrieben, die verschlüsselten Blockgeräte, die beim Booten konfiguriert werden.

 # /etc/crypttab nano /etc/crypttab 

wenn Sie den Abschnitt sda7> sda7_crypt wie in Abschnitt B2.1 abgebildet haben
# "Zielname" "Quellgerät" "Schlüsseldatei" "Optionen"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 keine luks

wenn Sie den Abschnitt sda7> sda7_crypt wie in B2.2 zugeordnet haben
# "Zielname" "Quellgerät" "Schlüsseldatei" "Optionen"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 keine Verschlüsselung = twofish-xts-plain64, Größe = 512, Hash = sha512

Wenn Sie den Abschnitt sda7> sda7_crypt wie in B2.1 oder B2.2 verglichen haben und das Kennwort zum Entsperren und Booten des Betriebssystems nicht erneut eingeben möchten, können Sie das Kennwort durch den geheimen Schlüssel / die Zufallsdatei ersetzen
# "Zielname" "Quellgerät" "Schlüsseldatei" "Optionen"
sda7_crypt UUID = 81048598-5bb9-4a53-af92-f3f9e709e2f2 / etc / skey luks

Beschreibung
* none - meldet, dass beim Hochfahren des Betriebssystems eine geheime Passphrase erforderlich ist, um den Root freizuschalten.
* UUID - Abschnittskennung. Um Ihre Kennung herauszufinden, geben Sie das Terminal ein (eine Erinnerung, dass Sie die ganze Zeit und darüber hinaus im Terminal in der Chroot-Umgebung arbeiten und nicht in einem anderen Live-USB-Terminal).

 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"

Diese Zeile ist sichtbar, wenn Sie blkid vom Live-USB-Terminal anfordern (sda7_crypt ist aktiviert).
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). Achtung! [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 

Wichtig! 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 


* --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 ]; dann
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; dann
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 


* --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 ]; dann
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; dann
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] —


, « », .

« », . , Dr web / (, R-studio) , , , .

GNU/Linux , . : Windows/Linux GUI BleachBit .
, ( Gparted), BleachBit, « » – ( sdaX GNU/Linux) , . BleachBit — — , « », ! , BB v2.0.

Achtung ! BB , : (Ccleaner — ).

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

« » .

[E]


, « » . , «Clonezilla» .

:

  1. — / Windows/Linux;
  2. live usb GNU/Linux ( GUI) ;
  3. — «» /;
  4. ;
  5. ( ).

, / «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 

, .4 , , — .

, GNU/Linux [tar | gpg] «», Windows — .

E1. Windows/Linux ( rsync (Grsync)+VeraCrypt ) &
:

  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».

Achtung ! 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] GRUB2


Einzelheiten
/ ( .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) .



Schlussfolgerungen:


1) Windows — , , GNU/Linux, : .

2) , , VeraCrypt/LUKS on one home the machine, , (IMHO). > 60k : , / ; , GNU/Linux / ; .51 ; / , «/boot». , ( ) , , , « ».

3) Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) GRUB2.

5) Tutorial , , . , .

6) , 2020 .

[G]


  1. TrueCrypt ( 2012 RU)
  2. VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [ ] ( GNU/Linux cryptsetup)
  4. FAQ cryptsetup ( GNU/Linux cryptsetup)
  5. LUKS (archlinux-)
  6. cryptsetup ( arch)
  7. crypttab ( arch)
  8. GRUB2 .

: VeraCrypt, , , Linux, LUKS1/LUKS2.


© , .
ne555 2018-2020

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


All Articles