誤家庭における小規模ネットワーク構築/ルートファイルシステム暗号化
ナビゲーションに移動
検索に移動
PCで作業
ルートファイルシステムのバックアップ
$ sudo rsync -aHAX --numeric-ids --info=progress2 \
/mnt/rpi-root/ /mnt/backup/
LUKS2で暗号化
$ sudo cryptsetup luksFormat \
--type luks2 \
--cipher aes-xts-plain64 \
--key-size 512 \
--hash sha256 \
--pbkdf argon2id \
--iter-time 2000 \
/dev/sdX
$ sudo cryptsetup open /dev/sdX cryptroot
$ sudo mkfs.ext4 -L rootfs /dev/mapper/cryptroot
ルートファイルシステムの復元
sudo rsync -aHAX --numeric-ids \
--info=progress2 \
/mnt/backup/ \
/mnt/newroot/
ファイルシステムの設定ファイルを修正
/etc/fstab
/dev/mapper/cryptroot / ext4 defaults,noatime 0 1
/etc/crypttab
$ sudo cryptsetup luksUUID /dev/sdX
cryptroot UUID=XXXXXX none luks
chrootして作業
$ sudo cp /usr/bin/qemu-aarch64-static /mnt/usr/bin/
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /dev/pts /mnt/dev/pts
$ sudo mount -t proc /proc /mnt/proc
$ sudo mount -t sysfs /sys /mnt/sys
$ sudo mount -t tmpfs /run /mnt/run
$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
$ sudo mount /dev/sdX /mnt/boot/firmware
$ sudo chroot /mnt /usr/bin/qemu-aarch64 /bin/bash
cryptsetupのインストール
$ apt update
$ apt install cryptsetup cryptsetup-initramfs
/etc/initramfs-tools/initramfs.conf
MODULES=most
cmdline.txt
root=/dev/mapper/cryptroot
削除
quiet splash
initramfsの更新
$ update-initramfs -u -k 6.18.39+rpt-rpi-v8
$ update-initramfs -u -k 6.18.39+rpt-rpi-2712
後処理
$ sudo umount /mnt/dev/pts
$ sudo umount /mnt/dev
$ sudo umount /mnt/proc
$ sudo umount /mnt/sys
$ sudo umount /mnt/run
$ sudo umount /mnt/boot/firmware
$ sudo umount /mnt
$ sudo cryptsetup close cryptroot