LINUX.ORG.RU

16
Всего сообщений: 182

Производительность LUKS, Hardware RAID, no AES-NI, multithreaded

Есть домашняя машина на старом железе.

LSI контроллер и RAID0 массив из 6 дисков.

Чтение диска выдает хорошую скорость линейного чтения. Результат из DD:

5368709120 bytes (5.4 GB, 5.0 GiB) copied, 7.96162 s, 674 MB/s

Но чтение с раздела LUKS выдает уже в 2 раза меньше:

5368709120 bytes (5.4 GB, 5.0 GiB) copied, 19.8654 s, 270 MB/s

Скорее всего ограничение в скорости дешифрования. Проц старый Phenom II X4 на частоте 3.8 все 4 ядра.

htop показывает, что во время чтения используется либо 1 ядро на 100%, либо 2 ядра приблизительно каждое на 70%.

Cryptsetup benchmark показывает такую картинку, притом грузится только одно ядро:

#     Algorithm |       Key |      Encryption |      Decryption
        aes-cbc        128b       233.3 MiB/s       255.0 MiB/s
    serpent-cbc        128b        98.4 MiB/s       252.6 MiB/s
    twofish-cbc        128b       220.4 MiB/s       264.4 MiB/s
        aes-cbc        256b       184.7 MiB/s       197.2 MiB/s
    serpent-cbc        256b        98.4 MiB/s       252.3 MiB/s
    twofish-cbc        256b       220.1 MiB/s       264.0 MiB/s
        aes-xts        256b       253.2 MiB/s       255.5 MiB/s
    serpent-xts        256b       231.4 MiB/s       234.8 MiB/s
    twofish-xts        256b       248.7 MiB/s       246.7 MiB/s
        aes-xts        512b       195.2 MiB/s       197.2 MiB/s
    serpent-xts        512b       231.5 MiB/s       235.2 MiB/s
    twofish-xts        512b       248.8 MiB/s       246.4 MiB/s

Ось Fedora 29 (4.19.8-300.fc29.x86_64).

Может кто сталкивался?

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

 , ,

maxlinux ()

LUKS+LVM+TRIM (Samsung 860 Evo)

Вчера случайно обнаружил, что у меня не работает TRIM.

|-----------------------|
|    Samsung 860 EVO    |
|-----|-------|---------|
| EFI | /boot | LUKS    |
|-----|-------| └─ LVM  |
              |    └─ / |
              |---------|

Не работает fstrim:

sudo fstrim -v /
fstrim: /: the discard operation is not supported

Arch wiki:

Solid state drive users should be aware that, by default, TRIM commands are not enabled by the device-mapper, i.e. block-devices are mounted without the discard option unless you override the default.

cat /etc/crypttab                  
sda3_crypt UUID=be8c51fe-e99a-46fa-a085-63d117a8eb2e none luks

Arch wiki:

For non-root filesystems, configure /etc/crypttab to include discard in the list of options for encrypted block devices located on an SSD

У меня только /, но добавление опции discard в /etc/crypttab позволяет (после перезагрузки) выполнить fstrim.

Вопросы: Почему fstrim ругается на отсутствие discard? Что лучше, полноценно включить discard для / или делать fstrim по расписанию?

 , , , ,

aquadon ()

Не шифровать /boot раздел

Привет!

На Arch Linux использую systemd-boot не шифрую /boot и просто ввожу пароль на корневой раздел (Enter passphrase for /dev/sda2) - меня это устраивает

На Void Linux использую GRUB и ввожу пароль дважды, сначала на сам GRUB (Enter passphrase for hd0,gpt2) потом на коревой раздел (Enter passphrase for /dev/sda2) - меня это не устраивает

Сам /boot не зашифрован, но GRUB без GRUB_ENABLE_CRYPTODISK=y не устанавливается загрузчиком на целевой диск

GRUB_CMDLINE_LINUX_DEFAULT="rd.auto=1"
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:luks"
GRUB_ENABLE_CRYPTODISK=y

