webentwicklung-frage-antwort-db.com.de

Sicheres automatisches Aktivieren des verschlüsselten Laufwerks bei der Benutzeranmeldung

Wenn ich mich anmelde, wird automatisch ein verschlüsseltes Basisverzeichnis angehängt. Ich habe eine zweite interne Festplatte, die ich mit dem Festplatten-Dienstprogramm formatiert und verschlüsselt habe. Ich möchte, dass es beim Anmelden automatisch eingehängt wird, genau wie mein verschlüsseltes/Home-Verzeichnis. Wie mache ich das?

Hier gibt es einige sehr ähnliche Fragen, aber die Antworten gelten nicht für meine Situation. Es ist vielleicht am besten, meine Frage hier zu schließen/zusammenzuführen und die zweite unten zu bearbeiten, aber ich denke, sie wurde abgebrochen (und sollte daher niemals als angenommen markiert werden).

Diese Lösung ist keine sichere Methode, sondern umgeht die Verschlüsselung.
Dieses erfordert die Bearbeitung von fstab, was die Eingabe eines zusätzlichen Passworts beim Booten erforderlich macht. Es ist nicht automatisch wie Montage/Zuhause.
Diese Frage ist sehr ähnlich, gilt jedoch nicht für ein verschlüsseltes Laufwerk. Die Lösung wird für meine Bedürfnisse nicht funktionieren.
Hier ist eine aber es ist für NTFS-Laufwerke, meine ist ext4.

Ich kann das zweite Laufwerk neu formatieren und verschlüsseln, wenn eine Lösung dies erfordert. Ich habe alle Daten an anderer Stelle gesichert.

18
Tom Brossman

Sie brauchen die obigen Lösungen nicht mehr.

