Einführung

Auf einem Notebook sind oft private Daten, welche nicht in andere Hände geraten sollen. Deshalb habe ich mein Notebook komplett verschlüsselt. Ich muss mir dann keine Gedanken machen, wenn ich mein Notebook verliere oder es gestohlen wird. Diese Installation legt Logical Volumes auf einer mit LUKS verschlüsselten Partition an.

Ist mein Notebook dafür geeignet?

Neuere Prozessoren verfügen über eine AES Befehlssatzerweiterung mit welcher AES Verschlüsselungen und Entschlüsselungen erheblich beschleunigt werden.

Folgendermassen kann man feststellen, ob eine CPU die AES Befehlssatzerweiterung kennt:

g r e p - q a e s / p r o c / c p u i n f o & & e c h o D e i n P r o z e s s o r k e n n t d i e A E S B e f e h l s s a t z e r w e i t e r u n g !

Prüfen, ob das Modul dafür geladen ist:

$ a a a c e e e r l s s s y s n _ _ p m i x g t o _ 8 e d d i 6 n n _ e | t 6 r e 4 i g l c r e p a e s 4 2 3 7 6 8 1 5 1 7 5 0 3 4 4 8 8 1 1 1 2 6 8 a a g e e h s s a n n s i i h _ _ _ i i c n n l t t m e e u l l l , n a i e _ s i _ n x t 8 e 6 l _ , 6 a 4 e s n i _ i n t e l

Informationen zu diesem Modul anzeigen:

$ f a l d a d i v i l i e l e n e m l i c s i p t r o e a e c a e r m d n s n r s n e a i a : s i : d e g n m e p s : i f e : t : c o : i : o a n e : s n i _ i / a G R x c Y 3 n l e P i 8 r . t i s L j 6 y 4 e b n c p . l / d p t 4 m a u d - o e : , 2 d l v a - u e e A l ( n s R e A d - C s E o x H / S r 8 3 ) : 6 S . * _ M 4 C : 6 P . i f 4 4 p a , p - h m a r 2 e i e e - r l s e A y _ m R A : g p C l * e t H g : n / o m e m k r o r o e i d i d r t e c _ n h l u e m : n l , * l / : o a I f a r n e d c t a h e t m / l u o x r d 8 A e v 6 E : e / S * r c - 0 s r N 0 i y I 9 o p 9 n t i * s o n / s a t e r s u n c i t - i i o n n t s e l o . p k t o i . m g i z z e d

Eine Liste, welche Programme die AES Befehlssatzerweiterung nutzen können, gibt es bei Wikipedia.

Natürlich kann diese Installation auch bei allen anderen Geräten vorgenommen werden, welche die AES Befehlssatzerweiterung nicht kennen.

ArchLinux herunterladen und auf einen USB-Stick kopieren

Die aktuellste Verion von ArchLinux findet man hier: http://archlinux.puzzle.ch/iso/latest/ Ich bevorzuge das “netinstall-dual” Image, weil dort beide Architekturen (x64 und x86_64) vorhanden sind und alle Pakete direkt vom Internet bezogen werden können.

ISO-Image herunterladen:

$ w g e t h t t p : / / a r c h l i n u x . p u z z l e . c h / i s o / l a t e s t / a r c h l i n u x - 2 0 1 1 . 0 8 . 1 9 - n e t i n s t a l l - d u a l . i s o

Prüfsummen herunterladen:

$ w g e t h t t p : / / a r c h l i n u x . p u z z l e . c h / i s o / l a t e s t / s h a 1 s u m s . t x t

ISO-Image mit den Prüfsummen überprüfen:

$ s h a 1 s u m - c h e c k s h a 1 s u m s . t x t 2 > / d e v / n u l l | g r e p O K

Die Ausgabe soll so aussehen:

a r c h l i n u x - 2 0 1 1 . 0 8 . 1 9 - n e t i n s t a l l - d u a l . i s o : O K

Jetzt kopiert man das Bootfähige ISO-Image auf einen USB-Stick (/dev/sdb enstpricht dem USB-Stick)

$ s u d o d d i f = a r c h l i n u x - 2 0 1 1 . 0 8 . 1 9 - n e t i n s t a l l - d u a l . i s o o f = / d e v / s d b

Sendet man in einem anderen Fenster das Signal 10 ( SIGUSR1) an den dd-Prozess, schreibt dd den Zwischenstand auf die Standardausgabe.

$ s u d o p k i l l - U S R 1 d d