Как в Void использовать шифрование только корневого раздела, без запросов «Enter passphrase for hd0,gpt2» в GRUB? Нагуглил создание ключей в /boot - но меня это тоже не устраивает. Как просто зашифровать / для использования с GRUB?

 , , ,

huzurayezi ()

LVM2 LUKS Full-disk backup

Есть несколько томов LVM2 (на LUKS), физически живущие на одном диске: /boot/efi, /boot и /. Требуется максимально просто делать полные бекапы диска, чтобы состояние ОС можно было восстановить, просто накатив образ обратно. Пользовательские данные особо не важны (хотя, хомяк живет в /).

Требования:

1. Возможность делать online backup (т.е. во время работы ОС). Поэтому всякие clonezilla не подходят.

2. Инкрементальные бекапы. Т.е. просто сделать dd не получится. Диск большого размера (относительно) и зашифрован. Обычно, реально используемый объем данных сильно меньше объема диска. Банальная копия будет занимать слишком много места.

3. Максимально простой интерфейс (можно только консольный) и возможность настраивать бекапы по крону.

4. Бекапы будут хранится на отдельном диске (LVM2/LUKS).

Все, что я пока нашел - это куча туториалов, как написать свой скрипт для бекапов. А есть-ли готовые решения? Нашел Timeshift, но, кажется, он только графический (без возможности запуска из консоли) и страдает какими-то багами, которые не очень активно фиксятся (можно увидеть в разделе issues).

 , , ,

maverik ()

Cryptsetup 2.0

Релиз был почти год назад, но упоминаний маловато.

  • Кто-нибудь уже пользуется LUKS2?
    • Как там скорость с новыми 4k блоками?
  • А dm-integrity?
    • Теперь можно не бояться, что raid-1 из двух экземпляров будет недостаточно для восстановления при тихой ошибке?
    • С журналом всё так плохо(двойная запись)?

 , ,

boowai ()

Загрузка с несколькими шифрованными PV

Я правильно понимаю, что генерируемые initramfs заточены на открытие только одного LUKS? Схема с несколькими PV, некоторые из которых зашифрованы, деградирует, придётся следить за расположением / и /usr, dm-raid тоже пролетает?

Самому можно настроить как угодно. Вопрос пока про genkernel, dracut и прочие.

 , , , ,

boowai ()

Как примонтировать раздел из LUKS'а с опцией только чтение? Нужно монтировать только последний нужный раздел, или всю ветку? Как отмонтировать?

У меня есть диск, на нём LUKS потом LVM и только после этого нужный раздел. LUKS я уже победил, но вот монтирование.

$ lsblk -f

sdb                       0  0 disk  
├─sdb1                    0  0 part  
├─sdb2                    0  0 part  
└─sdb3  crypto_LUKS                0  0 part
  └─luks  LVM2_member                0  1 crypt 
    ├─VG-yaya  ext4  yaya     0  0 lvm
До открытия LUKS — yaya был /dev/sdb5 и всё казалось бы было просто, как мне теперь его монтирования? Нужно всё дерево вручную монтировать(crypto_LUKS, LVM2_member, yaya ext4)?

$ ls -l /dev/mapper/

VG-yaya -> ../dm-4
Тот UUID что я взял из blkid /dev/sdb3 уже не подойдёт, правильно?

Если я хочу закрыть LUKS, то у меня это не получается командной cryptsetup luksClose: в консоли какое-то сообщение о том что что-то ожидается, а потом: «Device ... is still in use»

 , ,

just_a_brake ()

LUKS раздел и /etc/fstab, /etc/crypttab — в чём разница? Нужно редактировать оба файла для подключения LUKS раздела?

Я не понимаю, для того чтобы примонтировать LUKS раздел нужно «настройки» писать в crypttab и fstab?

Чтобы подключить весь раздел как read only нужно в обоих файлах задать такие настройки?

 , ,

just_a_brake ()

Подключить в VirtualBox систему ubuntu из образа dd, с зашифрованным разделом luks

Есть диск с установленной Ubuntu, небольшой раздел /boot и потом зашифрованный раздел luks. Можно ли эту систему перегнать в VirtualBox? В инете есть описания как один раздел подключить через losetup и подсунуть вбоксу, а так что бы сразу диск найти не могу.

 ,

