Чи можу я відключити повне дискове шифрування?


41

Нещодавно я встановив Ubuntu 12.10, і для його завантаження потрібна парольна фраза (я встановив її за допомогою зашифрованої файлової системи).

Чи потрібно перевстановлюватись, щоб змінити стандартну незашифровану файлову систему?


Ви шифрували всю установку Ubuntu або лише домашній каталог?
Flimm

Я шифрувався під час встановлення, тому я здогадуюсь про всю встановлення.
Зельдор

3
Я новий користувач, тому я не впевнений, як працює робота в Linux (я повністю набридла Microsoft!)
Zzealdor

@Rinzwind Мабуть, ні. Цей метод (ecryptfs) шифрує домашній каталог і не потребує додаткового пароля; використовується пароль для входу.
Jan

1
@ user163872: Нові версії Ubuntu (12 і 13) дуже старі на старих комп'ютерах, таких як нетбуки. Вам слід встановити Lubuntu, який розрахований на швидкість і працює дуже швидко на старих / повільних комп'ютерах, навіть з низькою оперативною пам’яттю (тобто 512 МБ). Lubuntu майже такий же, як і звичайний Ubuntu - лише робочий стіл / меню трохи відрізняються. Але все, що працює на звичайному Ubuntu, воно буде працювати і в Lubuntu.
lara

Відповіді:


22

Якщо Ubuntu запитує пароль для шифрування під час завантаження (тобто на текстовій консолі перед відображенням екрана входу), це вказує на те, що використовувався повний метод шифрування диска. (Існує більше ніж один спосіб зробити це, але я буду тримати відповідь загальною.) Шифрування обробляється додатковим програмним шаром між файловою системою та фізичним жорстким диском, а не самою файловою системою.

Немає простого методу чи інструменту для скасування цього. Маючи певні знання про те, як працюють системи Linux, це можна зробити. Вам доведеться перемістити всю файлову систему (або всі файли) на інший розділ (з достатньою кількістю вільного місця) або на зовнішній жорсткий диск. Потім вийміть зашифрований контейнер і відновіть файлову систему без шифрування. Нарешті, переконайтесь, що нова файлова система належним чином розпізнається завантажувачем та mount -aперед перезавантаженням.

Якщо це можливо, краще уникати цієї трудомісткої та схильної до помилок процедури. Просто зробіть свіжу установку. Для нових користувачів це найшвидший і безпечний варіант.

PS: Цілком ймовірно, що ви можете змінити парольну фразу шифрування, можливо, на порожню рядок. Тоді для розшифрування потрібно лише натиснути Enter. Можливо, ви можете піти далі і подавити на (зараз марний) запит про фразу. Однак це не відключає шифрування. Дані все одно будуть зашифровані, хоча шифрування було б марним, оскільки ключ можна тривіально здогадатися.


3
Теоретично, чи не зможете ви зробити щось на кшталт "dd if = / dev / mapper / sda5_crypt of = / dev / sda5 bs = 32M"?
Рой

@Roy, я думаю, що це спрацює, якщо і лише у тому випадку, якщо наступне вірно: 1. ddі основні драйвери не пишуть, поки вони не закінчать читати кожен блок (мабуть, є прапори та налаштування для забезпечення цього) 2. читання / запис блоки не перекривають краї блоків шифрування (можуть бути перевірені, можливо, передбачає деяку математику). 3. Важлива інформація заголовка, необхідна для розшифрування, не буде перезаписана перед завершенням (перевірити базовий формат шифрування, можливо, обробляти з кінця до початку). Я думаю, що це можливо, але знадобиться більш ретельне налаштування та аналіз.
fuzzyTew

20

Нижче моє рішення спрацювало. Майте на увазі, що я не є спеціалістом Linux, тому це може бути не найкращим рішенням. Не вдалося знайти кращого.

Перенесення установки FDE на незашифрований розділ

ПРИМІТКА : Щоразу кажу, я маю на увазі

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

Копіювання даних із зашифрованої кореневої файлової системи

Завантаження з живого компакт-диска. Я використовував Ubuntu 13.10 32-бітний настільний ISO.

Змонтуйте розділ:

sudo cryptsetup luksOpen /dev/sda5 crypt1

Скопіюйте свої вихідні дані в розділ призначення та збережіть DD PID у змінну pid:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

Це буде пінговувати кожен другий процес dd із сигналом USR1 та статусом dd:

while sudo kill -USR $pid; do sleep 1; done

