2020年5月6日水曜日

ArchLinuxインストール(LVM上でLUKS暗号化)

作業メモです。インストール部分については省略。

完成図
vda                   254:0    0    20G  0 disk
├─vda1              254:1    0   512M  0 part  /boot
└─vda2              254:2    0  19.5G  0 part
  ├─VGroup00-lvroot 253:0    0    15G  0 lvm
  │ └─cryptroot    253:2    0    15G  0 crypt /
  └─VGroup00-lvhome 253:1    0   4.5G  0 lvm
    └─crypthome     253:3    0   4.5G  0 crypt /home

目的

  • LVMを使用してパーティションのサイズを変更可能とする
  • /を暗号化
  • /homeを暗号化
  • UEFI+GPT+GRUBを使用


手順

  • パーティション(gdisk)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI system partition
   2         1050624        41943006   19.5 GiB    8E00  Linux LVM


  • 暗号化するパーティションの消去

cryptsetup open --type plain /dev/vda2 cnt --key-file /dev/random
dd if=/dev/zero of=/dev/mapper/cnt status=progress bs=1M
sleep 5
cryptsetup close cnt


  • Physical volumes、Volume groups、Logical_volumesの作成

pvcreate /dev/vda2
vgcreate VGroup00 /dev/vda2
lvcreate -L 15G -n lvroot VGroup00
lvcreate -l 100%FREE -n lvhome VGroup00


  • 暗号化

cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/mapper/VGroup00-lvroot
cryptsetup open /dev/mapper/VGroup00-lvroot cryptroot

※/dev/mapper/VGroup00-lvhomeは別途暗号化


  • フォーマット

mkfs.ext4 /dev/mapper/cryptroot
mount /dev/mapper/cryptroot /mnt
dd if=/dev/zero of=/dev/vda1 bs=1M status=progress
mkfs.fat -F32 /dev/vda1


arch-chroot後


  • パッケージの追加が必要
pacman -S lvm2 grub dosfstools efibootmgr


  • /etc/mkinitcpio.confのHOOKにlvm2とencryptが必要
HOOKS=(base udev autodetect modconf keyboard keymap block lvm2 encrypt filesystems keyboard fsck)


  • /etc/default/grubに追記が必要

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/mapper/VGroup00-lvroot:cryptroot
 root=/dev/mapper/cryptroot loglevel=3 quiet"

GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"


  • /dev/mapper/VGroup00-lvhomeの暗号化

mkdir -m 700 /etc/luks-keys
dd if=/dev/random of=/etc/luks-keys/home bs=1 count=256 status=progress
cryptsetup luksFormat -v -s 512 /dev/mapper/VGroup00-lvhome /etc/luks-keys/home
cryptsetup -d /etc/luks-keys/home open /dev/mapper/VGroup00-lvhome crypthome


  • フォーマット

mkfs.ext4 /dev/mapper/crypthome


  • /etc/crypttabに追記
crypthome /dev/mapper/VGroup00-lvhome /etc/luks-keys/home


0 件のコメント:

コメントを投稿

ChatGPTを英会話に使う

AIと幅広い対話を行うことができるChatGPTですが、英語教師の役割を担わせることも可能になっています。これを用いて英会話(チャット)による学習を行うことが可能です。 最初に必要なプロンプトを入力します。コピペして使ってください。 初心者 Let's think ste...