ArchLinux starten

Man bootet vom USB-Stick. Der Username lautet root und benötigt kein Passwort. Ich nutze gerne den vi-Modus in der Shell um effizienter arbeiten zu können:

$ s e t v i

Dann muss noch das Tastaturlayout angepasst werden:

$ k m

Als Keymap verwende ich (für die Schweiz) i386/quertz/de_CH-latin1.map.gz und für die Console Font default8x16.psfu.gz.

Festplatten vorbereiten

Wir benötigen zwei Partitionen: Eine Boot-Partition und eine Partition die verschlüsselt wird. Die verschlüsselte Partition wird mit dem Logical Volume Manager ( LVM) in mehrere Logical Volumes ( LVs) unterteilt.

Partitionierungstool cfdisk starten:

# c f d i s k

Mit d werden alle Partitionen gelöscht und dann mit n eine neue angelegt. Die erste Partition ist die Boot-Partition und soll 100MB gross sein. Diese ist Bootbar und vom Type Linux ( 83). Die zweite Partition ist vom Type Linux LVM ( 8E) und ist so gross wie der Rest der Platte. Mit W werden die Änderungen gespeichert und mit q wird cfdisk beendet. Am Schluss soll das etwa so aussehen ( /dev/sda entspricht der Festplatte):

s s d d a a 1 2 B o o t P P r r i i m m a a r r y y L L i i n n u u x x L V M 1 5 0 0 0 0 M G B B

Festplatte verschlüsseln

Mit cryptsetup kann man die Festplatte verschlüsseln.

# c r y p t s e t u p - c a e s - x t s - p l a i n - y - s 5 1 2 l u k s F o r m a t / d e v / s d a 2

Man wird aufgefordert ein Passwort zweimal einzugeben.

Jetzt kann man die Festplatte entschlüsseln:

# c r y p t s e t u p l u k s O p e n / d e v / s d a 2 l u k s

Im Verzeichnis /dev/mapper/ ist die Festplatte jetzt unter LUKS verfügbar.

Logical Volume Manager einrichten

Jetzt legt man ein neues Physical Volume ( PV) an:

# p v c r e a t e / d e v / m a p p e r / l u k s

Das kann mit pvs und pvdisplay kontrolliert werden.

Danach wird die Volume Group ( VG) erstellt:

# v g c r e a t e r o o t v g / d e v / s d a 2

Das kann mit vgs und vgdisplay kontrolliert werden.

Nun werden mit lvcreate neue Logical Volumes ( LVs) angelegt:

# # # # l l l l v v v v c c c c r r r r e e e e a a a a t t t t e e e e - - - - n n n n s r v h w o a o a o r m p t e - - - - L L L l 4 2 5 1 G 5 G 0 G 0 - % C r r F o o R y o o E t t E r v v o g g r o o t o v t g v g

Mit -n kann man dem Logical Volume einen Namen geben. Die Option -C steht für contiguous und stellt sicher, dass die Datenblöcke direkt nacheinander liegen (damit ist das swappen schneller). Mit -L kann man eine fixe Grösse angeben und mit -l ist es möglich die verbleibenden LogicalExtents zu verwenden. Das kann mit lvs und lvdisplay kontrolliert werden.

Netzwerk herstellen

Hat man ein Netzwerkkabel, schliesst man das an und bezieht eine IP-Adresse per DHCP:

# # d p h i c n l g i e a n r t c h e l t i h n 0 u x . p u z z l e . c h

Hat man kein Netzwerkkabel, kann man mit dem wpa\supplicant` eine Verbindung über das WLAN herstellen:

# # # # w w d p p p h i a a c n _ _ l g p s i a u e a s p n r s p t c p l h h i w l r c l i a a a n s n n u e t 0 x . d - p e i u i z n w z e l l _ a e e n . s 0 c s h i - d c d w e p i a n . _ c p f a g s s - w B o r t | t e e w p a . c f g

Jetzt ist man parat für die eigentliche Installation.

ArchLinux installieren

  1. Setup starten**
# / a r c h / s e t u p

Mit OK bestätigen.

  1. Select Source*
S M e i l r e r c o t r : : c h o t r t e p - : r / e / m a o r t c e h l i n u x . p u z z l e . c h

Oder einen Mirror aus deiner Nähe auswählen.

  1. Set Editor
S e l e c t : v i ( a d v a n c e d )
  1. Set clock
1 - 2 - - 3 : : : E U N S u S T T R e r e C P e l o t t e p = # u c a t r t i W G n / m e l r e l e e Z t i g ü a z c i r n e h o i d i t n c t h d d a a i n t e d e Z t e i i m t e z m o i n t e e i n e m N T P - S e r v e r a b

Natürlich an deine Umgebung anpassen. Wenn die Uhr per NTP abgegleicht wird, stimmt sie genau.

  1. Prepare Hard Drive(s)
3 - - - - 5 : : P F D / / / / / D M a i e d d d d d o R a r l v e e e e e n e n t e i v e t u i s c / / / / / u a t y e s m m m m r l i s d a a a a n l o t a p p p p y n e 1 p p p p m e e e e C A e r r r r o c / / / / n c f r r r r f e o o o o o i s l o o o o g s g t t t t u e v v v v r M n g g g g e e d - - - - t e s r v h b h r w o a o l o m a o r m o d a p t e c : s k s d e d e n e v v a F e s e e e i u S x w x x x c s t a t t t e w T 2 p 4 4 4 s ä y , h p l e f e i n l e u s n M / y d b h s u o a o t k n o r m e o t t e m n p s f o i i a g n n u t d r i m e o r L b s r v h u e a o w o a o n n b o a o r m t : e t p t e p l o i n t s

Die Filesysteme wurden jetzt angelegt und können verwendet werden.

  1. Select Packages
- - B P o a o c t k l a o g a e d s e : r : b a g s r e u b ( G R U B b o o t l o a d e r )

Weitere Pakete können nach der Installation installiert werden.

  1. Install Packages
- - O C K o n u t n i d n u w e a r t e n . . .

Die Pakete werden vom ausgewählten Spiegelserver heruntergeladen und installiert. Dies kan eine Weile dauern.

  1. Configure System
# [ L U H . O S O v . C E S i . A L T ] L V N / E M A e = = M t " " E c d y = / e e " r _ s e c C " r . H i c . s o U " n T f F - 8 "
# [ / / / / t . d d d d d m v . e e e e e p i . v f ] / / / / / s / s m m m m e d a a a a t a p p p p c 1 p p p p / e e e e f r r r r s / / / / t r r r r a o o o o b o o o o t t t t v v v v g g g g - - - - r s h v o w o a o a m r t p e / s / / b w h t o a o a m o p m r p t e e e s e e t x x w x x m t t a t t p 2 4 p 4 4 f s d d d d d n e e e e e o f f f f f d a a a a a e u u u u u v l l l l l , t t t t t n s s s s s o s u 0 0 0 0 0 i d 1 1 0 1 1 0 0

Alle Logical Volumes sind bereits automatisch schön eigetragen.

# [ H . O v . O i . K ] S / = e " t b c a / s m e k i u n d i e t v c p a i u o t . o c d o e n t f e c t p a t a s c s i s a t a u s b u s b i n p u t k e y m a p e n c r y p t l v m 2 f i l e s y s t e m s f s c k "

Die Hooks usb und usbinput werden für USB-Tastaturen verwendet. Der Hook keymap wird verwendet, damit man das richtige Tastaturlayout hat. Der Hook encrypt wird zum Entschlüsseln verwendet und lvm2 wird für den Logical Volume Manager benötigt. Wichtig ist, dass man encrypt vor dem lvm2 Hook einfügt.

# [ 1 . 2 v . 7 i . . ] 0 / . e 0 t . c 1 / h o s t s _ l o c a l h o s t . l o c a l d o m a i n l o c a l h o s t e r i s

Der Hostname sollte bereits eingetragen sein.

Root-Passwort Das Root-Passwort muss man zweimal eingeben.

Mit Done beendet man diesen Schritt der Installation.

  1. Install Bootloader

Bei der Kernel-Zeile muss man Änderungen vornehmen, damit ArchLinux booten kann:

k e r n e l v m l i n u z - l i n u x c r y p t d e v i c e = / d e v / s d a 2 : r o o t v g r o o t = / d e v / m a p p e r / r o o t v g - r o o t r o l a n g = d e l o c a l e = d e _ C H . U T F - 8

Die Partition /dev/sda2 steht für die LUKS verschlüsselte Partition und rootvg ist der Name der angelegten Volume Group.

Der Bootloader wird in /dev/sda installiert:

I n s t a l l i n / d e v / s d a
  1. Exit Install
O K

ArchLinux wurde jetzt installiert und kann gebootet werden:

# r e b o o t

Viel Spass mit dem komplett verschlüsselten ArchLinux!