Seite wählen

NETWAYS Blog

Verschlüsselten File-Container mittels cryptsetup und LUKS erstellen


Datenschutz wird im Jahr 2018 so groß geschrieben wie nie zuvor. Verschiedene Anforderungen an die Absicherung der Daten zwingen Admins, sich elegante und sichere Setups einfallen zu lassen. Ich nehme das zum Anlass, eine neue Serie zur Dateiverschlüsselung zu eröffnen, bei der es um die verschiedensten Möglichkeiten geht, die gespeicherten Daten gegen den Zugriff Unbefugter abzusichern.
Oftmals ist eine Verschlüsselung der Daten aufgrund bestehender Infrastrukturen oder mangels Rechten (z. B. bei extern angemieteten Storages) nicht so einfach möglich. Früher war hier ECryptFS im Linux-Umfeld und TrueCrypt bei Windows State of the Art. Heute haben sich die Anforderungen geändert und ECryptFS ist wegen einer zu restriktiven Beschränkungen der Dateinamen nicht mehr alltagstauglich. Daher stelle ich hier eine moderne Alternative mit cryptsetup in Ergänzung mit LUKS vor.

Vorbereitung

Installation von cryptsetup (Beispiel Debian-Derivate)

sudo apt-get install cryptsetup

Laden des Kernel-Moduls (nur bei initialer Einrichtung)

sudo modprobe dm-crypt

File-Container erstellen

Zunächst wird mittels dd ein File-Container mit 1GB Größe erstellt, der Wert kann natürlich je nach Anforderung angepasst werden

dd if=/dev/zero of=/storage/my_container bs=1M count=1024

File-Container mittels cryptsetup initialisieren

 cryptsetup -y luksFormat /storage/my_container

Nun die gewünschte Passphrase eingeben. Aber Achtung, ohne ein gut gewähltes Passwort nutzt die stärkste Verschlüsselung nichts!
Verschlüsselten Container öffnen und Dateisystem erstellen

cryptsetup luksOpen /storage/my_container my_mount

hier wird das Kennwort abgefragt, dies sollte man sich natürlich zuvor gut merken. Der Container ist nun unter /dev/mapper/my_mount eingebunden.  Anschließend wird ein ext4-Dateisystem in dem Container erzeugt.

mkfs.ext4 -j /dev/mapper/my_mount

File-Container am Wunschort mounten

Ordner zum mounten erstellen

mkdir /my_data
mount /dev/mapper/my_mount /my_data

Fertig – alle Daten die nun in /my_data erzeugt werden, landen am Ende verschlüsselt im Container, wie in meinem Beispiel unter /storage/my_container

Mount aushängen und File-Container schließen

Damit die Daten während der Nichtnutzung auch wirklich sicher sind, empfehle ich, den Container wieder abzuschließen.

umount /my_data
cryptsetup luksClose my_mount

Protip

Ich habe auf diese Art der Verschlüsselung bei meiner Nextcloud zurückgegriffen, da mir die Bordmittel von Nextcloud nicht gefallen, oder zu langsam sind. Im nächsten Artikel werde ich auch erklären, wie man den Container entsprechend vergrößern kann. Alle mit my_ verwendeten Variablen, können natürlich auf die jeweiligen Bedürfnisse angepasst werden.

Haben wollen?

Wir bieten natürlich bei uns im Managed-Hosting individuelle Lösungen an. Falls unsere (potentiellen) Kunden ein solches Setup wünschen, so sind wir natürlich für jeden Spaß zu haben.

Disclaimer

LUKS verwaltet die Verschlüsselungsdaten im Header. Ohne den Header (oder im Falle einer Beschädigung), ist ein Zugriff auf die Daten nicht mehr möglich. Es gibt verschiedene Tools, wie beispielsweise zuluCrypt, mit denen die Schlüssel und Header verwaltet und gesichert werden können, doch dazu in einem späteren Artikel mehr. Die Anleitung wurde nach bestem Wissen und Gewissen erstellt, testet bitte jedoch selbst ausreichend, bevor diese Lösung in die Produktion geht, damit das ihr die Funktionsweise versteht und Datenverlust vermeidet.

February Snap 2018 > Icinga camp, Open Source Datacenter Conference 2018, Ceph, Braintower , NETWAYS Monitor


Freezing February !! And we froze our selection for Open Source Datacenter Conference 2018’s speaker listAlexander said Apple Pi is simple and secure, have you tried it yet? Philipp was happy to celebrate his six -month anniversary at NETWAYS with his fellow trainees Afeef and KillianJulia announced a 25% discount for Ceph training in March.
Marius showed us how to upgrade MariaDB from 10.0.x to 10.2.x. in 10 easy steps. Jean-Marcel talked about the quest for su on Windows. Lennart educated us all with Icinga 2 “Eat or Die”, the variable scope. Nicole announced detailes on the Nextcloud 13 update. Dirk recapped the Configuration Management Camp Ghent 2018.
Isabel invited you to NETWAYS – Monitor your server rooms with us! And told us about MultiTech MTD- H5-2.0 USB powered- easy SMS sending, and, also about the Braintower SMS Gateway with 2 variants. Blerim had the honor of presenting the program for the Icinga Camp Berlin 2018. And, last, but not least,Christoph wanted to Samba Samba all night!!

Keya Kher
Keya Kher
Marketing Specialist

Keya ist seit Oktober 2017 in unserem Marketing Team. Nach ihrer Elternzeit ist sie seit Februar 2024 wieder zurück, um sich speziell um Icinga-Themen zu kümmern. Wenn sie sich nicht kreativ auslebt, entdeckt sie andere Städte oder schmökert in einem Buch. Ihr Favorit ist “The Shiva Trilogy”.  

Samba Samba die ganze Nacht

samba.org logoWer in seinem Unternehmen heterogene Umgebungen vorfindet ist oftmals gezwungen Brücken zwischen der Linux/Unix Welt und Windows zu schlagen. Hierfür wird gerne der freie und quelloffene Samba Server eingesetzt. Dieser stellt per SMB Protokoll Freigaben bereit.
Nun ist es eine Sache die Windows Kollegen zu hetzen, alte Windows XP Maschinen abzustellen. Die andere Seite der Medaille ist die Absicherung der eigenen Serverdienste. Denn wenn der Linux Server immer noch SMBv1 spricht ist der nächsten WannaCrypt/WannaCry Attacke Tür und Tor geöffnet. Microsoft warnt z.B. im Technet Blog vor dieser Möglichkeit.
Die Abhilfe dagegen ist relativ einfach, man verbiete SMBv1. Die Änderung erfolgt in /etc/samba/smb.conf innerhalb der „global“ section.

 [global]
 ...
 #min protocol = SMB2
 client min protocol = SMB2
 server min protocol = SMB2
 ...

 

Christoph Niemann
Christoph Niemann
Senior Consultant

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinandergesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.

Cubietruck ( Entertainment in 1080p )

Was macht der Netways-Mitarbeiter, wenn er abends nach Hause kommt?
Er schaltet sein Entertainment-System ein und legt klassische Musik auf …
… Klassik? Nein nicht wirklich, das mit dem Entertainment System ist allerdings wahr.
Ich möchte euch hier etwas über mein Entertainment-System berichten, dem Cubietruck, einem leistungsfähigen Ersatz für den RaspberryPi.
cubietruck-hand
Zudem haben Netways-Mitarbeiter unter anderem noch andere Anforderungen an solch ein Spielzeug. 🙂 Hier mal einige mögliche Anwendungsthemen:

  • als MPI Cluster ( ja so Verrückte gibt es auch hier bei Netways 😉 )
  • als WLAN AP ( oder Bluetooth FileShare )
  • als Network Monitoring TAP ( für die Traffic Analyse im heimischen Netzwerk – aber auch in Firmennetzen ganz hilfreich )
  • als NAS ( mit Samba und NFS als Shared-Storage für Backup von Fotos, Dokumenten etc. … )
  • als Mobile Computer ( zum Surfen, Schreiben, Programmieren sogar mit dem heimischen Fernseher )
  • als Computer zum Lernen ( für die Kleinen aber auch ganz Großen )
  • als Home Entertainment-System ( mit KODI ehemals XBMC, wahrscheinlich das, was sich viele als Ersatz oder gar Ergänzung zu einer Set-Top Box wünschen )