victor79 ()

Несколько вопросов по настройки Grub2

Приветствую всех. Сразу скажу, пользователь линукса я не опытный, посему, прошу, более-менее разжевать.

Имеется Xubuntu 18.04, полнодисковое шифрование с помощью LUKS+LVM, бут так же зашифрован, прописаны к нему конфиги в настройках граба (делал по мануалу).

Собственно вопросы связаны с этим: 1) Можно ли изменить окно при загрузки компьютера, где просят ввести пароль от бута (там где написано, чтобы ввели пароль и ниже строка с UUID и какие то еще данные) на кастомное, например написать вместо этого свое слово? Как вариант если нельзя свое - просто черным оставить, без надписей. 2) При обновление системы, можно ли все потерять? Т.е. например обновится граб, а с ним и мои конфиги с параметрами для запуска зашифрованного бута. Если да - то как этого избежать? Сюда же вопрос: Как все же надежнее, сделать как я, или хранить бут на флешке? В плане даже сохранности данных, случае варианта из пункта 2, если он возможен.

3) Ну и чтоб не плодить темы - Можно ли добавить Nuke LUKS на текущую конфигурацию, ничего не поломав? Т.е. имеем просто зашифрованный диск с помощью LUKS без всяких «примочек», кроме бута, и просто с помощью определенных манипуляций, добавить функцию Nuke (стереть заголовки определенным паролем, дабы «убить» инфу).

 , ,

Alpiden ()

Не работает suspend-to-disk на шифрованном swap

Добрый день.

Пытаюсь настроить suspend-to-disk с использованием шифрованного swap раздела.

На данный момент данная схема не работает: swap работает нормально, systemctl hibernate отрабатывает нормально, но resume не происходит и система загружается по-новой. Сейчас такое сообщение ошибки в journalctl:

Timed out waiting for device dev-disk-by\x2duuid-ec422827\x2d8d03\x2d4547\x2da107\x2dd6b9797c1d58.device.

Если swap не шифрован, то suspend-to-disk работает нормально.

Конфигурация системы: Fedora 28.

Информация, которая может быть полезна:

swapon -s

Имя файла                               Тип             Размер  Исп-но  Приоритет
/dev/dm-2                               partition       25708540        0       -2

free -m
              total        used        free      shared  buff/cache   available
Mem:          24053        7374       13517         283        3161       16062
Swap:         25105           0       25105
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 rd.luks.uuid=luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 rhgb quiet resume=UUID=ec422827-8d03-4547-a107-d6b9797c1d58"
GRUB_DISABLE_RECOVERY="true"
fdisk -l
Диск /dev/nvme0n1: 465,8 GiB, 500107862016 байт, 976773168 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: D155F5DD-C780-4729-B274-A4D64830F158

Устр-во            начало     Конец   Секторы Размер Тип
/dev/nvme0n1p1       2048   1023999   1021952   499M Среда для восстановления Microsoft
/dev/nvme0n1p2    1024000   1226751    202752    99M EFI
/dev/nvme0n1p3    1226752   1259519     32768    16M Зарезервированный раздел Microsoft
/dev/nvme0n1p4    1259520 204799999 203540480  97,1G Microsoft basic data
/dev/nvme0n1p5  204800000 562978815 358178816 170,8G Microsoft basic data
/dev/nvme0n1p6  614400000 614924287    524288   256M EFI
/dev/nvme0n1p7  614924288 616972287   2048000  1000M Файловая система Linux
/dev/nvme0n1p8  616972288 723472383 106500096  50,8G Файловая система Linux
/dev/nvme0n1p9  723472384 976773119 253300736 120,8G Файловая система Linux
/dev/nvme0n1p10 562978816 614399999  51421184  24,5G Linux своп

Элементы таблицы разделов упорядочены не так, как на диске.


