[Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

K3n$!

BIOS-Overclocker(in)
[Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Hey liebe Forengemeinde,

ich möchte die Tage meinen Server neu aufsetzen und dabei möchte ich aus diversen Gründen auf Software-verschlüsselte Festplatte setzen.
Bei der Wahl des Betriebssystems werde ich mich wieder für Debian entscheiden, das lief das ganze letzte Jahr ohne Probleme und extrem stabil.

Da ich leider nicht genug externen Speicher da habe, muss ich die beiden Festplatten im Server (kein RAID) nach einander in den Server einsetzen.
Bei der ersten Festplatte, die zugleich auch das Betriebssystem enthält, kann man ja direkt via Installer die Festplatte verschlüsseln.

Meine Frage ist nun: Was mache ich dann mit der zweiten Festplatte? Wie gehe ich da vor? Die allermeisten Tutorials im Internet gehen immer von
dem Fall aus, dass ich alles komplett neu aufsetze und manuell das System verschlüsseln möchte. Die zweite Festplatte wird dann zu dem Zeitpunkt
komplett leer und vorher einmal mit Nullen überschrieben worden sein.

Wäre super, wenn ihr mir kurz erklären könntet, wie ich dabei vorgehen soll oder einen Verweis auf eine Webseite gebt, die das besagte Problem beschreibt.


mfG K3n$!
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Was du suchst (fallsdu noch Suchst) ist cryptsetup. Sollte schon installiert sein, und auch relativ intuitiv zu bedienen.

Du erstellst einfach eine leere Partition, erzeugst mit cryptsetup den Container, entschlüsselst ihn, wonach du dann (gewöhnlich) unter /dev/mapper findest, erzeugst ein Filesystem im Container, und... äh... fertig. Wie man das ganze bei Boot automatisiert usw, sollte in genug Tutorials zufinden sein, und wenn nicht, frag einfach nochmal. ;)

ps: cryptsetup - LinuxWiki.org - Linux Wiki und Freie Software
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Hey, danke für deine Antwort :)
Ja, ich bin gerade dabei, den Server umzustellen.
Leider sind mir heute direkt beide Backup Platten kaputt gegangen, auf denen ich die Daten meiner zweiten Festplatte zwischenspeichern wollte.
Eine neue 4TB Platte ist jetzt bestellt, sodass ich dann nächste Woche diese in den Server einbauen werde.
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Bei der ersten Festplatte, die zugleich auch das Betriebssystem enthält, kann man ja direkt via Installer die Festplatte verschlüsseln.
Nur als generelle Anmerkung - der Installer kann nicht nur die erste Festplatte, sondern alle möglichen verwendeten Festplatten und Partitionen verschlüsseln.
Die zweite Festplatte wird dann zu dem Zeitpunkt komplett leer und vorher einmal mit Nullen überschrieben worden sein.
Das ist natürlich ein sehr sicheres Vorgehen, in meinen Augen aber nicht notwendig. Ich glaube, dass cryptsetup auch einen Parameter mitbringt, welcher die Festplatte / Partition vorher nullt. Ansonsten tut es auch ein "dd if=/dev/zero of=/dev/sdX", wobei /dev/sdX beispielsweise für /dev/sdb steht. Wenn du es noch sicherer haben willst, kannst du auch /dev/random benutzen und /dev/sdX somit mit Zufallswerten überschreiben. Nullen reichen aber aus.

Grundsätzlich läuft es so ab, dass du erstmal die Festplatte oder Partition verschlüsselst. Welche Algorithmen verwendet werden, kannst du dir aussuchen, meistens wird AES verwendet, da dieser Standard als hinreichend sicher und performant gilt:
Code:
cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/sdX
In diesem Zug legst du ein Passwort fest. Danach öffnest du den Container mit
Code:
cryptsetup luksOpen /dev/sdx DEVICE
"DEVICE" steht hierbei für die Zuordnung zur verschlüsselten Festplatte / Partition. Der Name ist frei wählbar, führst du also "cryptsetup luksOpen /dev/sdb1 testtest" aus, wird das Device /dev/sdb1 entschlüsselt und unter /dev/mapper/testtest angelegt.
Danach kannst du mit /dev/mapper/testtest machen, was du möchtest, beispielsweise ein Dateisystem anlegen.

