Надійно автоматичне шифрування зашифрованого накопичувача при вході в систему


18

Зашифрований / домашній каталог автоматично встановлюється для мене під час входу. У мене є другий внутрішній жорсткий диск, який я відформатував і зашифрував за допомогою Disk Utility. Я хочу, щоб він автоматично монтувався під час входу в систему, як і мій зашифрований / домашній каталог. Як це зробити?

Тут є кілька дуже схожих питань, але відповіді не стосуються моєї ситуації. Можливо, найкраще закрити / об'єднати моє запитання тут і відредагувати друге нижче, але я вважаю, що це було відмовлено (і тому ніколи не позначалося як прийняте).

Це рішення не є безпечним методом, воно обходить шифрування.
Для цього потрібно редагувати fstab, що вимагає введення додаткового пароля під час завантаження. Це не автоматично, як монтаж / будинок.
Це питання дуже схоже, але не стосується зашифрованого накопичувача. Рішення не спрацює для моїх потреб.
Ось один але це для накопичувачів NTFS, моя - ext4.

Я можу переформатувати і повторно зашифрувати другий диск, якщо цього вимагає рішення. У мене є всі резервні дані в інших місцях.


Який FS ви використовуєте для шифрування? ЛУКС чи криптопс?
ромашка

@AaronLewis Я просто використовую утиліту диска Ubuntu для форматування диска, а потім встановіть прапорець "Зашифрувати цей диск". Якби мені довелося здогадуватися, я б пішов із шифрами, оскільки так / home зашифровано за замовчуванням. Так як це зробити так просто, я ніколи не заглядав у це.
Том Броссман

Відповіді:


5

Вам більше не потрібні рішення, наведені вище.

