::- date: 20211028 time: 17:26:21 UTC -::  ::- your IP -> 3.239.2.222 -::
-->

Debian Lenny 5.0 fernverschlüsselt

von am 13 Mrz. 2009, gespeichert unter Linux

Wer möchte schon seine Daten in einem fremden Rechenzentrum allen möglichen neugierigen Admins freiwillig zum Anschauen übergeben, nach dieser Anleitung ist das definitiv nicht mehr nötig 🙂

Wir gehen bei dieser Anleitung davon aus, dass der Hoster sein Debian nach Standard installiert hat, also eine Partition fürs Root Filesystem und eine Swappartition. Für uns gilt in dieser Anleitung dabei:
/dev/sda1 Rootfilesystem
/dev/sda5 Swap

Wenn wir fertig sind haben wir:
/dev/sda1 Bootfilesystem
/dev/sda3 Rootfilesystem verschlüsselt
/dev/sda5 Swap verschlüsselt

Los gehts …


swapoff /dev/sda5
sfdisk /dev/sda --change-id 5 83
mkfs.ext3 /dev/sda5
mount /dev/sda5 /mnt
aptitude install debootstrap
pkg=openssh-server,cryptsetup,dmsetup,grub,console-data,parted,mc,vim
debootstrap --include=$pkg lenny /mnt http://ftp.de.debian.org/debian
cp -a /etc/network/interfaces /mnt/etc/network/
cp -a /etc/hosts /etc/hostname /etc/resolv.conf /mnt/etc
cp -a /etc/ssh/* /mnt/etc/ssh/
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
aptitude update
aptitude install linux-image-2.6-686
aptitude install locales
dpkg-reconfigure locales

dort auf de_UTF8 stellen,
echo "/dev/sda5 / ext3 defaults 0 0" > /etc/fstab
passwd

Wir brauchen ein Root Passwort sonst lässt uns der openssh-server nachher nicht mehr rein 🙂
exit
Datei /boot/grub/menu.lst editieren, default auf
default saved
fallback 0

ändern. Am Ende der menu.lst folgendes eintragen,
title Mini
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro
initrd /initrd.img
savedefault 0

Auf der Konsole,
grub-set-default 2
Den Grub aufs Mini Debian einstellen,
reboot
im Mini Debian dann,
grub-install /dev/sda
grub-set-default 2
mount /dev/sda1 /mnt/
cp /mnt/boot/grub/menu.lst /boot/grub/

dort die letzte Zeile
savedefault 0
entfernen, dafür bei default saved auf fallback 2 stellen.
umount /mnt
Root Partition löschen, dann /boot als erste Partition anlegen, / auf Große Partition legen. /boot als bootable eintragen
grub-set-default 2
reboot
dd if=/dev/zero of=/dev/sda1 bs=1024k
dd if=/dev/zero of=/dev/sda3 bs=1024k

Partitionen wirklich leer machen,
cryptsetup --verify-passphrase --verbose --hash=sha256 \
--cipher=aes-cbc-essiv:sha256 --key-size=256 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 root
mkfs.ext3 /dev/mapper/root
mkfs.ext3 /dev/sda1
mount /dev/mapper/root /mnt/
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
aptitude install debootstrap
pkg=openssh-server,cryptsetup,dmsetup,grub,console-data,parted,mc,vim
debootstrap --include=$pkg lenny /mnt http://ftp.de.debian.org/debian
cp -avx /boot/* /mnt/boot/
cp -a /etc/network/interfaces /mnt/etc/network/
cp -a /etc/hosts /etc/hostname /etc/resolv.conf /mnt/etc
cp -a /etc/ssh/* /mnt/etc/ssh/
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

Im chroot dann folgendes,
aptitude update
aptitude install locales linux-image-2.6-686
dpkg-reconfigure locales -> de_DE.UTF8
aptitude install busybox psmisc cryptsetup dropbear
s=/usr/share/initramfs-tools
d=/etc/initramfs-tools
cp $s/hooks/{cryptroot,udev} $d/hooks/
cp $s/scripts/init-premount/udev $d/scripts/init-premount/
cp $s/scripts/local-top/cryptroot $d/scripts/local-top/

dropbear script kopieren nach /etc/initramfs-tools/hooks/ im chroot, also von ausserhalb /mnt/etc/initramfs-tools/hooks/
Im script ab Zeile  136 die Netzwerkeinstellungen anpassen, das script gibt es hier,
dropbear
vi /etc/crypttab
dort,
root /dev/sda3 none luks
einfügen. Die /etc/fstab anpassen:
proc /proc proc defaults 0 0
/dev/mapper/root / ext3 errors=remount-ro 0 1
/dev/sda1 /boot ext3 defaults 0 0

dann,
passwd
exit

Den Grub sicherheitshalber wieder setzen,
grub-set-default 2
reboot

Nach dem Neustart einloggen,
cryptsetup luksOpen /dev/sda3 root
mount /dev/mapper/root /mnt/
mount /dev/sda1 /mnt/boot
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
touch /var/log/dropbear

ACHTUNG!!!
Unbedingt den public_key in /root/.ssh/authorized_keys hinterlegen, der wird in die ramdisk eingebaut.
mkinitramfs -o /boot/initrd.luks
exit
grub-install --root-directory=/mnt /dev/sda

danach /mnt/boot/grub/menu.lst ändern, ganz am Ende einfügen
title Debian Crypted, kernel 2.6.26-1-686
root (hd0,0)
kernel /vmlinuz-2.6.26-1-686 root=/dev/mapper/root ro quiet
initrd /initrd.luks
savedefault 2

Auf der Konsole,
grub-set-default --root-directory=/mnt 3
reboot

jetzt müsste der Server unter Port 26 per ssh horchen,
/boot/grub/menu.lst anpassen
default 0
einstellen, Zeile 62
# kopt=root=/dev/mapper/root ro
und an Stelle 0 dies einfügen,
title Debian Crypted, kernel 2.6.26-1-686
root (hd0,0)
kernel /vmlinuz-2.6.26-1-686 root=/dev/mapper/root ro quiet
initrd /initrd.luks

In der Konsole,
grub-set-default 0
reboot
sfdisk /dev/sda --change-id 5 82
echo "swap /dev/sda5 /dev/urandom swap" >> /etc/crypttab

Damit haben wir eine verschlüsselte Swap Partition aktiviert, /etc/fstab anpassen,
/dev/mapper/swap none swap sw 0 0
reboot

Fertig 🙂

Schreib ein Kommentar...

Keine Kommentare zugelassen.

Suche

Du kannst hier deine Suchwörter eingeben.