Включите шифрование диска после установки

Я бегу 13.10 Дерзко. Если я не включил шифрование диска во время установки, есть ли какой-нибудь способ включить его постфактум?

Я нашел этот, в котором говорится, что шифрование должно выполняться во время установки, но это также относится к Fedora. Я могу легко загрузиться на живой диск, если есть какой-либо способ сделать это оттуда.

Если вы хотите включить шифрование вашей домашней папки, вам необходимо будет установить и использовать эти пакеты: ecryptfs-utils и cryptsetup. Также вам понадобится другая учетная запись пользователя с правами администратора (sudo). Полная документация находится здесь:

Если вы хотите включить полное шифрование диска после установки, короткий ответ на данный момент, вероятно, таков: нет, ты не можешь. В любом случае, если вас это интересует, ваш вопрос дублирует:

Последующий вопрос: каковы преимущества и недостатки полного диска по сравнению с just / home?

Шифрование в /home выполняется с использованием файловой системы пользовательского пространства, называемой ecryptfs. Это очень хорошо сделано и тесно связано с системой авторизации по умолчанию, так что у вас не будет недостатков в удобстве использования: когда вы входите в свою учетную запись (либо из удаленной командной строки, либо с экрана входа по умолчанию), ваш пароль используется для разворачивания защищенного ключа, который затем используется для шифрования / дешифрования вашей учетной записи. файлы в вашем домашнем каталоге на лету (смонтированная файловая система будет находиться непосредственно в /home/username). При выходе из системы /home/username отключается, и в системе остаются видимыми только зашифрованные файлы (обычно в /home/.ecryptfs/username/.Private/). Они выглядят как куча скомканных / случайных файлов, поскольку имена файлов также зашифрованы. Единственная утечка информации - это размер файла, временные метки и количество файлов (при полном шифровании диска они также скрыты).

Если ваша система будет использоваться совместно несколькими пользователями, это очень хорошая функция, даже если вы решите добавить полное шифрование диска вместе с этим: безопасность полного шифрования диска отключена, когда компьютер запущен и работает, в то время как шифрование home (ecryptfs) включено, пока вы находитесь вышел из системы.

Таким образом, полное шифрование диска и домашнее шифрование не обязательно являются взаимоисключающими.

Вот список возможных настроек, в зависимости от различных потребностей в области безопасности:

  • ТОЛЬКО ПОЛНОЕ ШИФРОВАНИЕ ДИСКА: Если вы единственный, кто использует свой компьютер, и ваша машина может справиться с накладными расходами на полное шифрование диска (все современные настольные компьютеры могут сделать это незаметно для пользователя, нетбуки и старые ноутбуки не так много), вы можете использовать полное шифрование диска и поместить home в ту же часть, что и ваша ОС (/).
  • ПОЛНОЕ ШИФРОВАНИЕ ДИСКА и ШИФРОВАНИЕ HOME ECRYPTFS: Если вы беспокоитесь о том, что ваши личные данные будут прочитаны, когда ваш компьютер включен, или вы делитесь своим компьютером с другими пользователями, то вы можете иметь home в другом разделе от / и использовать ecryptfs с полным шифрованием диска (то есть шифрование / через LUKS)
  • ТОЛЬКО ШИФРОВАНИЕ HOME ECRYPTFS: Если вы не слишком беспокоитесь о том, что кто-то может взломать вашу систему, пока вас нет, но вы все равно хотите сохранить свои личные данные в безопасности, тогда пропустите полное шифрование диска и просто используйте ecryptfs (шифрование дома). Дополнительным бонусом этого сценария является то, что это довольно легко сделать устанавливать даже после вы установили Ubuntu, просто используя ecryptfs-migrate-home. Кроме того, это была настройка Ubuntu по умолчанию, прежде чем она изменилась несколько выпусков назад, добавив возможность полного шифрования диска. Поскольку большинство современных настольных компьютеров могут обрабатывать полное шифрование диска без особых усилий, и это добавляет тонкий уровень защиты от внедрения автономного кода, в установщик было добавлено полное шифрование диска. Обратите внимание, однако, что для большинства пользователей простого шифрования своего дома с помощью ecryptfs будет достаточно для их нужд: чтобы их друзья и обычные похитители ноутбуков не имели доступа к их личным данным. Кроме того, если вы были специально нацелены на организацию с правильными средствами, полное шифрование диска или просто домашнее шифрование не будут иметь большого значения, если вы также не установили множество других параноидальных моделей поведения (например: хранение ядра на отдельном флэш-накопителе, который всегда при вас; постоянная проверка на предмет взлома оборудования / кейлоггеров и так далее)

