Erste Schritte – Zufallszahlen für die Festplatte – Willkommen in der Christlichen Blogger Community

HURRAAA!!!! WIR SIND UMGEZOGEN!!!! * BESUCHE UNSERE NEUE SEITE! »

Erste Schritte – Zufallszahlen für die Festplatte

By De Benny

Arch Linux hat ein eigenes Wiki für die Dokumentation, ähnlich wie Ubuntu. Dort gibt es auch einen Beginner’s Guide, an dem ich mich orientiere. Dort ist auch die Download Seite verlinkt. Dort sucht man sich einen möglichst nahe gelegenen Mirror aus und das gewünschte ISO. Ich habe mich für das Dual ISO entschieden, weil ich mir zu dem Zeitpunkt noch nicht sicher war, ob der fragliche Laptop mit 64 Bit klarkommt und ich gerne Ausweichmöglichkeiten habe.

Ebenfalls im Beginner’s Guide verlinkt ist eine Seite mit Anweisung zur Vorbereitung eines USB Sticks als Bootmedium. Wenn man schon ein Linux System zur Verfügung hat, geht das ganz leicht mit

dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync

Wobei /dev/sdx durch die tatsächliche Devicedatei des USB Sticks ersetzt werden muß. Der Aufruf von sync am Ende sorgt dafür, daß die Daten auch tatsächlich gleich auf den USB Stick geschrieben werden.

Dann noch das BIOS auf dem Laptop ändern, damit vom USB Stick gebootet wird und nicht von der Windows Platte, Stick rein, booten, und nach kurzer Zeit meldet sich das Bootmenu mit mehreren Optionen:

  • Boot Arch Linux (x86_64)
  • Boot Arch Linux (i686)
  • Boot existing OS
  • RunMemtest86+ (RAM test)
  • Hardware Information (HDT)
  • Reboot
  • Power Off

Da ich die Dual ISO geladen hatte, kann ich nun auswählen zwischen der 64 Bit Version (x86_64) und der 32 Bit Version (i686). Das existierende OS, zu dem Zeitpunkt Windows, will ich nicht mehr booten. Von Interesse für mich ist noch die Hardware Information, da ich nicht weiß, ob ich die 64 Bit Version benutzen kann oder die 32 Bit Version brauche. Ich wähle also Hardware Information, gehe auf Processor und sehe da in der 17 Zeile x86_64 : Yes. Der Prozessor ist also 64 Bit fähig.

Jetzt am einfachsten nicht auf Exit gehen, sondern auf Reboot, da man sonst in eine Grub Konsole kommt und möglicherweise etwas desorintiert ist, denn das Boot menu ist verschwunden. Nach dem Reboot erscheint es wieder. Der Prozessor kann 64 Bit, also wird die 64 Bit Version (x86_64) ausgewählt und gebootet. Wir kommen direkt als root auf die Kommandozeile.

Der Beginner’s Guide empfiehlt nun, das passende Tastatur Layout zu laden. Mit loadkeys de bekommt man zwar Z und Y a udfie jeweils richtige Taste für das deutsche Keyboard, die Sonderzeichen bleiben allerdings dort, wo sie waren. Sprich: Man muß suchen, wenn man das amerikanische Layout nicht kennt. Das sollte mit etwas Geduld jedoch erträglich sein.

Die W-Lan Verbindung wird auch recht einfach eingerichtet. Mit

iw dev

bekommt man den Namen des Interfaces heraus, mit

wifi-menu <Interfacename>

startet ein Einrichtungsassistent.

Im ersten Menu wählt man das W-LAN Netz aus, im zweiten Menu gibt man dem Kind einen Namen, im dritten Menu trägt man den Sicherheitsschlüssel ein, falls es sich nicht um ein offenes Netz handelt.

Mit

ping google.de

kann man prüfen, ob das Internet auch wirklich erreichbar ist. Falls nicht, kommt eine Fehlermeldung, falls ja, kommen immer neue Rückmeldungen, abbrechen kann man bekanntlich mit Strg-C.

Wie bereits erwähnt hatte ich beim Durchstöbern des Beginner’s Guide (und der dort verlinkten Seiten zur Verschlüsselung und LVM) beschlossen, die Festplatte komplett zu verschlüsseln und von einem USB Stick zu booten (LVM soll auch zum Einsatz kommen, aber so weit sind wir noch nciht). Der erste Schritt dazu ist, die komplette Festplatte mit Zufallswerten zu überschreiben.

