Einzelnen Beitrag anzeigen
#1
Alt 06.02.06, 16:17:20
Partitionen verschlüsseln mit Debian Linux
blue
Benutzerbild von blue
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht: ♂
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3

Spenden-Award Spenden-Award Silberne Postauszeichnung Bronzener Topposter Blecherner Postaward Core-Award 

blue eine Nachricht über ICQ schicken
1. Einleitung

Ich habe mir vor einigen Tagen meinen Homeserver neu aufgesetzt, da mir die Kiste viel zu überladen war. Dazu hab ich mir gedacht, ich setzte bei der jetzigen Installation noch einen drauf und verschlüssele einige Partitionen. Wie ich das ganze mache werde ich hier nun erläutern, sodass es möglichst gut nachvollziehbar ist.
Zur Verschlüsselung werden wir Cryptsetup mit AES Algorithmen nutzen. Alle AES Algorithmen sind für Schlüssellängen von 128-256 Bit definiert worden und sollten für unsere Verschlüsselung genügen

2. Vorbereitung

a) Kernel

Die Ganze Aktion bringt natürlich einige Vorraussetzungen mit sich. Ersteres ist der Kernel. Hier müssen ein paar neue Module hinzugefügt werden. Diese werden jedoch erst ab 2.6.4 unterstützt. Da Debian Linux von Zuhause aus einen 2.4er Kernel mitbringt, sind wir gezwungen einen neuen zu kompilieren. Im Kernel müssen folgende Module hinzugefügt werden:
  • Code maturity level options
    • Prompt for development and/or incomplete code/drivers
  • General setup
    • Support for hot-pluggable devices
  • Device Drivers
    • Multi-device support (RAID and LVM)
      • Device mapper support
      • Crypt target support
  • Cryptographic options
    • AES cipher algorithms

Nach einem erfolgreichen Booten des neuen Kernels, können wir noch überprüfen ob die Module korrekt installiert sind:

1) Wir überprüfen ob die Device Mapper existieren:

Zitat von shell
# ls –L /dev/mapper/control
2) Wir überprüfen ob AES unterstützt wird:
Zitat von shell
# Modprobe aes
# cat /proc/crypto

b) Pakete

dmcrypt muss natürlich auch noch installiert werden. Dazu führen wir ganz einfach
Zitat von shell
# apt-get install cryptsetup
aus. Cryptsetup erleichtert uns das Arbeiten mit dmcrypt und da cryptsetup von dmcrypt abhängt, wird es auch gleich mitinstalliert.

Nach der Installation können wir mit

Zitat von shell
# dmsetup targets

crypt v1.0.0
striped v1.0.1
linear v1.0.1
error v1.0.1
überprüfen ob das Paket auch korrekt installiert wurde.

3. Partition verschlüsseln und verwenden

Nun beginnt der eigentliche Teil der ganzen Aktion. Wir werden nun eine Partition verschlüsseln. Diesen Vorgang werde ich in drei Unterpunkte teilen:

1) cryptsetup ausführen
2) Ein Filesystem auf dem neuen Device erstellen
3) Das neue Device einbinden


1) Cryptsetup benutzen

Wir führen ganz einfach folgendes Kommando aus:

Zitat von shell
# cryptsetup -y create <label> /dev/hdxy
Wobei ‚<label>’ eine Beschreibung des neuen Devices ist. ‚/dev/hdxy’ muss natürlich entsprechend der Festplatte und Partition angepasst werden. Die Option ‚–y’ lässt das Passwort zwei mal abfragen.
Anschließend lässt sich mit

Zitat von shell
# dmsetup ls

Überprüfen ob die Aktion geglückt ist.

(Wichtig: merkt euch, was ihr für <label> angegeben habt! Ihr werdet es noch brauchen )

2) Dateisystem erstellen

Wir müssen nun ein Dateisystem auf dem neu erstellten Device erstellen. Dazu ist es euch überlassen, welches Dateisystem ihr bevorzugt. Ich nutze das ext3-FS.

Zitat von shell
# mkfs.ext3 /dev/mapper/<label>
Wer das ReiserFS bevorzugt, nutzt folgendes Kommando:

Zitat von shell
# mkfs.reiserfs /dev/mapper/<label>
3) Device einbinden

Schließlich muss die Verschlüsselte Partition noch eingebunden werden:

Zitat von shell
# mount /dev/mapper/<label> /mnt/cryptodrive
4. Automatisieren

Da nun aber nach jedem Neustart des Systems die mit cryptsetup erstellten Devices ‚zerstört’ werden, sind wir gezwungen sie jedes Mal neu zu erstellen. Um dem entgegenzuwirken, werden wir uns ein kleines Script schreiben, welches dies für uns übernimmt.

Wir starten also den bevorzugten Editor und schreiben den folgenden Text in die Datei.

Zitat von cryptoscript

if [ -b /dev/mapper/<label> ]; then
/sbin/cryptsetup remove <label>
fi
/sbin/cryptsetup create <label> /dev/hdxy
mount /dev/mapper/<label> /mnt/crypto
Zu Beachten ist hierbei, dass ihr wieder ‚<label>’, ‚/dev/hdxy’ sowie euren Mountpunkt ‚/mnt/crypto’ anpassen müsst!

Schließlich führen wir das Script aus das war’s schon.
Wünsche euch viel Spaß beim crypten

Bewertung zu diesem Post
HG stimmt zu: Sehr schönes und übersichtliches howto

C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.