Диск /dev/mapper/luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680: 50,8 GiB, 54525952000 байт, 106496000 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/mapper/luks-a631bb86-8605-4145-931d-e95bfe6d5e72: 120,8 GiB, 129687879680 байт, 253296640 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/mapper/swap: 24,5 GiB, 26325549056 байт, 51417088 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
cat /etc/crypttab
luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 UUID=384de2b6-3fdf-4fa7-9f62-a34d6d82f680 none discard
luks-a631bb86-8605-4145-931d-e95bfe6d5e72 UUID=a631bb86-8605-4145-931d-e95bfe6d5e72 none discard
swap /dev/nvme0n1p10 none luks
cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Jul  3 01:18:50 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/luks-384de2b6-3fdf-4fa7-9f62-a34d6d82f680 /                       ext4    defaults,x-systemd.device-timeout=0 1 1
UUID=ae87099a-7a6b-42bd-93f2-fb5a0a685cd9 /boot                   ext4    defaults        1 2
UUID=4508-3B24          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/luks-a631bb86-8605-4145-931d-e95bfe6d5e72 /home                   ext4    defaults,x-systemd.device-timeout=0 1 2
/dev/mapper/swap swap swap defaults 0 0

 , , ,

zamazan4ik ()

Итерации хешей, насколько это криптобезопасно?

Поясните вот про что. Как я понимаю, сами алгоритмы шифрования вроде AES достаточно хорошо исследованы, но что с алгоритмами их практического применения?

Например, в luks и truecrypt с некоторыми отличиями в деталях, но пароль пользователя хэшируется (обычно sha256/sha512) много раз (например сто тысяч раз и более) для замедления подбора. Этим хэшем потом шифруется (расшифровывается) MasterKey, используемый для всего контейнера.

Но доказано ли, что итерации хэша не сужают в итоге количество вариантов (не уменьшают энтропию)?

 , , ,

praseodim ()

luks: раcшифровка по паролю И ключу

Привет.

Я знаю, что есть 8 слотов, в каждый из которых можно добавить passphrase или key file. Для разблокировки раздела можно использовать любой слот.

Теперь вопрос: можно ли сделать так, чтобы для разблокировки нужен был и пароль и ключ, а не только что-то одно? Если нет, то м.б. truecrypt или veracrypt так умеет.

Что-то я ничего не нашел в спутнике.

 , , , ,

maverik ()

При загрузке системы возникает ошибка: ALERT UUID=<...> does not exist. Dropping to a shell!

Здравствуйте!

Недавно занимался установкой Debian через Debootstrap на полностью зашифрованный жёсткий диск (без таблицы разделов, зашифрованный раздел занимает всё пространство). При этом свои личные файлы перенёс в специальную папку, /boot же вынес на флешку. Не могу загрузить установленную систему. При попытке загрузки система запрашивает пароль от жёсткого диска, стартует GRUB, затем, после запуска системы появляется сообщение:

Gave up waiting for root file system device. Common problems:

- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)

ALERT UUID=<UUID зашифрованной ФС> does not exist. Dropping to a shell!

Файл /etc/crypttab заполнен следующим образом:

systemdiamonds /dev/disk/by-uuid/<UUID жёсткого диска> none luks

Файл /etc/fstab заполнен следующим образом:

UUID=<UUID зашифрованной ФС> / ext4 rw,user,auto,exec,dev 0 0
UUID=<UUID загрузочной флешки> /boot ext4 defaults 00
/swap none swap defaults 0 0
proc /proc proc defaults 0 0

Не подскажите, в чём может быть причина? И что нужно сделать?

 , , ,

ShiningRiver ()

LuksOpen : Не создается block device

Перестал открываться криптованный раздел после обновления ядра. Обнаружил, что /dev/mapper/<crypt_name> отсутствует.

#cryptsetup luksOpen /dev/sdc3 enc -d /path/to/key-file
должен создать девайс /dev/mapper/enc, но почему-то ничего не создает. Ошибок никаких тоже не возвращает. Ну и соответственно монтировать некого.

Сам заголовок раздела luks в порядке вроде.

В чем может быть причина?

.config тут: https://pastebin.com/v5BmhMTr

Опции ядра вроде все активированы, dmcrypt в default runlevel добавлен.

 

Chord ()

Backup зашифрованных разделов LUKS