Das Verschlüsseln ist einfach, das Einbinden in den Bootprozess ist ein bisschen kniffeliger. Meist wird eine Initrd ("initial ramdisk") angelegt, welche vor dem eigentlichen Systemstart Zugriff auf die benötigten Devices und Dateien gewährt und die Entschlüsselung ermöglicht.
Du schreibst, dass du das System ohnehin neu aufsetzen möchtest. Dann würde ich das alles über das Setup lösen, das ist deutlich einfacher (und meistens fehlerfreier) als von Hand. Unter Debian habe ich es immer so gemacht, wobei ich davon ausgehe, dass das Vorgehen so wie bei Gentoo sein sollte: benötigte Devices und Dateien kopieren, Initscript schreiben und das dann alles in eine Initrd packen.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Hey,

also das System läuft bereits wieder, eben nur mit einer Festplatte (ich nutze vor allem aus Kostengründen kein RAID).
Die zweite Festplatte liegt momentan noch unter meinem Schreibtisch. Die sollte wiederum auf einem anderen Datenträger
gesichert werden, dann so wie von dir beschrieben mit dd if=/dev/zero of=/dev/sdX genullt werden und anschließend in den
Server eingebaut werden.
Am Ende soll es so sein, dass ich am Anfang nur ein Passwort eingeben muss (pre-boot-authentification) und alle Festplatten
werden entschlüsselt.
Dadurch dass das System nun schon eingerichtet ist, muss ich das ganze manuell machen bzw. mit dem Tool cryptsetup.
Hier hatte er bei der Erstinstallation auch direkt nochmal die Festplatte nullen wollen, was man aber überspringen konnte.

Ich möchte nun also (wenn meine neue Festplatte angekommen ist) diese in den Server einbauen und in das vorhandene
verschlüsselte "System" integrieren.

df -H gibt folgendes aus:

Code:
Dateisystem                     Größe Benutzt Verf. Verw% Eingehängt auf
/dev/dm-1                        9,8G    1,9G  7,4G   20% /
udev                              11M       0   11M    0% /dev
tmpfs                            813M     16M  798M    2% /run
tmpfs                            2,1G    4,1k  2,1G    1% /dev/shm
tmpfs                            5,3M       0  5,3M    0% /run/lock
tmpfs                            2,1G       0  2,1G    0% /sys/fs/cgroup
/dev/sda2                        248M     36M  200M   16% /boot
/dev/sda1                        536M    136k  536M    1% /boot/efi
/dev/mapper/homeserver--vg-home  3,0T    2,7T  173G   94% /home


Im Netz findet man auch die von dir vorgeschlagene Variante aes-cbc-essiv:sha256.
Ich meine, dass ich irgendwo mal was vom XTS Modus gelesen hätte.
Bei der Installation habe ich einfach die Standardeinstellungen belassen.
Kann ich mir anzeigen lassen, wie die aktuelle Festplatte verschlüsselt wurde?
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Am Ende soll es so sein, dass ich am Anfang nur ein Passwort eingeben muss (pre-boot-authentification) und alle Festplatten
werden entschlüsselt.
Ich weiß nicht, ob es auf simple Weise möglich ist, mehrere Container mit einer einzigen Passworteingabe zu entschlüsseln. Prinzipiell ja, aber dazu müsste das Passwort zwischengespeichert und dann an cryptsetup weitergereicht werden. Man könnte hierzu ein Script das Passwort abfragen und in einer Variable speichern lassen und hiermit dann cryptsetup füttern. Das ist aber nur eine Vermutung - getestet habe ich das nicht.
Dadurch dass das System nun schon eingerichtet ist, muss ich das ganze manuell machen bzw. mit dem Tool cryptsetup.
[...]
Ich möchte nun also (wenn meine neue Festplatte angekommen ist) diese in den Server einbauen und in das vorhandene verschlüsselte "System" integrieren.
Das ist prinzipiell kein Problem. Es muss danach nur noch die Initramdisk angepasst werden.
Im Netz findet man auch die von dir vorgeschlagene Variante aes-cbc-essiv:sha256.
Ich meine, dass ich irgendwo mal was vom XTS Modus gelesen hätte.
Bei der Installation habe ich einfach die Standardeinstellungen belassen.
Mit den Default-Optionen solltest du gut fahren. Ich habe mich lange nicht mehr mit den verschiedenen Algorithmen und Optionen beschäftigt - Wikipedia und diverse Linuxforen bieten hier aber viele Infos zum Thema, wenn du dich detaillierter damit auseinandersetzen möchtest.
Kann ich mir anzeigen lassen, wie die aktuelle Festplatte verschlüsselt wurde?
Du kannst dir umfangreiche Infos zu einem verschlüsselten Device mittels "cryptsetup luksDump DEVICE" anzeigen lassen.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Code:
root@homeserver:~# cryptsetup luksDump /dev/sda3
LUKS header information for /dev/sda3