Если я не включил шифрование диска во время установки, есть ли какой-нибудь способ включить его постфактум?

Да, и это будет проще, если вы в настоящее время используете LVM и у вас достаточно места в вашей системе, чтобы скопировать все ваши незашифрованные системные файлы в зашифрованный раздел LUKS. Я не буду вдаваться в подробности в данный момент, потому что я не знаю, используете ли вы LVM и не хотите ли вы просто использовать ecrypfs сейчас и пропустить хлопоты с полным шифрованием диска до следующей новой установки.

Поскольку это по-прежнему лучший результат в Google, я хочу обновить его некоторой новой информацией.Как пользователь Фредерик Норд упомянутый на:Есть ли способ выполнить полное шифрование диска после установки?

Существует инструмент под названием luksipc (шифрование Luks на месте) после дальнейших исследований я нашел самую последнюю документацию и предупреждение от автора этого инструмента:

luksipc был создан до того, как была доступна какая-либо альтернатива со стороны dm-crypt/cryptsetup/LUKS. Это уже не тот случай. Поэтому я рекомендую переключиться на cryptsetup-reencrypt, который должным образом поддерживается и тестируется вверх по течению, даже когда формат заголовка LUKS изменяется (насколько мне известно, это произошло по крайней мере дважды и может привести к катастрофическому сбою luksipc, т.Е. уничтожить все ваши данные в худшем случае).

Так cryptsetup-reencrypt кажется, это рекомендуемый способ.

Обзор Высокого уровня:

  1. Предлагаемый инструмент может работать только с разделами, которые не используются, поэтому используйте live cd/usb
  2. Управляйте разделами так, чтобы в нужном месте было достаточно места для заголовков LUKS
  3. Используйте cryptsetup-reencrypt для шифрования раздела
  4. Повторите для каждого раздела (кроме загрузочного)

Краткое руководство взято из Документация Ubuntu:

   Add LUKS encryption to not yet encrypted device           First, be sure you have space added to disk.  Or alternatively shrink filesystem in          advance.          Here we need 4096 512-bytes sectors (enough for 2x128 bit key).          fdisk -u /dev/sdb # move sdb1 partition end + 4096 sectors          cryptsetup-reencrypt /dev/sdb1 --new --reduce-device-size 4096

Подробное руководство взято из Arch Wiki - Шифрование незашифрованной файловой системы :

umount /mnt # As mentioned this only works on partitions/devices which aren't mounted. You can skip this if you used a live cd and didn't mount this partition yet - but be sure to checke2fsck -f /dev/sdaX # check that the file system is ok -f == force validation even if it looks okresize2fs -M /dev/sdaX # Shrink the filesystem to the minimum size.cryptsetup-reencrypt /dev/sdaX --new  --reduce-device-size 16M # Encrypt the unencrypted partitioncryptsetup open /dev/sdaX recrypt # Open the encrypted partition so we can give it back the disk space we removed by using the -M option on resize2fsresize2fs /dev/mapper/recrypt # enlarge partition againmount /dev/mapper/recrypt /mnt # Mount if you want to access data

Вопрос: Зачем уменьшаться до минимального размера?