Mit der Installation von Ajenti oder einer der anderen WebGUI’s ( OpenPanel, Webmin ) ist es möglich das Gerät vollständig über ein Webinterface zu steuern, in Kombination mit OwnCloud und MySQL/MariaDB ist das System eine vollwertige CloudSharing Lösung.
Auch LXDE oder gar XFCE stressen die Allwinner A20 CPU nicht sonderlich. Somit ist das System auch als Lerncomputer für die Kids ganz gut geeignet (es muss nicht immer teure Hardware sein) .
Die Bastler unter euch haben bestimmt auch ganz exotische Vorstellungen bzgl. Networking. So ist es möglich, den Cubietruck auch als WLAN AP einzusetzten. Entweder händisch mit OpenWRT oder auch ganz bequem über die WebGUI mit DD-WRT. Die ganz Pfiffigen unter euch basteln sich das Ganze auf Basis der verfügbaren Distributionen in wenigen Minuten selber zusammen.
cubietruck-case
Viele von euch haben dieses System vermutlich bereits für sich erkannt, und Fragen sich bestimmt „Warum berichtet er uns hier den über ein Gerät das bereits ca. ein halbes Jahr alt ist?“, und die Antwort ist „Kinderkrankheiten“, jedes System bzw. OS ist in der Phase seiner Entwicklung noch recht verbugged, das betraf auch das Cubieboard3. Der Cubietruck ist momentan der beste Ersatz für den RaspberryPi, wenn es um Leistung und Ausstattung geht.
Hier mal die Hardware Ausstattung des Cubieboard3 ( aka Cubietruck ):

  • AllWinnerTech SOC A20 ARM® Cortex™-A7 Dual-Core ARM®
  • 2GB RAM DDR3
  • VGA & DVI 1080P
  • 10/100/1000Mbit Ethernet
  • Wifi+BT ( in einem Chip )
  • SATA 2.0 Port für 1.8/2.5′ HDDs ( auch 3.5′ HDDs sind möglich brauchen allerdings einen externen Strom Anschluss )
  • MicroSDHC Slot sowie NAND 4GB ( mit vorinstalliertem Android )
  • 2 x USB 2.0
  • 1 x Infrarot
  • 1 x 3.5 klinke
  • 1 x LED ( diese könnt Ihr auch selber ansteuern )
  • 1 x SPDIF
  • 1 x Power DC5V@2.5A ( ein altes Smartphone USB-Ladegrät reicht hier aus )
  • 1 x 54 Pin
  • 1 x JTAG & UART over USB
  • Board Abmessung 11 x 8 cm
  • mitgeliefert werden Plexiglass und Schrauben ( als Provisorisches Gehäuse ganz nett anzusehen )

cubietruck-overview
Die folgenden Links könnten für den Einstieg ganz Hilfreich sein.

Sonstiges:

 

How to configure a Windows machine to allow file sharing with a DNS Alias

Last week we moved our cifs share from a Netapp filer to a Ceph disk mounted on a virtual windows server handling the share. After that, we configured the share and changed the DNS Alias to the new IP on the Windows server. Now every Windows and Mac client is able to mount the new share with the new dns alias – except the Linux clients, which got some errors like:

mount error(5): Input/output error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

On Windows machines file sharing can work via the computer name, with or without full qualification, or by the IP Address. By default however, file sharing will not work with DNS aliases (in our case just the Linux clients). To enable filesharing to work with DNS aliases, you must make registry changes and reboot the machine.
The solution for this is setting „DisableStrictNameChecking“ to allow other machines to use filesharing via the DNS Alias. This change will allow other machines on the network to connect to the machine using any arbitrary hostname:
Add the value „DisableStrictNameChecking“ of type DWORD and set it to 1:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

On Windows Server 2008 R2:
Add the value „DnsOnWire“ of type DWORD and set it to 1

HKLM\SYSTEM\CurrentControlSet\Control\Print

This change will not allow a machine to connect to itself via a hostname. For that you need „BackConnectionHostNames“ to allow a server machine to use filesharing with itself via the DNS Alias.
Add a new Multi-String Value „BackConnectionHostNames“

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

In the Value data box, type the CNAME or the DNS alias, that is used for the local shares on the computer, and then click OK.
Note: Type each host name on a separate line.

Martin Schuster
Martin Schuster
Senior Systems Engineer

Martin gehört zu den Urgesteinen bei NETWAYS. Wenn keiner mehr weiss, warum irgendwas so ist, wie es ist, dann wird Martin gefragt. Er hat es dann eigentlich immer mal schon vor Jahren gesehen und kann Abhilfe schaffen :). Vorher war er bei 100world als Systems Engineer angestellt. Während er früher Nürnbergs Partykönig war, ist er nun stolzer Papa und verbringt seine Freizeit damit das Haus zu renovieren oder zieht einfach um und fängt von vorne an.