Version:       	1
Cipher name:   	aes
Cipher mode:   	xts-plain64
Hash spec:     	sha1
Payload offset:	4096
MK bits:       	512


Kann man auch unterschiedliche Algorithmen nutzen? Das von dir vorgeschlagene (und in diversen anderen Foren)
aes-cbc-essiv:sha256
erscheint mir besser zu sein oder?

Edit: Hab dazu folgendes gefunden:
https://security.stackexchange.com/...ecure-is-ubuntus-default-full-disk-encryption

Aber wenn dort unter Hash Spec sha1 steht, ist da damit etwas anderes gemeint als sha256, welches ich bei der Verschlüsselung vorgebe?
Die im Link erwähnten 512Bit Länge durch XTS (doppelte Länge) scheinen ja eingerichtet zu sein.
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Kann man auch unterschiedliche Algorithmen nutzen?
Ja sicher, du kannst für jeden Container was anderes nutzen. Wenn ich mich recht entsinne, ist es auch möglich, Algorithmen für einen Container zu kombinieren - das bremst aber natürlich tierisch aus.
Welche Algorithmen und Optionen "besser" sind, kann ich aus dem Stegreif nicht sagen, ich habe mich wie schon vorher geschrieben lange nicht mehr im Detail damit beschäftigt.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

So, die neue Festplatte ist eingebaut. Zusätzlich habe ich jetzt noch einen Lüfter eingebaut, der vorn Luft einsaugt.
Leider wird meine WD Se immer noch sehr warm, obwohl sie allein oben in meinem Case (Dell T20) sitzt.
Vorhin als das Gehäuse offen neben meinem Schreibtisch stand, lief die ungemountete Platte bei ca. 50-52°C.

Ich schiebe das jetzt mal auf die Temperaturen hier drinnen, aber normal ist das nicht.

Ich bin nach der Anleitung von Bunkasan vorgegangen und habe dort einfach das fertige Skript

Code:
luksformat [-t fstype] device

genommen, nachdem ich versucht hatte, wie hier beschrieben, den Schlüssel abzuleiten.
Leider gab es andauernd Probleme mit dem Schlüssel. Auch ließ sich kein weiterer hinzufügen.
Im Grunde muss ich jetzt zwei Keys am Anfang eingeben, was aber nicht weiter schlimm ist.
Bevor ich den Server neu aufgesetzt hatte, lief er ca. 155 Tage.

Als nächstes werde ich jetzt mal die Daten auf die neue Platte übertragen und schauen, wie sie sich macht.
Dann mal NFS einrichten, da SMB seltsamerweise bei ca. 50MB/s rumdümpelt.
Das Problem mit webdav (siehe anderer Thread) besteht auch weiterhin noch.
Ebenso möchte ich dann mal deine (Jimini) Anleitung zum eigenen dyndns-Dienst ausprobieren,
da ich noch einen Virtuellen Server samt Domain bei 1und1 habe (für 1€ pro Jahr).
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

lief die ungemountete Platte bei ca. 50-52°C.
Das ist in der Tat ziemlich warm, da solltest du über weitere Belüftungsmaßnahmen nachdenken.
den Schlüssel abzuleiten.
Was genau meinst du mit "ableiten"?
Leider gab es andauernd Probleme mit dem Schlüssel. Auch ließ sich kein weiterer hinzufügen.
Vielleicht liegt es am Keyboardlayout, was ich aber nicht glaube. Lässt sich testweise ein simpler (="test") Schlüssel hinzufügen?
Dann mal NFS einrichten, da SMB seltsamerweise bei ca. 50MB/s rumdümpelt.
NFS ist deutlich einfacher einzurichten als Samba. Das sollte eigentlich kein Problem darstellen.
Das Problem mit webdav (siehe anderer Thread) besteht auch weiterhin noch.
Ebenso möchte ich dann mal deine (Jimini) Anleitung zum eigenen dyndns-Dienst ausprobieren,
da ich noch einen Virtuellen Server samt Domain bei 1und1 habe (für 1€ pro Jahr).
Poste bei Fragen am besten in die jeweiligen Threads, damit man die Themen gut auseinanderhalten kann.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Ableiten siehe Link vom Ubuntu Wiki.
Die Festplatte ist jetzt auch eingerichtet und funktioniert so, wie sie soll (Partitionierung, automatisches Einhängen während boot, etc.).