Ziel ist es, am Ende, nach Installation des Systems keine Informationen zu den Auf der Festplatte befindlichen Daten zu geben. Würde die gesamte Festplatte einfach mit Nullen überschrieben, könnte man später erkennen, wo keine Daten gespeichert sind, und wo verschlüsselte Daten liegen. Durch das Überschreiben mit Zufallswerten gibt man den Angreifern keinen Ansatz, wo sie überhaupt nach Daten suchen sollen. Man könnte sogar behaupten, die Festplatte enthalte noch gar keine Daten und sei noch nicht einmal formatiert. Zumindest so lange, bis die Verschlüsselung geknackt ist. Einen Anhalt, gegen welche Angriffe die Verschlüsselung hilft und wo sie nicht hilft, gibt es auf der Arch Wiki Seite zur Festplattenverschlüsselung. Man sollte sich nicht naiv der Illusion hingeben, daß es eine 100%ige Sicherheit gibt, man kann es potentiellen Angreifern aber mit hinreichend starken Sicherheitsvorkehrungen zumindest den Spaß verderben.

Wie das Überschreiben der Platte mit Zufallszahlen geht, erfahren wir auf der Arch Wiki Seite zur sicheren Festplattenlöschung. Mit

fdisk -l

erfahren wir den Devicenamen der fraglichen Festplatte, in meinem Fall /dev/sda. Interessant ist ebenfalls die Plattengröße in Bytes, die Anzahl der Sektoren und die Sektorengröße, wie wir später erfahren werden.

Bei der Durchführung habe ich mich für das fortgeschrittene Beispiel entschieden. Dabei werden die Zufallswerte von OpenSSl erstellt, außerdem wir ein Fortschrittsbalken angezeigt:

DISK_SIZE=$(df -B1 /dev/<drive> | tail -n1 | tr -s ' ' | cut -d' ' -f2)
PHYS_BLOCK_SIZE=$(cat /sys/block/<drive>/queue/physical_block_size)
NUM_BLOCKS=$((DISK_SIZE / PHYS_BLOCK_SIZE))

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/random bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | pv -bartpes $DISK_SIZE | dd bs=$PHYS_BLOCK_SIZE count=$NUM_BLOCKS of=/dev/<drive>

Das erste Problem dabei ist, daß der Fortschrittsbalken das Programm pv voraussetzt, das auf dem Installationsstick nicht zur Verfügung steht. Auch ein

pacman -S pv

schafft keine Abhilfe, da pacman über keine Datenbankinformationen verfügt.

Eine Möglichkeit, dem Abzuhelfen wäre, den Fortschrittsbalken einfach wegzulassen:

DISK_SIZE=$(df -B1 /dev/<drive> | tail -n1 | tr -s ' ' | cut -d' ' -f2)
PHYS_BLOCK_SIZE=$(cat /sys/block/<drive>/queue/physical_block_size)
NUM_BLOCKS=$((DISK_SIZE / PHYS_BLOCK_SIZE))

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/random bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | dd bs=$PHYS_BLOCK_SIZE count=$NUM_BLOCKS of=/dev/<drive>

Allerdings dauert so eine Überschreibung der Festplatte einige Zeit (in meinem Fall, 300 GB waren es etwa fünfeinhalb Stunden) und ein Fortschrittsbalken ist da schon hilfreich, um es zumindest ungefähr abschätzen zu können.

Also holen wir uns die Liste der Pakete vom Arch Server, um die Datenbank von pacman zu füllen, per

pacman -Sy

, dann installieren wir pv mittels

pacman -S pv

.

Das zweite Problem ist, daß die Plattengröße in dem Skript per

df -B1 /dev/sda

(in meinem Fall ist die Festplatte wie gesagt unter /dev/sda) bestimmt werden soll. Blöderweise (warum auch immer) zeigt mir df aber eine falsche Plattengröße an. Abhilfe kann geschaffen werden, indem man den von

fdisk -l

erhaltenen Wert per Hand einträgt. Das Ganze dann in eine Datei schreiben (

nano platteplaetten

), die Datei mittels

chmod +x platteplaetten

ausführbar machen und per

./platteplaetten

ausführen.

Der Vorgang kann einige Zeit dauern. Am Ende bekommt man eine Meldung, wie viele Sektoren überschrieben wurden. Die Festplatte ist nun mit Zufallszahlen überschrieben. Als nächstes steht die Einrichtung der verschlüsselten Partitionen an.

Update: Entschuldigung wegen der Code Listings. Irgendwie krieg ich das nicht hin, daß WordPress mir das nicht verhaut. Die entsprechenden Arch Wiki Seiten stellen es korrekt dar…

Update: Durch das wunderbare Plugin Crayon Syntax Highlighter, das auch im visuellen Editor von WordPress den Umgang mit Code erlaubt (sogar HTML!), sollten die Code Listings jetzt brauchbar sein. Falls ich was übersehen hab, bitte melden.










Share 'Erste Schritte – Zufallszahlen für die Festplatte' on LinkedIn
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on meinVZ
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on MySpace
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Pinterest
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Posterous
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on reddit
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Scoop.it
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Soup.io
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on studiVZ
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Tumblr
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Twitter
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on WordPress
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on XING
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Email
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Gmail
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on Google Translate
Share 'Erste Schritte – Zufallszahlen für die Festplatte' on HootSuite

From:: Erste Schritte – Zufallszahlen für die Festplatte

About the author

Chrblocom

Click here to add a comment

Leave a comment: