Intereting Posts
dpkg-divert: error: rename включает перезапись `/usr/lib/xorg/protocol.txt 'с другим файлом` /usr/lib/xorg/protocol-precise.txt', не допускается Загруженные изображения не подтвердили проверку контрольной суммы для ubuntu для nexus7 Как установить Adobe Flash Player? Как сделать Lubuntu более гладким на старом оборудовании? Не удается найти двоичный файл в пути Получение доступа root к жесткому диску, подключенному через USB? Как создать локальные настройки GTK3? Как я могу конвертировать видео 1080p wmv в видео 720p? Инструмент сравнения файлов и папок, который сравнивает только имена файлов? Как запустить checkdisk? Фоновый процесс (nohup &) приостанавливает / возобновляет, когда пользователь выходит из системы / регистрируется Невозможно откалибровать монитор и ноутбук Клавиша быстрого доступа для Терминатора приземляется в каталоге «/» Как запустить скрипт после возобновления работы системы спящего режима (suspent-to-disk)? Как улучшить постоянство скорости USB?

Как установить Ubuntu с помощью шифрования диска и кэширования SSD

Я использую Ubuntu в корпоративной среде, и наша политика безопасности утверждает, что мы должны использовать полное шифрование диска.

У меня также есть ноутбук с 32-гигабайтным SSD SSD и 750 ГБ вращающейся ржавчины. В моей текущей установке используется bcache, чтобы использовать это, установленное с использованием этой процедуры . Это обеспечивает очень приятное повышение производительности без необходимости беспокоиться о заполнении SSD.

Это будет насущный вопрос. Награда будет присуждена за:

  • Четкий, надежный способ выполнения новой установки Ubuntu
    • Любой релиз является приемлемым, но 15.04 (Vivid) будет в порядке
  • Вся файловая система будет зашифрована
    • Предпочтение здесь – использовать соответствующий флажок в программе установки Ubiquity по умолчанию (шифрование dm-crypt)
  • Файловая система будет кэшироваться на SSD
    • Для предпочтения метод dm-cache / lvmcache ядра см. Здесь для метода для этого с Debian Jessie
    • Кэш также должен быть защищен (т.е. зашифрован)
    • Должно быть четкое объяснение того, почему кеш также зашифрован

Вы уже пробовали метод для Debian Jessie выше, но он отказывается загружаться для меня. Не пробовал метод, описанный в комментариях здесь .

Опубликованные решения будут протестированы на виртуальной виртуальной машине с двумя пустыми виртуальными дисками и выпускной версией рабочего стола 15.04 (выпуск amd64). Bounty переходит к первому решению, которое я принимаю для переустановки моего реального оборудования.

Пожалуйста, напишите свое решение, как если бы оно собиралось в вики сообщества.


Я наградил щедростью – я думаю, что по-прежнему существует потенциал для решения LUKS-on-LVM, которое сочетает в себе легкость одобренного ответа только с одним паролем, только с использованием компонентов устройства-картографа.

LVM на LUKS на bcache

Здесь русская кукла игра немного глубже с тремя стеками / слоями …

Моя первоначальная идея по этому вопросу состояла в том, чтобы использовать установку Ubuntu по умолчанию с LVM на LUKS и преобразовать ее в устройство поддержки bcache с блоками, но это не сработало для меня в моем тесте с LVM.

Кроме того, установщик ubuntu ( вездесущность ) слишком ограничен для установки внутри устройства bcache, подготовленного заранее (по крайней мере, с LUKS на LVM), поэтому мы возвращаемся к методу ведения дел вручную.

Загрузите Live CD / USB и выберите «Попробуйте Ubuntu» и откройте терминал

Предварительная установка

sudo -i # Define some variable to avoid confusion and error luks_part=/dev/sda3 boot=/dev/sda2 # boot partition caching_bcache=/dev/sdb # SSD or partition in SSD # Do secure erase of encrypted backing and caching device (see Notes [1]) dd if=/dev/urandom of=$luks_part || dd if=/dev/urandom of=$caching_bcache # Go and grab some coffe, this will take a while... apt-get install bcache-tools # Setup bcache caching and backing devices make-bcache -C $caching_bcache -B $luks_part # (Optional) Tweak bcache echo writeback > /sys/block/bcache0/bcache/cache_mode # Below we now create manually what ubiquity should have done for us # Setup LUKS device on bcache device cryptsetup --key-size 512 luksFormat /dev/bcache0 cryptsetup luksOpen /dev/bcache0 crypted # Setup LVM on LUKS # You can skip that part if you don't want to use a swap # or don't want to use multiple partition. Use /dev/mapper/crypted # as you root latter on pvcreate /dev/mapper/crypted vgcreate vg /dev/mapper/crypted lvcreate -L 1G vg -n swap lvcreate -l 100%FREE vg -n root 