Bist du sicher, dass NFS einfach als Samba einzurichten ist?
Ich habe mir das gerade mal angesehen, aber ich finde das deutlich komplizierter als Samba.
Bei Samba brauche ich mich nicht um portmap/rpcbind und hosts.allow/deny kümmern.
Ebenso sind die Mount-Optionen einfacher zu verstehen.

Hast du da vielleicht eine kurze und einfache Anleitung für mich? :)

Da ich der einzige Linux Nutzer im Netzwerk bin, reicht es, wenn nur eine IP auf die Freigabe zugreifen kann.
Ich möchte dann gern mein home-Verzeichnis zugreifen können.
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Ableiten siehe Link vom Ubuntu Wiki.
Ich habe mit cryptsetup bisher nur neue Container angelegt, geöffnet, geschlossen und Schlüssel hinzugefügt / ersetzt - was genau funktioniert denn nicht?
Bist du sicher, dass NFS einfach als Samba einzurichten ist?
Ich habe mir das gerade mal angesehen, aber ich finde das deutlich komplizierter als Samba.
Bei Samba brauche ich mich nicht um portmap/rpcbind und hosts.allow/deny kümmern.
Eigentlich startest du nur den NFS-Daemon und legst die freizugebenden Verzeichnisse in /etc/exports an (Änderungen kannst du mittels exportfs -rav übernehmen). Beim Daemon selbst muss glaube ich nicht wirklich was eingestellt werden, wenn ich mich recht entsinne - er wird einfach nur gestartet.
Ebenso sind die Mount-Optionen einfacher zu verstehen.
Das liegt daran, dass CIFS für die Windows-Welt gemacht ist, in der die Dateisysteme meines Wissens deutlich weniger Optionen und Features mitbringen.
Hast du da vielleicht eine kurze und einfache Anleitung für mich? :)
In https://wiki.ubuntuusers.de/nfs ist es ganz gut beschrieben, ebenso kannst du mal in https://wiki.ubuntuusers.de/MOUNT#Optionen schauen.
Da ich der einzige Linux Nutzer im Netzwerk bin, reicht es, wenn nur eine IP auf die Freigabe zugreifen kann.
Ich möchte dann gern mein home-Verzeichnis zugreifen können.
Dazu sollte folgender Eintrag in /etc/exports genügen:
Code:
/home/NUTZER 10.0.0.100(rw)
Dieses Verzeichnis bindest du dann unter Linux mit folgendem Eintrag in /etc/fstab ein:
Code:
10.0.0.1:/home/NUTZER /home/share nfs auto,defaults 0 0
(10.0.0.1 ist der Server, 10.0.0.100 der Client)

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Wie gesagt, das cryptsetup steht jetzt und es lassen sich auch weitere Passwörter hinzufügen.
-> Daher habe ich gleich nochmal mit us-Tastaturlayout den Schlüssel gespeichert.

Heute morgen sehen die Temperaturen wie folgt aus:

Code:
/dev/sda: WDC WD30EFRX-68EUZN0: 36°C
/dev/sdb: HGST HDN724040ALE640: 40°C
/dev/sdc: WDC WD4000F9YZ-09N20L0: 47°C

Das ist eigentlich okay, würde ich sagen.

Deine NFS-Anleitung werde ich mir mal nachher anschauen, wenn ich es schaffe. Danke schon mal :)
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

So. Es sind nun alle Dateien auf den Festplatten verteilt.
Deinem "Tutorial" zu NFS bin ich gefolgt und habe mein Home-Verzeichnis freigegeben.
Performance-mäßig liegt das ganze bei ca. 110MB/s im Gegensatz zu 50MB/s bei Samba.

Was mich aber wundert, ist die Sache mit der Zugriffskontrolle.
Ich habe nur meine IP unter /etc/exports eingetragen.
Dementsprechend darf auch nur meine IP auf die Dateien zugreifen.
Aber mir scheint das ein bisschen wenig als Absicherung oder?
Wenn mein PC aus ist, könnte sich ja einfach jemand diese IP geben und könnte mein komplettes Home-Verzeichnis öffnen.
Beim Samba benötige ich ja wenigstens eine Kombination aus Benutzername+Passwort. Kann man da was machen ?
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