Альтернатива моніторингу DD

Якщо вам не подобається вище "while method", ви можете використовувати watch. Відкрийте інше вікно терміналу та отримайте PID:

pgrep -l '^dd$' | awk '{ print $1 }'

Замініть ідентифікатор процесу:

watch kill -USR1 <pid>

Ви повинні бачити вихід у своєму терміналі dd кожні 2 секунди.

Налаштування нової кореневої файлової системи та розділів

По закінченні ви можете встановити нешифрований розділ, щоб побачити, чи нормально:

sudo mount /dev/sda3 /mnt

Після цього відключіть свій розділ:

sudo umount /dev/sda3

Випустіть розділ крипт:

sudo cryptsetup luksClose /dev/sda5

Виконати gparted. Видаліть свій розділ LUKS (як розширений, так і логічний). Змініть розмір / dev / sda3 і рухайтеся ліворуч. Створити розділ swap.

Примітка. Переміщення / dev / sda3 вліво може зайняти багато часу. Для мене це займало 30 хвилин на 120 Гб розділі та накопичувачі SSD. Якщо у вас є 500 ГБ + жорсткий диск, будьте готові до декількох годин очікування. Ви можете створити своп перед розділом замість переміщення / dev / sda3.

Створіть нову файлову систему swap на своєму розділі swap:

sudo mkswap /dev/sda2 

і зберігати десь UUID.

Отримайте свій UUID кореневого розділу:

sudo blkid /dev/sda3

Редагувати fstab:

sudo nano /etc/fstab

Видаліть або коментуйте рядки з накладками та tmpfs.

Додайте заміну рядка результатом blkid:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Видалити файл:

rm /etc/crypttab

Оновіть свої програми initramfs, щоб уникнути помилок, таких як "cryptsetup: evms_activate недоступний":

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Остаточні замітки та усунення несправностей

Це працювало для мене, проте є ймовірність, що робити вище, крок за кроком, може не працювати для вас. Перш ніж я з'ясував метод update-initramfs, я кілька разів перевстановлював ядро, також змінював grub. Однак це не повинно бути для вас справою. Пам’ятайте, що вищевказані інструкції можуть видалити ваші дані, тому будьте обережні та зробіть BACKUP , ДО цього не продовжуйте.

Про всяк випадок, якщо у вас є проблеми з ядром (встановлені з хронікою та / завантаження):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

Звичайно, замініть linux-image-3.XY-ZZ датою ядра від уніме.

або GRUB (за межами chroot):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Детальніше: https://help.ubuntu.com/community/Boot-Repair

Удачі


1
Я вважаю, що вам доведеться замінити UUID розділу swap /etc/initramfs-tools/conf.d/resumeвручну, і я б рекомендував копіювати вміст файлової системи на cp -aабо, rsync -aяк це було б у цілому швидше і безпечніше для SSD.
LiveWireBT

Дякуємо, що зробили мою розробку більш зручною для користувачів. Я не робив змін у резюме, також злякався, використовуючи cp або rsync, думав, що DD (необроблена копія з пристрою на пристрій) - це правильний інструмент для таких завдань. Я робив це на VM, але зображення було розміщено на SSD. Чи можете ви, будь ласка, розробити: "безпечніше для SSD"?
NeverEndingQueue

Використання ddкопіює весь розділ, навіть блоки, які повинні бути порожніми, що призводить до непотрібних записів на SSD (а на деяких це навіть шкодить продуктивності запису майже на всі комірки). Кілька років тому я та деякі інші також виявили, що копіювання ddта активація TRIM (опція скидання EXT4) призведе до того, що TRIM видалить блоки, які, на його думку, порожні, і залишить вас з порушеною установкою через кілька годин.
LiveWireBT

У першому методі моніторингу повинен бути USR1 замість USR. Я знаю, що це очевидно, але це може бути проблемою для новачків, як я;)
goodfellow

9

Якщо ви хочете зберегти шифрування, але вимкнути підказку парольної фрази, набагато простішим підходом є просто встановити тривіальний пароль на зразок "пароль", а потім зберегти цей тривіальний пароль у initramfs у явному тексті. Вимкніть пароль шифрування LUKS .

По суті, додайте сценарій гачка, який, в свою чергу, додає "іскрипт" клавіш до initramfs. Зазвичай ці сценарії використовуються для отримання пароля через Bletooth, через USB-накопичувач тощо, але в цьому випадку просто змусьте його надрукувати тривіальний пароль.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.