Eine kleine gesunde Paranoia hat noch niemanden verletzt. Neben Messenger mit End-to-End-Verschlüsselung, Verschlüsselung von Dateien auf Smartphones "out of the box" und der obligatorischen Verwendung von SSL auf Websites ist der Schutz von Daten auf virtuellen Servern nicht überflüssig. Darüber hinaus haben moderne Technologien es für jeden Benutzer einfach und zugänglich gemacht. Große Anbieter, die VPS-Hostingdienste anbieten, bieten die Möglichkeit, Benutzerdaten mit Standard-Betriebssystemtools zu verschlüsseln. Beispielsweise verwendet Microsoft in seiner Azure-Cloud BitLocker für Server unter Windows und DM-Crypt für virtuelle Maschinen unter Linux. ... Mit diesen Tools können Sie Ihre Daten privat halten, selbst wenn ein Angreifer Zugriff auf das Rechenzentrum erhält, in dem sich der Server befindet, oder auf Ihren lokalen Computer.
Sie können Ihre Daten Hostern anvertrauen, die VPS bereitstellen. Sie können nicht vertrauen, aber niemand wird Ihnen verbieten, dieselben Methoden mit einem von Ihnen konfigurierten VPS-Anbieter zu verwenden. In diesem Artikel zeige ich Ihnen, wie es geht.
Daten unter Windows mit BitLocker verschlüsseln
Die einfachste, aber sicherste Verschlüsselungsmethode für Windows ist der integrierte BitLocker-Dienst. Die Konfiguration ist einfach und schnell, daher ist es am einfachsten, die grafische Oberfläche zu verwenden. Lassen Sie uns diesen Prozess am Beispiel von Windows Server 2016 analysieren, das sich beim RuVDS-Anbieter befindet. Ich werde einen Serverstandort in Moskau auswählen, um Ping zu reduzieren:
Verwenden Sie für einen schnelleren BitLocker die kleinste SSD.
Wir werden eine Verbindung über Standard-RDP herstellen, das vor der Verwendung ein wenig konfiguriert werden sollte. Klicken Sie dazu unten im Fenster auf den Schalter "Parameter anzeigen", aktivieren Sie das Kontrollkästchen "Zwischenablage" auf der Registerkarte "Lokale Ressourcen" und wählen Sie im Dialogfeld "Details" die Option "Datenträger" aus.
Auf diese Weise können Sie Dateien auf Ihren Computer kopieren oder in die normale Zwischenablage einfügen. RDP warnt Sie ehrlich: "Diese Remoteverbindung kann schädlich sein ...", da lokale Ressourcen gemeinsam genutzt werden. Nehmen wir zur Kenntnis und stellen Sie eine Verbindung zum Server her.
Nach dem Login sehen wir das übliche Desktop- und Administrationsfenster. Verbinden Sie den BitLocker-Dienst direkt von diesem aus, indem Sie die Option "Rollen und Funktionen hinzufügen" auswählen. Aktivieren Sie im ersten Bildschirm das Kontrollkästchen "Überspringen ...", um die Warnung nicht jedes Mal zu lesen, wenn Sie die Konfiguration ändern. Klicken Sie dann auf "Weiter" und wählen Sie "Rollenbasierte oder funktionsbasierte Installation". Wählen Sie dann unseren lokalen Server aus und klicken Sie im Abschnitt "Funktionen" auf. Markieren Sie "BitLocker Drive Encryption".
Bestätigen Sie "Features hinzufügen", klicken Sie auf "Weiter", aktivieren Sie die Option "Zielserver bei Bedarf automatisch neu starten" und klicken Sie auf "Installieren".
Nach der Installation des Dienstes wird das System automatisch neu gestartet. Bei der nächsten Verbindung wird ein Fenster angezeigt, in dem die Installation erfolgreich war.
Da wir einen virtuellen Server haben, verfügt dieser nicht über einen Kryptoprozessor " Trusted Platform Module ". Dies bedeutet, dass wir Zugriffsrichtlinien konfigurieren müssen, damit BitLocker beim Systemstart zur Eingabe eines Kennworts auffordert. Wenn Sie dies nicht tun und versuchen, die Verschlüsselung zu aktivieren, zeigt das System eine Fehlermeldung an:
Wir gehen zur Suche, geben dort den Programmnamen ein: " gpedit.msc " und führen ihn aus. Wir müssen die Option auf dem folgenden Pfad finden: Lokale Computerrichtlinie → Computerkonfiguration → Administrative Vorlagen → Windows-Komponenten → BitLocker-Laufwerkverschlüsselung → Betriebssystemlaufwerke
Sie müssen die Richtlinie aktivieren, indem Sie "Aktiviert" auswählen, das Kontrollkästchen "BitLocker ohne kompatibles TPM zulassen (erfordert ein Kennwort oder einen Startschlüssel auf einem USB-Flash-Laufwerk)" in den Optionen aktivieren und auf "OK" klicken.
Es bleibt die Auswahl der Laufwerke, die Sie im Explorer verschlüsseln möchten.
Der Setup-Assistent analysiert das System und fordert Sie auf, fortzufahren ("Weiter"). Im nächsten Dialogfeld warnt er, dass das Laufwerk von BitLocker verwendet wird, und empfiehlt, zuerst wichtige Daten zu sichern. Gute Idee, aber vorausgesetzt, Sie haben das bereits getan, klicken Sie auf Weiter. Das System bereitet die Festplatte für die Verschlüsselung vor, warnt Sie jedoch davor, dass Ihre Windows-Wiederherstellungsdaten nicht verschoben werden können, und bietet an, dieses System nach der Verschlüsselung zu aktivieren und zu konfigurieren. Die Installation ist fast abgeschlossen und der Assistent fordert Sie auf, das System neu zu starten.
Nach dem Neustart wird der Dienst installiert und das System bietet an, die Festplatte zu verschlüsseln
Im nächsten Dialogfeld werden Sie vom Assistenten aufgefordert, ein USB-Flash-Laufwerk einzulegen oder ein Kennwort einzugeben. Da unser Server virtuell ist, wählen wir letzteres. Im nächsten Fenster werden wir das Passwort eingeben, eingeben und bestätigen. Das System wird schwören, wenn es zu einfach oder zu kurz ist, müssen Sie Ihre Vorstellungskraft zeigen.
Als Nächstes werden wir aufgefordert, einen Weg zum Speichern des Zugriffswiederherstellungsschlüssels zu wählen, falls wir das Kennwort für BitLocker vergessen.
Wir können nirgendwo USB einstecken. Sie können die lokale Festplatte Ihres Computers auswählen, auf die in den RDP-Optionen zugegriffen wurde. Die Datei heißt ungefähr so: "BitLocker Recovery Key BE32F397-9C84-4765-9840-50BF3893CAB6.TXT". Und im Inneren gibt es eine kurze Anweisung und einen Wiederherstellungsschlüssel:
Aussehen
BitLocker Drive Encryption recovery key To verify that this is the correct recovery key, compare the start of the following identifier with the identifier value displayed on your PC. Identifier: BE32F397-9C84-4765-9840-50BF3893CAB6 If the above identifier matches the one displayed by your PC, then use the following key to unlock your drive. Recovery Key: 667260-267685-242209-551199-606441-680966-499147-122408 If the above identifier doesn't match the one displayed by your PC, then this isn't the right key to unlock your drive. Try another recovery key, or refer to http://go.microsoft.com/fwlink/?LinkID=260589 for additional assistance.
Nachdem wir die Datei gespeichert haben, fahren wir mit der Auswahl der Verschlüsselungsart fort. Da unsere lokale Festplatte geschützt ist, wählen wir die erste Option: "Neuer Verschlüsselungsmodus".
Der nächste Bildschirm erfordert die Bestätigung, dass wir die Festplatte wirklich verschlüsseln möchten. Klicken Sie auf "Weiter". Wir erhalten eine Meldung, dass der Prozess nach dem Neustart gestartet wird, und einen Vorschlag zum Neustart des Computers.
Alles - die Systemfestplatte unseres Servers ist verschlüsselt.
Wir versuchen uns damit zu verbinden und ... Nichts funktioniert!
Alles ist logisch. Bei BitLocker müssen Sie beim Booten ein Kennwort eingeben. Dies geschieht noch bevor das System für den Remote-Betrieb bereit ist. Dies kann nicht über RDP erfolgen.
Wir gehen zur RuVDS-Seite, die Informationen zum Ausführen von Servern enthält, und sehen ein interessantes Bild:
Im Screenshot vom virtuellen Monitor etwas, das der Systemaufforderung sehr ähnlich ist. In der Tat müssen wir die Notfallkonsolen-Zugriffskonsole verwenden, um das Kennwort einzugeben, bevor wir das System starten:
Wir geben das Passwort ein und sehen die Fortsetzung des Downloads. Die Notfallkonsole kann über RDP geschlossen und verbunden werden. Übrigens benötigen wir einen solchen Vorgang jedes Mal, wenn der virtuelle Server neu gestartet wird. Nicht sehr praktisch, aber das ist der Preis für Sicherheit.
Wenn wir jetzt das Laufwerksmenü öffnen, sehen wir neue Elemente darin: "BitLocker-Passwort ändern" und "BitLocker verwalten". Nachdem Sie das zweite Element geöffnet haben, können Sie den Status der Festplatte und deren Verschlüsselungsverwaltung anzeigen. Da ich für die Demonstration absichtlich eine kleine SSD ausgewählt habe, dauerte die Verschlüsselung weniger als fünf Minuten. Am Ende sah die Benutzeroberfläche folgendermaßen aus:
Die Bitlocker-Installation und die Festplattenverschlüsselung auf dem virtuellen Server sind jetzt abgeschlossen. Wenn jemand physischen Zugriff auf Ihren Computer erhält, kann er keine Verbindung zum Server herstellen, selbst wenn er unter Ihrem Login auf die Website des Anbieters geht. Und wenn er zum Rechenzentrum kommt und von innen eine Verbindung zu Ihrem VPS herstellt, kann er die Daten immer noch nicht empfangen - sie werden verschlüsselt.
Die Hauptsache ist, die Datei mit dem Schlüssel zur Wiederherstellung des Zugriffs nicht im Blick zu behalten!
Wie verwenden Sie diesen Schlüssel übrigens, wenn Sie Ihr BitLocker-Passwort vergessen haben? Es ist sehr einfach. Sie müssen den Server neu starten und zur Notfallkonsole wechseln. Jetzt müssen Sie sich nicht anmelden, sondern wiederherstellen. Drücken Sie ESC und erhalten Sie eine Einladung zur Eingabe der Taste. Eine Subtilität, Sie müssen nur Zahlen eingeben, und Minus-Trennzeichen werden automatisch eingefügt. Wenn Sie falsch eingeben, erhalten Sie eine Fehlermeldung und eine Aufforderung zur erneuten Eingabe des Schlüssels. Bei korrekter Eingabe startet das System weiter.
BitLocker auf einem Remote-Server konfigurieren - Abgeschlossen.
Daten unter Linux mit dm-crypt verschlüsseln
Es gibt viele verschiedene Partitionsverschlüsselungslösungen für Linux. Wir werden dm-crypt verwenden , ein einfaches und zuverlässiges System, das Microsoft in seiner Azure-Cloud verwendet.
dm-crypt - ein Standard-Festplattenverschlüsselungssystem auf Basis des Linux-Kernels, basierend auf: d evice m apper , das Subsystem erstellt und bietet Transparenz für die Arbeit mit virtuellen Geräten; und Krypto o API- ein Verschlüsselungssubsystem, das für VPN über IPSec und eine Reihe anderer Funktionen verwendet wird. Dm-crypt hat zwei Möglichkeiten, mit einem Kryptocontainer zu arbeiten: Plain - in dem die Daten kein sichtbares Format enthalten und wie ein zufälliger Satz von Bytes aussehen - und LUKS - bietet mehr Optionen, z. B. die automatische Erkennung von Cryptocontainern durch das System, aber die Datei enthält laut Metadaten das kann die Tatsache der Verschlüsselung bestimmen. Wir werden die zweite Methode über das LUKS- Protokoll verwenden .
Der Server wird mit Ausnahme des Betriebssystems auf die gleiche Weise wie im ersten Abschnitt ausgewählt. Überspringen wir die Schritte zur Voreinstellung. Sie finden sie im RuVDS-HandbuchFahren Sie mit der Installation des Verschlüsselungssystems fort. Lassen Sie uns die Paketliste aktualisieren und cryptsetup - die Befehlszeilenschnittstelle von dm-crypt - installieren (der Einfachheit halber werden alle Befehle als root eingegeben):
apt update apt install cryptsetup
Um verschlüsselte Daten zu speichern, müssen Sie zuerst eine spezielle Datei erstellen, die dann als Gerät fungiert. Es muss untrennbar miteinander verbunden sein, und dafür gibt es verschiedene Möglichkeiten mit unterschiedlichem Sicherheitsgrad.
Einer von ihnen ist mit dem Fallocate-Befehl.
Erstellen Sie eine 512-MB-Datei mit dem Namen test-crypt im Home-Verzeichnis des Root-Benutzers:
fallocate -l 512M /root/test-crypt
Dies ist die einfachste und schnellste Methode, aber die am wenigsten sichere, da der Befehl einfach Speicherplatz zuweist, ohne die dort enthaltenen Daten zu überschreiben.
Es ist sicherer, eine Datei mit dem Dienstprogramm dd (Dataset Definition) zu erstellen. Sie können damit nicht nur eine Datei erstellen, sondern auch Informationen in diese Datei schreiben, die den vorherigen Inhalt aus dem ausgewählten Bereich überschreiben. Zum Beispiel Nullen vom virtuellen Gerät / dev / zero:
dd if=/dev/zero of=/root/test-crypt bs=1M count=512
Am paranoidsten ist es, die Datei aus / dev / urandom zu füllen. Es ist aber auch das langsamste:
dd if=/dev/urandom of=/root/test-crypt bs=1M count=512
Nach dem Erstellen der Datei müssen Sie sie in einen LUKS-Abschnitt konvertieren:
cryptsetup -y luksFormat /root/test-crypt
Beantworten Sie
YES
die Programmaufforderung und legen Sie ein Passwort fest. Im Gegensatz zu BitLocker gibt es keine Wiederherstellungsmethoden, privaten Schlüssel und andere Annehmlichkeiten. Wenn Sie Ihr Passwort vergessen, gehen Ihre Daten unwiederbringlich verloren! Gehen Sie dieses Problem sehr verantwortungsbewusst an. Verwenden Sie daher unbedingt die Option
-y
, mit der Sie zur Bestätigung des Kennworts aufgefordert werden .
Lassen Sie uns überprüfen, was wir mit dem Dienstprogramm erhalten haben
file
:
file /root/test-crypt
Die Ausgabe sollte ungefähr Folgendes anzeigen:
test-crypt: LUKS encrypted file, ver 2 [, , sha256] UUID: 820a6557-ee7b-4f67-9f53-eb11586cc5dc
Dies bedeutet, dass der Kryptocontainer erstellt und einsatzbereit ist. Er muss noch auf dem Kryptovolumengerät bereitgestellt werden:
cryptsetup luksOpen /root/test-crypt crypt-volume
Erstellen Sie dort ein Dateisystem:
mkfs.ext4 -j /dev/mapper/crypt-volume
Und wählen Sie den Einhängepunkt:
mkdir /mnt/crypt-files
Das verschlüsselte Gerät ist einsatzbereit. Sie müssen es nur noch bereitstellen und als normale Festplatte verwenden. Alle Verschlüsselungs- und Entschlüsselungsvorgänge finden "on the fly" statt und sind für den Benutzer und das System transparent.
mount /dev/mapper/crypt-volume /mnt/crypt-files
Lassen Sie uns unser Gerät überprüfen. Kopieren wir einige Daten, zum Beispiel den Inhalt des Verzeichnisses / etc / ssh, und sehen, was das Dienstprogramm dh sagt
cp -r /etc/ssh/ /mnt/crypt-files/ df -h Filesystem Size Used Avail Use% Mounted on udev 928M 0 928M 0% /dev tmpfs 191M 648K 191M 1% /run /dev/sda1 20G 2.7G 16G 15% / tmpfs 955M 0 955M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 955M 0 955M 0% /sys/fs/cgroup tmpfs 191M 0 191M 0% /run/user/1000 /dev/mapper/crypt-volume 465M 1.3M 429M 2% /mnt/crypt-files
Wie wir sehen können, ist das Gerät gemountet, hat das von uns festgelegte Volumen und ist zu ca. 1% mit Dateien aus dem ssh-Verzeichnis gefüllt.
Um die Arbeit mit dem Kryptocontainer zu beenden, müssen Sie ihn aushängen und dann deaktivieren:
cd / umount /mnt/crypt-files cryptsetup luksClose crypt-volume
Die Arbeit mit dem Gerät ist beendet und wir haben die üblichste Datei, verschlüsselt mit unserem Passwort, Daten, die einem Außenstehenden nicht zur Verfügung stehen, selbst wenn er physischen Zugriff auf den Server erhält.
Um den Kryptocontainer wieder verwenden zu können, müssen Sie ihn initialisieren und erneut bereitstellen:
cryptsetup luksOpen /root/test-crypt crypt-volume mount /dev/mapper/crypt-volume /mnt/crypt-files
Damit ist die Überprüfung der Datenverschlüsselungssysteme abgeschlossen, die auf virtuellen Servern verwendet werden können.
Gute Verbindung allerseits!