Монтаж

Держите терминал открытым и теперь запустите установку. Выберите «Что-то еще» при разделении и укажите

  • ваш загрузочный раздел ( /dev/sda2 )
  • ваш корневой раздел ( /dev/mapper/vg-root )
  • ваш обмен ( /dev/mapper/vg-swap )

и установите флажок для форматирования разделов.

В конце установки не перезагружайтесь, а просто нажмите «Продолжить попытку ubuntu».

После установки

В нашем открытом терминале

 # Install bcache-tools to add bcache module to initramfs mount /dev/mapper/vg-root /mnt mount $boot /mnt/boot mount -o bind /sys /mnt/sys mount -o bind /proc /mnt/proc mount -o bind /dev /mnt/dev chroot /mnt # To get apt-get running in the chroot echo 'nameserver 8.8.8.8' > /run/resolvconf/resolv.conf apt-get install bcache-tools # Create /etc/crypttab to add crypted bcached partition echo "crypted UUID=`blkid -o value /dev/bcache0|head -1` none luks" > /etc/crypttab exit sync umount /mnt/sys umount /mnt/proc umount /mnt/dev umount /mnt/boot umount /mnt vgchange -an /dev/mapper/crypted cryptsetup luksClose crypted sync # Reboot & enjoy 

Существует известная ошибка Ubuntu 15.04 с Live CD / USB, поэтому вам может потребоваться принудительная перезагрузка / завершение работы

Проверьте

После загрузки вы можете проверить, что /dev/bcache0 на самом деле является разделом LUKS с

 if sudo cryptsetup isLuks /dev/bcache0; then \ echo "crypted";\ else echo "unencrypted";\ fi 

Это связано с тем, что это кеш вашего раздела LUKS, и теперь вы /dev/bcache0 доступ к своим данным через устройство /dev/bcache0 и никогда от исходного поддерживающего устройства ( /dev/sda3 здесь)

Рекомендации

http://bcache.evilpiepirate.org/

https://wiki.archlinux.org/index.php/Bcache

https://wiki.archlinux.org/index.php/Dm-crypt

Однако статус bcache официально не объединяется в инструменты bcache. Вы можете получить его здесь: https://gist.github.com/djwong/6343451

[1] Могут быть лучшие способы сделать это протирание

LVM на LUKS + LUKS / dm-cache

Установщик Ubuntu использует LVM для конфигурации LUKS для полного шифрования диска.

Если вы также хотите использовать dm-cache / lvmcache для повышения производительности, вам необходимо разместить пул кеша в зашифрованном томе для обеспечения безопасности ваших данных.

Этапы

  • Создайте том LUKS на целевом блочном устройстве
  • Расширьте группу томов по умолчанию с новым зашифрованным томом LUKS
  • Создание метаданных кеша и томов данных в новом томе LUKS
  • Свяжите их вместе как пул кеша
  • Свяжите этот пул кешей с корневым томом
  • Убедитесь, что новый зашифрованный том можно смонтировать при загрузке, добавив его в /etc/crypttab
  • Убедитесь, что загрузочная среда поддерживает dm-cache

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

Обратите внимание, что в этом скрипте очень мало валидации или защитного программирования. Если он разрушает вашу рабочую систему, это ваша ответственность.

Позвоните так:

 # 1 2 3 4 5 6 sudo bash lvmcryptocache /dev/sdb 32M 1968M 
  1. Нужен корень для работы
  2. запустить скрипт в bash
  3. имя сценария
  4. блочное устройство, которое вы хотите использовать (только для всего диска)
  5. размер метаданных
  6. размер данных кэша

Параметры размера по умолчанию в MB: вам потребуется отношение пространства метаданных 1: 1000 к кешу (например, если ваш кэш-диск равен 180 ГБ, вам нужно 180 Мбайт пространства метаданных и 179820 МБ пространства данных – вы можете захотеть округлить метаданные немного осторожны. Для метаданных 8M есть нижний предел.)

Вам будет предложено ввести пароль для вашего тома кеша – вам будет предложено ввести пароли для ОБОИХ ваших дисков во время загрузки.