Образ всего зашифрованного раздела можно сделать, без проблем. Но как сделать такой образ, чтобы из 160 Гб, к примеру, записались в образ только реальные 15 Гб данных (остальные 145 Гб не заполнены). Clonezilla может это делать, но только не с зашифрованными разделами, как я понял. Это возможно или противоречит самой природе шифрованных разделов? Правильно ли я понял, что в шифрации данных участвует всё выделенное место под раздел?

Если я прав, то это обратная сторона медали шифрованных разделов - придётся тупо копировать всё пространство(.

 , , ,

Desmond_Hume ()

Luks + USB key + Загрузка полторы минуты.

Всем привет. От программирования я очень далек. Но как то встал вопрос можно ли зашифровать диск и запускать его с usb ключа. Почитав я узнал про Luks. Установил Ubuntu 18.04. Настроил обращение к ключу на флешке согласно этого мануала 8 летней давности http://open-life.org/blog/paranoia/750.html И все мне нравится, кроме одного. При загрузке возникает что-то из за чего загрузка идет 2 минуты. p.s. свап файла нет и раздела тоже. Вот фотка экрана https://d.radikal.ru/d12/1806/12/9e5c1f0f1fe8.png

 ,

melomane ()

Монтирование системных дисков с LUKS с использованием ключей на USB носителе

Система Debian Testing. В наличии системный SSD с зашифрованным рутом и еще два отдельных шифрованных диска.

В Debian после введения systemd появились определенные конфликты с монтированием системных дисков с использование ключей. Кое-как по крохам информации в интернете сумел настроить автодекрипт и монтирование дисков при загрузке системы с использованием ключей на usb устройстве.

Что сделано:

# /etc/fstab
/dev/mapper/system--vg-root /               ext4    errors=remount-ro 0       1

# /boot was on /dev/sdb2 during installation
UUID=<uuid> /boot           ext2    defaults        0       2
# /boot/efi was on /dev/sdb1 during installation
UUID=<uuid>  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/system--vg-swap_1 none            swap    sw              0       0

# USB key
LABEL=<label>         /mnt/key        ext4    defaults,nofail,x-systemd.device-timeout=1

/dev/mapper/cdata       /mnt/cdata      ext4    defaults        0       1
/dev/mapper/cvm         /mnt/cvm        ext4    defaults        0       1

# /etc/crypttab
sdb3_crypt /dev/disk/by-uuid/<uuid> /dev/disk/by-label/<label>:/root.key luks,keyscript=/lib/cryptsetup/scripts/passdev
cdata   UUID=<uuid> /mnt/key/cdata.key luks
cvm     UUID=<uuid> /mnt/key/cvm.key luks
# /etc/default/cryptdisks
CRYPTDISKS_MOUNT='/mnt/key'
systemctl mask systemd-cryptsetup@sdb3_crypt.service
update-initramfs -u -k all

Система загружается, диски монтируются. Затем, если просто достаю флешку с ключами, диски cdata и cvm демонтируются. Если предварительно вручную размонтировать usb устройство и только затем вытащить, то все нормально. Как это дело более грамотно обыграть? Каждый раз лезть в консоль и вбивать «sudo umount /mnt/key» очень неудобно.

И вообще, есть здесь люди с похожим сетапом? Как это реализовано у вас? Не покидает ощущение, что у меня костыль на костыле и при каком-нибудь обновлении системы все слетит.

 , ,

SamuelLJ ()

Preseet для установки Ubuntu на шифрованный раздел.

Всем привет. Проконсультируйте или подскажите в таком вопросе. Мне нужно сделать пресет для автоматической установки Ubuntu 16.04 на шифрованный luks-раздел. функция md-crypt правильно не отрабатывает, инсталятор крешится с ошибкой.Кто сталкивался с данным вопросом. прошу помощи.

 , ,

seempson ()

sync ext4

Флешка полностью зашифрованна LUKSом, на ней лежит профиль ФырФокса и данные с Nextcloud. Если использовать опцию sync при монтировании этой флешки, то можно будет не боясь выдергивать её без размонтирования? Ведь мы минуем все кэши и сразу пишем в память флешки.

 , ,

FluffyPillow ()