Yumベースの展開(CentOS)で非AESアルゴリズムを使用してLUKS暗号化ドライブに適切な手動OSを設定する

Yumベースの展開(CentOS)で非AESアルゴリズムを使用してLUKS暗号化ドライブに適切な手動OSを設定する

/boot別のパーティションとlvmを使用してEFIフレンドリーなマザーボードにLUKS暗号化CentOS 7インストールを実装しようとしています。

以前のCentOS(GUIからインストール)から新しいCentOSインストールを分割しました。

sdb             8:16   0 745,2G  0 disk  
├─sdb1          8:17   0   200M  0 part  /home/user/target/boot/efi
├─sdb2          8:18   0     1G  0 part  /home/user/target/boot
├─sdb3          8:19   0   700G  0 part  
│ └─crypto    253:3    0   700G  0 crypt 
│   ├─lv-swap 253:4    0    16G  0 lvm   
│   ├─lv-root 253:5    0    50G  0 lvm   /home/user/target
│   └─lv-home 253:6    0   634G  0 lvm   /home/user/target/home

CentOS chrootからのブートも成功しました(使用これそしてこれチュートリアル)これでブートイメージを作成する準備が整いました。

問題は、cryptsetupで非標準アルゴリズムを使用することに決めたことです。

cryptsetup -v --cipher serpent-xts-plain64 --key-size 512 --hash sha256 --iter-time 3000 --use-random luksFormat /dev/sdb3

今私のパラメータを使って正しいinitrdを生成する方法を知りたいです。

チュートリアルでは、次のステップが次のようになることを伝えます。

mkinitcpio -p linuxただし、正しく機能するためのmkinitcpioコマンドや/etc/mkinitcpio.conf変更HOOKSリストはありません。lvmencrypt

initrdしかし、rpmベースの分布に関する知識が不足して、これだけでは見慣れませんでした。私の場合のinitrdの例を検索することは幸運ではありませんでした。

/bootchrootには複数のファイル/ディレクトリがあります。

bash-4.2# ls
config-3.10.0-514.16.1.el7.x86_64  grub2                                     symvers-3.10.0-514.16.1.el7.x86_64.gz
efi                                initramfs-3.10.0-514.16.1.el7.x86_64.img  System.map-3.10.0-514.16.1.el7.x86_64
grub                               lost+found                                vmlinuz-3.10.0-514.16.1.el7.x86_64

ただし、起動中にこれらのファイルが生成されると、スネーク暗号化またはlukをサポートしているかどうか疑われます。

だから私の質問は、カーネルイメージの作成からlukとserpentを使用して適切なブートツールチェーンを作成する方法です。

initramfs代わりに使用する必要があるため、initrdこのアプローチのヒントも高く評価されます。

答え1

最後に設定が完了し、制限された手順でCentOS 7で設定を実行する方法を共有する準備が整いました。

私はパーティショニングと手動ブートをスキップしました。他の場所でも完全なマニュアルがたくさんあります。

したがって、次のパーティション化バリアントを試してください。

sdb             8:16   0 745,2G  0 disk  
├─sdb1          8:17   0   200M  0 part
├─sdb2          8:18   0     1G  0 part
└─sdb3          8:19   0   700G  0 part  
  └─crypto    253:3    0   700G  0 crypt 
    ├─lv-swap 253:4    0    16G  0 lvm   
    ├─lv-root 253:5    0    50G  0 lvm
    └─lv-home 253:6    0   634G  0 lvm   

次に、必要なドライバをインストールして次のようにします。

sdb             8:16   0 745,2G  0 disk  
├─sdb1          8:17   0   200M  0 part  /home/user/target/boot/efi
├─sdb2          8:18   0     1G  0 part  /home/user/target/boot
└─sdb3          8:19   0   700G  0 part  
  └─crypto    253:3    0   700G  0 crypt 
    ├─lv-swap 253:4    0    16G  0 lvm   
    ├─lv-root 253:5    0    50G  0 lvm   /home/user/target
    └─lv-home 253:6    0   634G  0 lvm   

ステップ0。 chrootスクリプトを準備します。再起動するたびに繰り返すのはmount面倒だったので、次の基本的なchrootスクリプトを使用しました。

#!/bin/bash
sudo mount /dev/mapper/lv-root /home/user/target
sudo mount /dev/sdb2 /home/user/target/boot
sudo mount /dev/sdb1 /home/user/target/boot/efi
sudo mount --bind /proc /home/user/target/proc
sudo mount --bind /dev /home/user/target/dev
sudo mount --bind /sys /home/user/target/sys
sudo chroot /home/user/target /bin/bash -l

ステップ1。不足しているEFI固有のモジュールをインストールします(chrootの外側):

sudo yum --installroot=/home/user/target install -y efibootmgr grub2-efi-modules

ステップ2。編集/etc/crypttab

crypto UUID=UUID_of_/dev/sdb3 none luks,discard

理由discard- より良いTRIMパフォーマンスを得るためにSSDを使用し、いくつかのセキュリティを無視しました。詳細

ステップ3。編集/etc/dracut.conf

omit_dracutmodules+="systemd"
add_dracutmodules+="crypt lvm" #sequencing could matter
hostonly="yes" #optional
lvmconf="yes"

ステップ4。編集/etc/fstab

UUID=UUID_of_/dev/sdb1                      /boot/efi       vfat    umask=0077  0 0
UUID=UUID_of_/dev/sdb2                      /boot           ext2    defaults    0 0
UUID=UUID_of_/dev/mapper/lv-root            /               ext4    defaults    0 0
UUID=UUID_of_/dev/mapper/lv-home            /home           ext4    defaults    0 0
UUID=UUID_of_/dev/mapper/lv-swap            none            swap    sw          0 0

ステップ5。編集/etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_CMDLINE_LINUX="rd.lvm.lv=lv/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rd.luks.options=discard rd.luks.uuid=UUID_of_/dev/sdb3 crashkernel=auto rd.lvm.lv=lv/root rd.lvm.lv=lv/home nomodeset"
GRUB_THEME="/boot/grub2/themes/system/theme.txt"

rd.luks.options=discard- 重複することがありますので修正お願いします。

nomodeset- ハードウェアドライバの並行性の削除(EFI VGAを使用したnoveufb)

ステップ6。実行grub2-mkconfig -o /boot/grub2/grub.cfg

ステップ7。実行grub2-install --target=x86_64-efi --efi-directory=/boot/efi

ステップ8。実行dracut -fv

特に明記しない限り、上記の手順はすべてchroot内で完了する必要があります。

選択した暗号化アルゴリズムは、いかなる方法でも影響を受けないことがわかりました。 grubは必要なすべてのドライバを自動的にロードします。

私に役立つ資料は次のとおりです。12サム45

関連情報