Передумови:

  • встановити Ubuntu 14.04 LTS
  • зашифрований домашній каталог (див. https://help.ubuntu.com/community/EncryptedHome )
  • бажання автоматично монтувати вторинний зашифрований диск [редагувати] під час входу.

Примітка. Цей спосіб менш безпечний, ніж монтаж шифрованого диска вручну. Якщо хтось має фізичний доступ до вашого комп’ютера, ви недбало ставитесь до свого кореневого пароля або на вашому комп'ютері є кілька облікових записів користувачів / гостей, цей спосіб не є безпечним ; вторинний привід залишається встановленим, коли виходите з системи, але не вимикаєте систему, тому її вміст буде видимий іншим користувачам.

Частина 1: Зашифруйте вторинний диск.

  1. У тирі Unity введіть "диски" та натисніть клавішу Enter.
  2. Нижче "Пристрої" натисніть на жорсткий диск, який потрібно зашифрувати.
  3. Під кнопкою "Томи" натисніть кнопку зубчастої кнопки / більше дій.
  4. Натисніть "Форматувати гучність". Для типу виберіть "Зашифровані, сумісні з системами Linux". Назвіть свій привід і дайте йому чітку фразу пропуску.
  5. Натисніть "Формат"

Частина 2: Автоматично встановити жорсткий диск при запуску системи.

  1. Тримайте додаток "Диски" відкритим і натискайте на гвинтик.
  2. Натисніть "Змінити параметри шифрування".
  3. "Параметри автоматичного шифрування" буде увімкнено, а меню нижче затьмарено. Вимкніть параметри автоматичного шифрування.
  4. Введіть фразу пропуску, коли ви відформатували диск. Клацніть «Добре».

Тепер у вас є зашифрований жорсткий диск, який автоматично змонтується, коли комп'ютер завантажиться.


1
Хоча я впевнений, що хтось буде використовувати це для цього, це не відповідь на поставлене запитання, яке вказує, що вторинне кріплення має відбуватися при вході користувача на відміну від запуску системи. Це робить початкову твердження про те, що "Вам більше не потрібні рішення вище", і я пропоную авторові відповіді переформулювати відповідну відповідь.
mc0e

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

1
Погоджено, це на сьогоднішній день найпростіший спосіб, оскільки я єдиний користувач машини. Він працюватиме не для всіх, але якщо у вас є установка Ubuntu і ви є основним / адміністратором, це шлях. Насправді десь має бути великий прапорець "Зробити цю роботу точно як зашифрований / домашній", це простий варіант використання.
Том Броссман

@tryion Розділ LUKS розблокується при запуску системи, але не встановлений. Отже, як тільки комп'ютер увімкнено, він стає таким же доступним, як і незашифрований розділ. Пароль зберігається в чіткому тексті в /etc/crypttab. Немає пароля користувача для доступу до розділу. Таким чином, ця настройка еквівалентна взагалі без шифрування і не є відповіддю на питання.
Віктор

Чи є варіанти зберігання його в іншому місці, використовуючи libsecret для відшифрування для конкретного користувача, і чи є довідник із цим посиланням для користувачів, які не користуються графічним інтерфейсом та без голови.
MrMesees

10

Коли я писав цю відповідь кілька років тому, це був найкращий спосіб втілення рішення. Зараз я б запропонував вам переглянути наступну відповідь використовуючи замість mount.ecryptfs_private.

Я також шукав спосіб автоматично встановити другий том eCryptfs. Наступна колекція скриптів та модифікацій конфігурації надійно та автоматично змонтує ваш об'єм при вході в систему або в GUI, або в CLI.

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

ecryptfs на занадто маленькому жорсткому диску - як додати посилання в шифрування?

Захищеність скриптів залежить від шифрування домашнього каталогу eCryptfs, щоб сценарій та файли з паролем для розгортання вашої парольної фрази були зашифровані. Якщо ви залишите ваш комп'ютер розблокованим з відкритою кореневою оболонкою після входу, ви зможете отримати доступ до паролів, однак використання sudo NOPASSWD дозволяє безпечно встановити розділ, не вимагаючи введення пароля або залишаючи парольну фразу у файлі, прочитаному користувачем.

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

Моє рішення реалізовано з декількох частин, двох скриптів оболонки, одна, яка виконує фактичне встановлення, та інша, яка виконує функції обгортки.

Це скрипт обгортки, який перевіряє, якщо каталог вже встановлений, якщо його немає, він викличе сценарій монтажу за допомогою sudo:

/ home / johnf / script / automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  sudo /home/johnf/scripts/mount_other_ecryptfs
fi

Цей скрипт викликає / home / johnf / script / mount_other_ecryptfs, який полягає в наступному.

Зверніть увагу, що цей сценарій передбачає, що у вас включено шифрування імен файлів, якщо ви цього не зробите, не потрібно буде або змінювати скрипт для обробки виявлення (дивіться на ecryptfs-recovery-private), або ви можете видалити параметр кріплення ecryptfs_fnek_sig.

Далі йде сценарій / home / johnf / scriptpts / mount_other_ecryptfs:

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

Також вам потрібно буде створити файл із паролем у ньому, цей файл буде використовуватися командою mount eCryptfs:

/ home / johnf / script / ecryptfs_passphrase:

passwd=secret_passphrase

Потрібно змінити дозволи для кількох файлів:

chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

Перед створенням сценаріїв потрібно створити конфігурацію sudoers, щоб дозволити виконання монтажного скрипту за допомогою sudo без введення пароля sudo.

Додайте наступне в / etc / sudoers (або файл у /etc/sudoers.d). Ви захочете замінити johnf на ваше ім'я користувача. Потрібно використовувати абсолютний шлях до сценарію монтажу.

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

Останнім кроком є ​​виклик сценарію automount_ecryptfs під час входу.

У Ubuntu Unity (і, можливо, гном) використовуйте аплет програми запуску для створення нової програми запуску, яка викликає / home / johnf / script / automount_ecryptfs.

Щоб автоматично монтувати другий том eCryptfs при вході в оболонку bash, ви хочете змінити файл ~ / .bashrc. Додайте наступне:

/home/johnf/scripts/automount_ecryptfs

Якщо ця конфігурація на місці, тепер вам слід автоматично встановити другий том eCryptfs.


Ух, чудова відповідь! Отримано та прийнято. Ще не можу протестувати, але це виглядає дуже повно.
Том Броссман

Автор mount.ecryptfs_privateнині рекомендує використовувати ecryptfs-mount-privateтакож його, що є скриптом для обгортки mount.ecryptfs_private. thesimplecomputer.info/…, можливо, варто прочитати для відносних достоїнств шифрів та LUKS.
mc0e

9

Спираючись на відповідь @ johnf, але використовуючи замість mount.ecryptfs_private :

  • зашифровано /home/bob/(наприклад, на SSD), використовуючи звичайну зашифровану магію домашнього режиму Ubuntu.
  • зашифровано /media/hdd/bob_extra/(наприклад, на жорсткому диску), до якого можна встановити/home/bob/extra . Це повинно автоматично входити в систему, як і домашній dir.
  • використовувати однакові ключі / облікові дані для обох.

створити його

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

перевірити його

mount.ecryptfs_private extra

працює mount, ви повинні побачити:

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

демонтувати:

sudo umount /media/hdd/bob_extra

налаштування автоматичного

Створіть /home/bob/bin/automount_ecryptfs.extra, який зможе встановити його, якщо він ще не був змонтований.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

Зробіть його виконуваним ( chmod +x), а потім додайте його до /home/bob/.bashrc:

...
/home/bob/bin/automount_ecryptfs.extra

Потім додайте його також до запуску програм Gnome.


+1 Дякую за відповідь. Зараз у мене набагато складніше налаштування з декількома SSD і символьними посиланнями на спільний диск, тому я не зможу перевірити це. Я сподіваюся, що шифрування декількох жорстких дисків буде таким же простим, як шифрування / домашнього дня.
Том Броссман

Дивіться також, ecryptfs-mount-privateякий подібний більш представлений. Наприклад, він може автоматично використовувати ключ від брелока користувача.
mc0e

Ця відповідь стосується встановлення приватного каталогу eCryptfs. Питання полягало у встановленні розділу LUKS, створеного за допомогою утиліти Disks .
Віктор

1

Створіть сценарій у своєму зашифрованому домашньому каталозі ~/scripts/mount_storage.sh:

#!/bin/bash

sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
sudo mount /dev/mapper/storage /storage

Додати в "Запуск програм":

sh ~/scripts/mount_storage.sh

Додати до /etc/sudoers:

%sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

Потрібно створити /storageточку монтування та змінити UUID у наведеному вище сценарії (знайти його за допомогою blkid).


Чи є простий спосіб змусити такий сценарій запускати кожного разу, коли підключений USB?
naught101

Я сам не пробував цього, тому не можу сказати точно, але не бачу, чому ні. Вам потрібно створити правило udev, яке орієнтується на конкретний USB-пристрій і запускає вищевказаний сценарій. Наприклад, ця публікація може бути відправною точкою.
Рауль Лааснер

0

Я боюся, що це не буде популярною відповіддю ...

Автоматично змонтувати будь-який зашифрований розділ не вдасться, не обходячи безпеку самого шифрування.

Подумайте, що означає " автоматично ", і зрозумійте, що це автоматично означає, що вони також побачать ваші дані.


Я використовував "Безпечно" суб'єктивно, я міг усунути це з питання. Я просто хочу, щоб зашифрований диск, повний фотографій, був змонтований під час входу в систему, як і вдома. Я знаю, що це теоретично можливо, оскільки в мене є третій (також зашифрований) привід як Дека Дуп. Цей привід встановлюється лише тоді, коли утиліта резервного копіювання запускається. Повністю автоматичний, у мене збережений ключ, тому я не ввожу його кожного разу. Мені подобається, що всі мої ключі обробляються автоматично після введення пароля на екрані входу. Будь-яка ідея, як це зробити? Спасибі.
Том Броссман,

3
Автоматично в цьому контексті означає, що його слід встановити після введення пароля для входу. Ваш пароль для входу може бути ключем або, частіше за все, ключем до вашого зашифрованого розділу. Це розумно безпечно (надання хорошого пароля для входу).
Хав'єр Рівера

Він не буде автоматично встановлений на іншому комп’ютері, через що більшість з нас шифрує деякі диски. У моєму випадку це диск, який я використовую для створення резервних копій. Я працюю в спільному просторі і знаю, що один з вас, хлопці з великими знаннями, зможе обійти все, що я роблю з фізичним доступом до свого диска / комп’ютера: я просто хочу зменшити доступність своїх файлів, щоб хто-небудь ще міг не робити цього.
Рамон Суарес

Зробивши це автоматичним процесом, чи можливо, хтось, хто вкраде ваш комп'ютер, може отримати доступ до ключа вашого зашифрованого додаткового HD ?? (а потім, звичайно, змонтуйте та отримайте доступ до цього HD)
miguelfg

Простий, очевидний сценарій: я підключаю USB-накопичувач до сервера в офісі, щоб створити резервну копію даних. Я беру додому USB-накопичувач, щоб забезпечити резервне копіювання за межами сайту на випадок, якщо щось погано трапиться на сервер. Хтось вривається в мою машину і забирає USB-диск, поки я в магазині по дорозі додому. Тепер вони повинні 1) знати, де навіть сервер, і 2) прорватися в офіс для розшифровки диска. Ця частина набагато складніше, ніж "просто підключити її до свого комп'ютера вдома".
Ерні

0

Процедура наступним чином має бути захищеною. Потрібна парольна фраза не дозволяє іншим користувачам отримувати доступ до гучності, навіть якщо вона встановлена.

1. Відкрийте диски, виберіть диск і натисніть на гучність LUKS. Клацніть на шестірні та зніміть команду "Налаштування сеансу користувача". Виберіть "Розблокувати при запуску системи" та "Потрібна додаткова авторизація для розблокування": введіть тут опис зображення

2. Клацніть на гучності диска (нижче гучності LUKS). Клацніть на шестірні та зніміть команду "Налаштування сеансу користувача". Виберіть "Монтувати при запуску системи" та "Показати в інтерфейсі користувача": введіть тут опис зображення

Ви також можете вимагати додаткової автентифікації для монтажу гучності, але в такому випадку монтаж не буде автоматичним для відповідного користувача.

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