Voraussetzungen:

  • eine Ubuntu 14.04 LTS Installation
  • ein verschlüsseltes Home-Verzeichnis (siehe https://help.ubuntu.com/community/EncryptedHome )
  • der Wunsch, ein sekundäres verschlüsseltes Laufwerk automatisch bereitzustellen [Bearbeiten], wenn Sie sich anmelden.

Hinweis: Diese Methode ist weniger sicher als das manuelle Mounten eines verschlüsselten Laufwerks. Wenn jemand physischen Zugriff auf Ihren Computer hat, Sie mit Ihrem Root-Passwort unachtsam sind oder Ihr Computer mehrere Benutzer/Gastkonten hat, ist diese Methode nicht sicher ; Das sekundäre Laufwerk bleibt aktiviert, wenn Sie sich abmelden, aber das System nicht herunterfahren, damit der Inhalt für andere Benutzer sichtbar ist.

Teil 1: Verschlüsseln Sie das sekundäre Laufwerk.

  1. Geben Sie im Unity-Strich "disks" ein und drücken Sie die Eingabetaste.
  2. Klicken Sie unter "Geräte" auf die Festplatte, die Sie verschlüsseln möchten.
  3. Klicken Sie unter "Volumes" auf die Schaltfläche "cog/more actions".
  4. Klicken Sie auf "Volume formatieren". Wählen Sie als Typ "Verschlüsselt, kompatibel mit Linux-Systemen". Benennen Sie Ihr Laufwerk und geben Sie ihm eine starke Passphrase.
  5. Klicken Sie auf "Format"

Teil 2: Hängen Sie die Festplatte beim Systemstart automatisch ein.

  1. Lassen Sie die Anwendung "Disks" geöffnet und klicken Sie auf das Zahnrad.
  2. Klicken Sie auf "Verschlüsselungsoptionen bearbeiten".
  3. "Automatische Verschlüsselungsoptionen" wird aktiviert und das Menü unten abgeblendet. Deaktivieren Sie die automatischen Verschlüsselungsoptionen.
  4. Geben Sie die Passphrase ein, die beim Formatieren der Festplatte verwendet wurde. OK klicken".

Sie haben jetzt eine verschlüsselte Festplatte, die beim Booten Ihres Computers automatisch aktiviert wird.

5
tryion

Als ich diese Antwort vor einigen Jahren schrieb, war dies der beste Weg, um die Lösung zu implementieren. Ich würde jetzt vorschlagen, dass Sie sich die nächste Antwort ansehen und stattdessen mount.ecryptfs_private verwenden.

Ich suchte auch nach einer Möglichkeit, ein zweites eCryptfs-Volume automatisch bereitzustellen. Die folgende Sammlung von Skripten und Konfigurationsänderungen stellt Ihr Volume beim Anmelden sicher und automatisch bereit, entweder auf der GUI oder der CLI.

Es gibt eine bessere Lösung, die gerade erstellt wird (obwohl ich der Meinung bin, dass sie noch nicht für die automatische Bereitstellung bei der Benutzeranmeldung bereit ist, da dieses Skript eine begrenzte Haltbarkeit hat.):

ecryptfs auf zu kleiner Festplatte - wie füge ich Links zur Verschlüsselung hinzu?

Die Sicherheit der Skripte hängt davon ab, ob Ihr Basisverzeichnis mit eCryptfs verschlüsselt wird, sodass das Skript und die Dateien mit dem Kennwort zum Entpacken Ihrer Passphrase verschlüsselt werden. Wenn Sie Ihren Computer nach dem Anmelden mit einer geöffneten Root-Shell entsperrt lassen, können Sie auf die Kennwörter zugreifen. Die Verwendung von Sudo NOPASSWD ermöglicht jedoch das sichere Mounten der Partition, ohne dass Sie ein Kennwort eingeben oder die Passphrase in einer vom Benutzer lesbaren Datei belassen müssen.

Ein bekanntes Manko dieser Skripte ist, dass Ihr zweites Volume beim Abmelden nicht abgemeldet wird. Daher ist es nicht besonders für Systeme mit mehreren Benutzern geeignet.

Meine Lösung besteht aus mehreren Teilen, zwei Shell-Skripten, von denen eines das eigentliche Mounten ausführt und das andere als Wrapper dafür dient.

Dies ist das Wrapper-Skript, das überprüft, ob das Verzeichnis bereits eingehängt ist. Ist dies nicht der Fall, wird das Einhänge-Skript mit Sudo aufgerufen:

/ home/johnf/scripts/automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  Sudo /home/johnf/scripts/mount_other_ecryptfs
fi

Dieses Skript ruft/home/johnf/scripts/mount_other_ecryptfs wie folgt auf.

Beachten Sie, dass in diesem Skript davon ausgegangen wird, dass die Dateinamenverschlüsselung aktiviert ist. Wenn Sie dies nicht tun, müssen Sie entweder das Skript für die Erkennung ändern (siehe ecryptfs-recover-private) oder die Mount-Option ecryptfs_fnek_sig entfernen.

Folgendes ist das Skript/home/johnf/scripts/mount_other_ecryptfs:

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

Sie müssen auch eine Datei mit Ihrem Kennwort erstellen. Diese Datei wird vom Befehl eCryptfs mount verwendet:

/ home/johnf/scripts/ecryptfs_passphrase:

passwd=secret_passphrase

Sie müssen die Berechtigungen für mehrere Dateien ändern:

chmod +x /home/johnf/scripts/automount_ecryptfs
Sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
Sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
Sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

Bevor Sie die Skripte erstellen, müssen Sie eine sudoers-Konfiguration erstellen, um die Ausführung des Bereitstellungsskripts mit Sudo ohne Eingabe Ihres Sudo-Kennworts zu ermöglichen.

Fügen Sie Folgendes zu/etc/sudoers hinzu (oder eine Datei in /etc/sudoers.d). Du wirst Johnf durch deinen Benutzernamen ersetzen wollen. Es ist erforderlich, einen absoluten Pfad zum Einhänge-Skript zu verwenden.

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

Der letzte Schritt ist das Aufrufen des Skripts automount_ecryptfs beim Anmelden.

Verwenden Sie unter Ubuntu Unity (und wahrscheinlich gnome) das Applet Startup Applications, um ein neues Startprogramm zu erstellen, das/home/johnf/scripts/automount_ecryptfs aufruft.

Um das zweite eCryptfs-Volume beim Anmelden in einer Bash-Shell automatisch bereitzustellen, müssen Sie Ihre ~/.bashrc-Datei ändern. Fügen Sie Folgendes hinzu:

/home/johnf/scripts/automount_ecryptfs

Mit dieser Konfiguration sollten Sie jetzt automatisch Ihr zweites eCryptfs-Volume bereitstellen.

10
johnf

Aufbauend auf der Antwort von @ johnf, aber mit mount.ecryptfs_private stattdessen:

  • verschlüsselt /home/bob/ (zB auf einer SSD), mit Ubuntus normaler verschlüsselter Home-Dir-Magie.
  • verschlüsselt /media/hdd/bob_extra/ (z. B. auf einer Festplatte), um in /home/bob/extra eingebunden zu werden. Dies sollte beim Anmelden automatisch aktiviert werden, genau wie das Home-Verzeichnis.
  • verwenden Sie für beide dieselben Schlüssel/Anmeldeinformationen.

erstelle es

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

probier es aus

mount.ecryptfs_private extra

wenn Sie mount ausführen, sollten Sie Folgendes sehen:

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

aussteigen:

Sudo umount /media/hdd/bob_extra

automount einrichten

Erstelle /home/bob/bin/automount_ecryptfs.extra, das es mounten wird, wenn es noch nicht gemountet wurde.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

Mache es ausführbar (chmod +x) und füge es dann zu /home/bob/.bashrc hinzu:

...
/home/bob/bin/automount_ecryptfs.extra

Fügen Sie es dann ebenfalls zu Gnomes Startup-Anwendungen hinzu.

9
rcoup

Erstellen Sie ein Skript in Ihrem verschlüsselten Ausgangsverzeichnis: ~/scripts/mount_storage.sh:

#!/bin/bash

Sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
Sudo mount /dev/mapper/storage /storage

Zu "Startup Applications" hinzufügen:

sh ~/scripts/mount_storage.sh

Hinzufügen zu /etc/sudoers:

%Sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%Sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

Sie müssen den Mount-Punkt /storage erstellt und die UUID im obigen Skript geändert haben (finden Sie sie mit blkid).

1
Raul Laasner

Die folgenden Schritte sollten sicher sein. Das Erfordernis der Passphrase verhindert, dass andere Benutzer auf das Volume zugreifen können, obwohl es aktiviert ist.

1.Öffnen Sie Disks, wählen Sie das Laufwerk aus und klicken Sie auf das LUKS-Volume. Klicken Sie auf die Zahnräder und wählen Sie "User Session Defaults" aus. Wählen Sie "Beim Systemstart entsperren" und "Zum Entsperren zusätzliche Berechtigung benötigen": enter image description here

2.Klicken Sie auf das Laufwerk (unterhalb des LUKS-Laufwerks). Klicken Sie auf die Zahnräder und wählen Sie "User Session Defaults" aus. Wählen Sie "Beim Systemstart einhängen" und "In Benutzeroberfläche anzeigen": enter image description here

Sie können auch festlegen, dass eine zusätzliche Authentifizierung erforderlich ist, um das Volume bereitzustellen. In diesem Fall erfolgt die Bereitstellung für den betreffenden Benutzer jedoch nicht automatisch.

0
ElToro1966

Ich befürchte, dass dies keine beliebte Antwort sein wird ...

Es wird nicht möglich sein, eine verschlüsselte Partition automatisch bereitzustellen, ohne die Sicherheit der Verschlüsselung selbst zu umgehen.

Überlegen Sie, was "automatisch" bedeutet, und verstehen Sie, dass automatisch bedeutet, dass auch Ihre Daten angezeigt werden.

0
Dustin Kirkland