Ответ: Предположение - это сделано потому, что размер заголовка LUKS может измениться в будущем, поэтому эти шаги являются общими и не устареют. Размер заголовка изменился с LUKSv1 = 2 МБ до Luksv2 = 16 МБ в прошлом

Руководство по устранению неполадок - /boot зашифрован, и я не могу загрузиться

Обновление 12/2020

Так что для меня случилось, что у меня был только 1 раздел, который включал / boot.После этого я больше не мог загружаться в свою систему. Если у вас возникли те же проблемы, это руководство может помочь вернуть систему в рабочее состояние.

Обзор Высокого уровня

  1. Убедитесь, что у вас есть необходимое программное обеспечение для дешифрования в grub и initramfs.
  2. Знать, как загрузиться

Выкапывать

  1. Загрузитесь на "live cd" ubuntu
  2. Расшифруйте раздел
  3. Chroot переключитесь в расшифрованную систему (если вы не знаете, как это может помочь: https://superuser.com/questions/111152/whats-the-proper-way-to-prepare-chroot-to-recover-a-broken-linux-installation)
  4. В среде chroot
root@ubuntu:~# echo "GRUB_ENABLE_CRYPTODISK=y" >>/etc/default/grubroot@ubuntu:~# update-grubroot@ubuntu:~# grub-install /dev/sda???
  1. Оставайся в хруте!

Initramfs

  1. Создайте скрипт initramfs hoock, который копирует cryptestup через copy-exec
  2. update-initramfs -u -k all

Как загрузиться

  1. Вы получите пустое меню grub, нажмите "c", чтобы получить командную строку.
  2. Выполните следующие действия:
insmod luks # load kernel modulecryptomount hd0,gpt6 # decrypt your encrypted partitionconfigfile (crypto0)/boot/grub/grub.cfg # tell grub the path to the now unecrypted config file
  1. Теперь вы должны получить меню grub с соответствующими загрузочными записями.
  2. После выбора "Ubuntu" вы должны войти в initramfs.
  3. Теперь выполните следующее
cryptsetup luksOpen /dev/sda6 systemexit

Альтернатива

Возможно, вместо этого рассмотрите возможность использования приведенного ниже руководства. Похоже, это связано с проблемами, упомянутыми выше. Хотя я не пробовал, поэтому не могу быть уверен, что это сработает. Но, возможно, стоит присмотреться.https://cryptsetup-team.pages .debian.net/cryptsetup/encrypted-boot.html

P.S Руководство по устранению неполадок было написано по памяти, поэтому могут быть некоторые недостающие фрагменты. Но я все равно хотел написать это, так как это все еще может помочь некоторым людям. Однако, если вы обнаружите, что чего-то не хватает / неточно, пожалуйста, сообщите мне в комментариях, чтобы я мог обновить руководство thx.

Что ж, вы могли бы сделать резервная копия из всех важных каталогов и установленного программного обеспечения. Убедитесь, что ваш 13.10 полностью обновлен, чтобы избежать конфликтов версий. Обычно то, что делает резервную копию, было бы:

После этого вы переустановить система только сейчас зашифрована. Обновите его до полного расширения. Затем переместите резервную копию в зашифрованную систему и установите все программное обеспечение из предыдущей версии.

Просто убедитесь, что не перезаписываете файлы, важные для шифрования, при создании резервной копии (например /etc/fstab, /etc/cryptab, некоторые вещи , связанные с личинкой , и некоторые вещи в /boot не следует заменять резервные копии файлов).

С рабочей Ubuntu 16.04 мне удалось выполнить шифрование корневого раздела после установки, причем корневой раздел содержал все, кроме /boot. Я ставлю / загружаюсь на отдельный съемный USB-накопитель. Примечательно, что я сделал это перед обновлением до Ubuntu 18, и обновление отлично работало на версии с зашифрованным диском.

Шифрование не было выполнено "на месте", что меня вполне устраивало, потому что я все равно не хотел перезаписывать рабочую версию до тех пор, пока не заработает новая настройка.

Выполнение правильной процедуры чрезвычайно просто и быстро. (Хотя выяснение правильной процедуры заняло чрезвычайно много времени, потому что я следовал некоторым ложным указаниям.)

контур

  1. Создайте USB-диск live linux - удобно включить сохранение. Загрузитесь с этого активного USB-диска.
  2. Создайте зашифрованную группу томов luks на пустом разделе. (В моем случае он был на том же диске, что и исходный linux, но это мог быть другой диск.) Создайте / (root) и поменяйте местами логические тома в этом зашифрованном разделе. Они будут действовать как виртуальные разделы в том, что касается скопированного linux.
  3. Скопируйте файлы из старого корня в новый корень.
  4. Настройте и разделите другой USB-накопитель на разделы в качестве съемного загрузочного диска.
  5. Настройте некоторые файлы в новом корне, поколдуйте немного и запустите chroot в новый корень, а затем установите grub на загрузочный диск из новой корневой среды chroot.

подробности

1 - Загрузка с USB-диска live linux - удобно включить сохранение.

Установил Ubuntu 16 на usb с помощью unetbootin. Графический интерфейс позволяет указать "постоянство", но для того, чтобы заставить постоянство работать, также требуется еще один шаг - изменить /boot/grub/grub.cfg добавить --- persistent следующим образом:

menuentry "Try Ubuntu without installing" {    set gfxpayload=keep    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent    initrd  /casper/initrd}

Загрузитесь с помощью live USB

2- Создайте зашифрованную группу томов luks на пустом разделе. Создайте / (root) и поменяйте местами логические тома в этом зашифрованном разделе.

Предположим, что неиспользуемый раздел, подлежащий шифрованию, является /dev/nvme0n1p4.

Необязательно, если у вас есть старые данные на разделе, который вы хотите скрыть перед шифрованием и форматированием, вы можете случайно стереть раздел. Смотрите обсуждение здесь.

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Настройте шифрование.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Вам будет предложено установить пароль.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Вам будет предложено ввести пароль. Обратите внимание, что crypt1 это произвольное имя, выбранное пользователем. Теперь создайте тома и формат.

pvcreate /dev/mapper/crypt1vgcreate crypt1-vg /dev/mapper/crypt1lvcreate -L 8G crypt1-vg -n swapmkswap /dev/crypt1-vg/swaplvcreate -l 100%FREE crypt1-vg -n rootmkfs.ext4 /dev/crypt1-vg/root

Используйте эти утилиты для просмотра томов и понимания иерархии.

pvscanvgscanlvscanls -l /dev/mapperls -l /dev/crypt1

3- Скопируйте файлы из старого корня в новый корень

mkdir /tmp/old-root mount /dev/ubuntu-vg/root /tmp/old-root/mkdir /tmp/new-rootmount /dev/crypt1-vg/root /tmp/new-root/cp -a /tmp/old-root/. /tmp/new-root/umount /tmp/old-rootumount /tmp/new-root

cp -a ... копирует в архивном режиме, сохраняя все режимы и флаги файлов.

4- Настройте и разделите другой USB-накопитель на разделы в качестве съемного загрузочного диска.

Для этого я использовал gparted. Настройте два раздела. Первый раздел - это vfat, второй ext2. Каждый из них составлял 512 МБ, вам могло сойти с рук и меньше. Предположим, устройство /dev/sdf.

# The first partition: (will be /dev/sdf1)Free space preceding (leave default value)New size 512 MiBFree space following (leave default value)Create as: Primary PartitionPartition Name: (leave)File System: fat32Label: (leave)# The second partition: (will be /dev/sdf2)Free space preceding (leave default value)New size 512 MiBFree space following (leave default value)Create as: Primary PartitionPartition Name: (leave)File System: ext4Label: (leave) 

5- Настройте некоторые файлы в новом корне, поколдуйте немного и запустите chroot в новый корень, а затем установите grub на загрузочный диск из новой корневой среды chroot.

Найдите несколько UUID для последующего использования. Обратите внимание на выходные данные следующих команд:

blkid /dev/sdf1blkid /dev/sdf2blkid /dev/nvme0n1p4

Смонтируйте корневой раздел и загрузочные разделы

sudo mount /dev/mapper/crypt1--vg-root /mntsudo mount /dev/sdf2 /mnt/bootsudo mount /dev/sdf1 /mnt/boot/efi

Настройка файла /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1/dev/mapper/crypt1--vg-swap none    swap    sw              0       0UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

где "[uuid of ...]" - это просто комбинация букв, цифр и дефисов.

Создайте файл /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Некоторая магия, необходимая для входа в среду корневого каталога:

sudo mount --bind /dev /mnt/devsudo mount --bind /proc /mnt/procsudo mount --bind /sys /mnt/syschroot /mnt

Теперь настройте загрузочный USB-диск с помощью grub :

apt install --reinstall grub-efi-amd64grub-install --efi-directory=/boot/efi --boot-directory=/boot --removableupdate-initramfs -k all -cupdate-grub

Теперь вы должны иметь возможность перезагрузиться и загрузиться с помощью недавно созданного загрузочного диска USB.

Стрельба по мячу-

(а) Сеть должна быть подключена для apt install --reinstall grub-efi-amd64 команда. Если сеть подключена, но DNS не работает, попробуйте

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Прежде чем позвонить initramfs, текущий vmlinuz... файл, используемый в исходном Linux, должен присутствовать в новом корневом каталоге. Если это не так, найдите его и поместите туда.

(c) То grub-install команда по умолчанию будет выполнять поиск по всем другим дискам Linux, которые она может найти, даже если они не mounted и поместите их в меню загрузки на новом загрузочном USB. Обычно это нежелательно, поэтому этого можно избежать, добавив эту строку в /boot/default/grub.cfg :

GRUB_DISABLE_OS_PROBER=true

записка:Текстовый файл с ключом шифрования может быть добавлен на съемный загрузочный USB-накопитель.

Простой ответ: Нет.

Сложный ответ:

Шифрование диска или раздела приведет к удалению всего, что в данный момент находится на этом диске или разделе, поэтому для шифрования диска вы также должны удалить содержимое диска. Вы должны сделать соответствующие резервные копии данных перед запуском. Очевидно, это означает, что вы должны переустановить систему, чтобы использовать полное шифрование диска, и никак иначе. Это связано с тем, что случайные данные будут записываться по всему диску, что затруднит восстановление данных.

Но в настоящее время вам не нужно шифровать свой корневой раздел. Помните, что если что-то пойдет не так, вы выйдете из своей системы без возможности восстановить данные. Вместо этого вам следует рассмотреть возможность шифрования только вашей личной информации.

См. Соответствующий вопрос Как зашифровать полный диск после установки?

Полный диск. (Последующий вопрос: каковы преимущества и недостатки полного диска по сравнению с just / home? :))

/шифрование домашнего диска не включает пространство подкачки. Конфиденциальные данные могут быть записаны в незашифрованный swap, если зашифрован только /home. Это может быть восстановлено. Ubuntu имеет автоматическую расшифровку / home во время входа в систему. Для полного шифрования диска требуется пароль как при загрузке, так и при входе в систему. Изменение размера зашифрованного диска - это кропотливый процесс. Если у вас есть внешний диск, его легко зашифровать после установки в 13.10 Saucy Salamander: создайте резервную копию своих данных, запустите “диски” на панели инструментов, выберите свой внешний диск, нажмите на шестеренку, выберите зашифровать, разблокируйте свой недавно зашифрованный диск, скопируйте данные обратно.