Рекомендации

  • Использование функции нового кэша LVM (Richard Jones)
  • Шифрование всей системы (dm-crypt wiki)
  • Комментарии к программе Launchpad Bug # 1423796
  • Загрузка Debian Jessie из lvmcache

 #! / Bin / Баш
 #
 # lvmcryptocache
 #
 # Добавьте пул кэшей LVM и присоедините его к корневому тому
 # Включая шифрование LUKS
 # Предполагается, что вы используете настройку «all on root»
 # Если вы этого не сделаете, приспособите его, если хотите.
 #
 # Сценарий, лицензированный GPL3 или более поздний
 # © Адриан Уилкинс Май 2015 г.
 #
 # Передайте имя дискового устройства, которое вы используете в качестве кеша
 # Это в идеале должно быть полностью пустым, поэтому запустите
 #
 # dd if = / dev / zero of = / dev / $ {DISK}
 #
 # над ним в течение короткого времени, чтобы nuke таблица разделов

 CACHE_DISK = $ 1
 META_SIZE = $ 2
 DATA_SIZE = $ 3

 DISK_NAME = $ (basename $ CACHE_DISK)

 CRYPT_VOLUME = $ {DISK_NAME} _crypt
 CACHE_PV = / DEV / картографа / $ {CRYPT_VOLUME}

 # Создать том LUKS на необработанном диске

 cryptsetup luksFormat $ CACHE_DISK
 cryptsetup open --type luks $ CACHE_DISK $ CRYPT_VOLUME

 # Начал пробовать и разбирать материал на диске, но он сложный
 # Пойдем, если хочешь, у меня все кончилось
 #
 # DISK_SIZE = $ (fdisk -l | grep "Диск $ {CACHE_DISK}" | awk '{print $ 5}')
 # 
 # META_SIZE = $ ((DISK_SIZE / 1000))
 # META_SIZE = $ ((META_SIZE + 512))
 # MOD = $ ((META_SIZE% 512))
 # MOD_OFFSET = $ ((512 - MOD))
 # META_SIZE = $ ((META_SIZE + 512)) 
 # META_SIZE = $ ((META_SIZE + MOD_OFFSET))
 # 
 # DATA_SIZE = $ ((DISK_SIZE - META_SIZE))
 # 

 # Создать новый PV внутри зашифрованного тома

 pvcreate $ CACHE_PV
 vgextend ubuntu-vg $ CACHE_PV
 lvcreate -L $ {META_SIZE} -n cachemeta ubuntu-vg $ CACHE_PV
 lvcreate -L $ {DATA_SIZE} -n cachedata ubuntu-vg $ CACHE_PV
 lvconvert --type cache-pool --poolmetadata ubuntu-vg / cachemeta --cachemode writethrough ubuntu-vg / cachedata --yes
 lvconvert --type cache --cachepool ubuntu-vg / cachedata ubuntu-vg / root

 # Теперь добавьте UUID пула кешей PHYSICAL DRIVE (/ dev / sdb) в / etc / crypttab
 DISK_UUID = $ (ls -al / dev / disk / by-uuid / | grep $ DISK_NAME | awk '{print $ 9}')
 echo "$ {CRYPT_VOLUME} UUID = $ {DISK_UUID} none luks, discard" >> / etc / crypttab

 apt-get install --yes thin-provisioning-tools

 HOOK = $ (временные файлы)
 # Добавьте скрипт hook к initramfs, чтобы добавить нужные инструменты и модули

 echo "#! / bin / sh"> $ HOOK
 echo "PREREQ =" lvm2 "" >> $ HOOK
 echo "prereqs ()" >> $ HOOK
 echo "{" >> $ HOOK
 echo "echo \" $ PREREQ \ "" >> $ HOOK
 echo "}" >> $ HOOK
 echo "case $ 1 in" >> $ HOOK
 echo "prereqs)" >> $ HOOK
 echo "prereqs" >> $ HOOK
 echo "exit 0" >> $ HOOK
 echo ";;"  >> $ HOOK
 эхо "esac" >> $ HOOK
 echo ", если [! -x / usr / sbin / cache_check], затем" >> $ HOOK
 echo "exit 0" >> $ HOOK
 echo "fi" >> $ HOOK
 echo ". / usr / share / initramfs-tools / hook-functions" >> $ HOOK
 echo "copy_exec / usr / sbin / cache_check" >> $ HOOK
 echo "manual_add_modules dm_cache dm_cache_mq dm_persistent_data dm_bufio" >> $ HOOK

 cp $ HOOK / etc / initramfs-tools / hooks / lvmcache
 chmod + x / etc / initramfs-tools / hooks / lvmcache

 echo "dm_cache" >> / etc / initramfs-tools / modules
 echo "dm_cache_mq" >> / etc / initramfs-tools / modules
 echo "dm_persistent_data" >> / etc / initramfs-tools / modules
 echo "dm_bufio" >> / etc / initramfs-tools / modules

 # Обновить initramfs

 update-initramfs -u

 echo Теперь перезагрузитесь!