NFS ist vom Konzept her grundsätzlich unsicher, da es noch aus einer Zeit stammt, in der eine IP-Adresse (und ggf. eine User-ID) als hinreichend sicher angesehen wurden. Daher würde ich es nur in absolut vertrauenswürdigen Netzen einsetzen.
Du kannst NFS (ab Version 4) aber beispielsweise mit einer Kerberos-Authentifizierung kombinieren.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Gibt es denn eine sichere Alternative zu nfs?
Ich möchte lediglich in meinem Heimnetzwerk schnell und sicher Dateien vom und zum Server schicken können.
In einem Forum hatte ich die Option OpenVPN gelesen, was mir aber schlicht zu viel Aufwand für sowas ist.
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Du kannst sonst mal einen Blick auf SSHFS werfen, eventuell wäre auch AFS / OpenAFS einen Versuch wert. Letztere habe ich selbst aber bislang nicht genutzt.
Wenn du eine iptables-Firewall auf dem System laufen hättest, könntest du ansonsten auch den NFS-Zugriff nur von bestimmten IP- und MAC-Adressen aus erlauben. Ist zwar nur minimal sicherer, aber zumindest zuhause sollte man vor böswilligem MAC-Spoofing ja geschützt sein.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

iptables habe ich nicht installiert, da der Router ja noch davor hängt.
Über SSHFS bin ich auch gestolpert. Auf einer Seite habe ich einen Vergleich zwischen
NFS und SSHFS gesehen und dazu noch tausende Config-Performance-Tweaks.
Im Grunde war aber SSHFS nicht besonders schnell in der Grundeinstellung.
Ich werde mir das aber vielleicht mal ansehen :)

Im Moment habe ich gerade das Problem, das bei meinem webdav Ordner keine Passwortabfrage ausgelöst wird.
Das hat zwischenzeitlich funktioniert. Dann hatte ich die Datei minimal umbenannt (von passwd.dav zu .passwd.dav
damit die Datei nicht aus Versehen gelöscht wird.
Ich habe den Pfad in meiner Apache-Config-Datei (vhost?) angepasst und den Apache Server neugestartet, aber eine
Abfrage kommt immer noch nicht und somit kann jeder diesen Ordner öffnen, was ja nun nicht gerade gewollt ist.
Hast du eine Idee, woran es hier scheitert?

Edit: Am Pfad selbst liegt es nicht. Habe gerade den alten Zustand wiederhergestellt, aber keine Änderung.

Edit2: Ich habe den Verdacht, dass mit der restlichen Config zu tun hat. Auf der Server läuft noch Seafile und dafür habe ich folgende Config benutzt:
Enabling Https with Apache | Seafile Server Manual

Für webdav habe ich schon ein paar Ausnahmen per "RewriteCond" hinzugefügt.
 
Zuletzt bearbeitet:
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Im Grunde war aber SSHFS nicht besonders schnell in der Grundeinstellung.
Klar, da das SSH-Protokoll zum Einen mit Verschlüsselung arbeitet und zum Anderen ursprünglich nicht für verteilte Dateisysteme konzipiert wurde, hat man hier auf jeden Fall Performance-Einbußen. Ich wüsste aktuell nicht, was schneller als NFS ist, was Durchsatz und Einfachheit anbelangt, eventuell bislang ungeschlagen. Du kannst aber bei Wikipedia nochmal nach Netzwerkdateisystemen schauen.
Im Moment habe ich gerade das Problem, das bei meinem webdav Ordner keine Passwortabfrage ausgelöst wird.
Bezieht sich das auf diesen Thread von dir?
Falls ja, so poste das am besten dorthin, damit wir hier nicht zu viele verschiedene Themen gleichzeitig behandeln.

MfG Jimini
 
AW: [Debian-Server] Nachträglich verschlüsselte Festplatte hinzufügen

Du könntest auch mit SSH den Port 2049, den NFSv4 standardmäßig benutzt, weiterleiten und über den Tunnel mounten. In der /etc/exports muss für den Server selbst ein Export auf localhost eingetragen werden, am Client dann folgendes:
Code:
ssh -fNL 22049:localhost:2049 user@server
mount -t nfs -o port=22049 localhost:/pfad/am/server /pfad/am/client
Statt 22049 kann auch jeder freie Port gewählt werden.
Ist eventuell schneller als SSHFS, weil es nicht auf FUSE aufbaut.
 
Zurück