Установка на шифрованный раздел root
Примечание: Обратите внимание на следующее, если Wы хотите зашифровать корневой раздел или раздел данных:
- Это руководство доступно с aptosid-2010-03-apate и позже.
- Оно является основным. Это Ваша ответственность, чтобы узнать больше о LUKS, cryptsetup и шифрования. Допольнительные сообщения Вы найдете в конце страницы. Однако список является определенно не исчерпывающим.
- cryptsetup не может зашифровать существующие разделы данных. Поэтому Вы должны создать новый раздел, установить его с cryptsetup, а затем записывать в него свои данные.
- Вы можете также использовать ключевые файлы и несколько ключей для данных (до 8), в том числе удаление ключей. Но это уже выходит из рамки данного пособия.
- Не забудьте записать все свои пароли перед зашифрованием разделов данных! Без него Вы не сможете получить доступ на данные! И также а помощи Chroot и с паролями Вам доступно только на /boot.
- Пароль запрашивается в начале процесса загрузки и система будет загружаться, как ожидается.
Примеры шифрования:
Шифрование в пределах групп LVM
Этот пример использует шифрование внутри группы LVM. Это позволяет Вам, разделить Ваш home from / и использовать раздел swap, не нуждаясь в многократных паролях. Это применяется с aptosid-2010-03-apate и выше.
Before running the installer you must prepare the filesystems which will be used for the installation. For basic LVM partitioning guidelines, you need to refer to Logical Volume Manager - LVM partitioning.
You will need at least an unencrypted /boot filesystem and an encrypted / filesystem and also create encrypted /home and swap filesystems.
- If you are not planning to use an existing lvm volume group then create a normal lvm volume group. This example will assume that the volume group is called vg to hold your boot and encrypted data.
- You will need a logical volume for /boot and the encrypted data so use lvcreate to create the logical volumes in vg volume group with the sizes you want:
lvcreate -n boot --size 250m vg lvcreate -n crypt --size 300g vg
Here you have named the logical volumes boot and crypt and made them 250Mb and 300Gb respectively. - Create the filesystem for /boot so it will be available in the installer:
mkfs.ext4 /dev/mapper/vg-boot
- Use cryptsetup to encrypt vg-crypt using the faster xts option with the highest strength key length of 512bit and then open it. This will ask you for your password twice to set it and then a third time to open it. Open it here under the default boot time cryptopts target name of cryptroot:
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
- Now use lvm inside the encrypted device to create a second volume group that will be used for the /swap and /home devices. pvcreate cryptroot to make it a physical volume and use it with vgcreate to create another volume group, we call it cryptvg:
pvcreate /dev/mapper/cryptroot vgcreate cryptvg /dev/mapper/cryptroot
- Next use lvcreate with the new encrypted cryptvg volume group to create the / , /swap and /home logical volumes with the sizes you want:
lvcreate -n swap --size 2g cryptvg lvcreate -n root --size 40g cryptvg lvcreate -n home --size 80g cryptvg
Here you have named the logical volumes swap, root and home and made them 2Gb, 40Gb and 80Gb respectively. - Create the filesystems for cryptvg-swap, cryptvg-root and cryptvg-home so they are available in the installer:
mkswap /dev/mapper/cryptvg-swap mkfs.ext4 /dev/mapper/cryptvg-root mkfs.ext4 /dev/mapper/cryptvg-home
- Теперь Вы готовы запустить инсталлятор, в котором Вы должны использовать:
vg-boot для /boot,
cryptvg-root для /,
cryptvg-home для /home,
и cryptvg-swap
swap должен быть автоматически признан.
В конечном итоге установленная система должна иметь командную строку ядра со следующими вариантами:
root=/dev/mapper/cryptvg-root cryptopts=source=/dev/mapper/vg-crypt,target=cryptroot,lvm=cryptvg-root
Теперь у Вас есть скреп и загрузиться под группу томов LVM В.Г. и корень, раздел данных и свопа в объеме vgcrypt LVM группу, которая находится внутри защищен паролем зашифрованного устройства. You now have the crypt and boot under the vg lvm volume group and the root, home and swap inside the vgcrypt lvm volume group which is inside your password protected encrypted device.
cryptsetup luksOpen /dev/mapper/cryptvg-root cryptvg vgchange -a y
Примечания для шифрования с традиционными методами разделения
The first thing to decide is how you want to layout your disk. You will need a minimum of 2 partitions, one normal partition for your /boot and one for the encypted data.
Assuming you require swap (which should also be encrypted) you will need a third partition and will have to enter the password for swap seperately during bootup (so you will have two password prompts).
It is possible to use keys for the swap from inside the encrypted system with traditional partitioning, however you will not be able to suspend to disk. Due to these issues, the better option in the long term is to use LVM volumes with fully encrypted partitions and keys.
Основные предположения
- There are just 3 plain partitions on this disk:
/boot, of 250mb
swap, of 2 gig
/ and /home combined (for example, the balance). - 2 passphrases will be required, 1 for swap the other for the / and /home combined.
Now that you have the partitioning done, you need to prepare the encrypted partitions so that they will be recognised by the installer.
If you have been using a GUI partitioning application, close it and open a terminal, as the encryption commands need to be done from the command line.
Раздел /boot
Make the /boot partition an ext4 partition, if you have not already done so:
/sbin/mkfs.ext4 /dev/sda1
Шифрованный раздел swap
For the encrypted swap you first need to format and open the raw device, /dev/sda2, as an encrypted device, like the vg-crypt device above but opening it under a different name, swap.
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda2
cryptsetup luksOpen /dev/sda2 swap
echo "swap UUID=$(blkid -o value -s UUID /dev/sda2) none luks" >> /etc/crypttab
Format the created /dev/mapper/swap so it will be recognised by the installer:
/sbin/mkswap /dev/mapper/swap
Шифрованный раздел /
For the encrypted / you first need to format and open the raw device, /dev/sda3, as an encrypted device, like the vg-crypt device above.
cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 cryptroot
Format the created /dev/mapper/cryptroot so it will show up in the installer:
/sbin/mkfs.ext4 /dev/mapper/cryptroot
Запуск программы инсталляции
Теперь Вы готовы запустить инсталлятор, где Вы должны использовать:
sda1 для /boot,
cryptroot для / и /home
swap должен быть автоматически признан.
Установленная система должна иметь командную строку ядра со следующими параметрами (если Ваш UUID будет использоваться):
root=/dev/mapper/cryptroot cryptopts=source=UUID=12345678-1234-1234-1234-1234567890AB,target=cryptroot
Теперь у Вас есть обычный раздел /boot, зашифрованный и защищенный паролем swap вместе с корневым разделом / и /home.
Источники и ресурсы:
Прочитайте необходимо:
man cryptsetup
LUKS.
Защитите ваши данные с зашифрованным разделением Linux (англ.).
Как используют зашифрованные изображения в KVM (англ.).