LINUX.ORG.RU

Не работает шифрование в xen dom0 ядре (RHEL6)


0

1

Поставил RHEL6 в минимальной конфигурации, разбив диски на /boot и остаток под зашифрованный LVM (зашифрованные PV, незашифрованные VG и LV). Из коробки всё работает, при загрузке спрашивается пароль, после его ввода система загружается.

Захотелось попробовать RHEL6 в качестве xen dom0. Следуя http://wiki.xen.org/xenwiki/RHEL6Xen4Tutorial, установил всё как там описано. С шифрованием не работает, без шифрования работает (переставлял систему без шифрования и сейчас снова поставил с шифрованием; руками его не включал и не отключал - т. е. что-то подпортить своими неправильными действиями не мог).

Перезагружаюсь, в GRUB выбираю новое ядро, система доходит до ввода пароля, но пароль не принимает.

Для отладки загрузился с новым ядром, убрав в grub rhgb и добавив rdshell rdinitdebug.

dracut: + i=0
dracut: + :
dracut: + check_finished
dracut: + local f
dracut: + [ -e /initqueue-finished/block.sh ]
dracut: + . /initqueue-finished/block.sh
dracut: + [ -e /dev/root ]
dracut: + return 1
dracut: + udevsettle
dracut: + [ -z 147 ]
dracut: + [ 147 -ge 143 ]
dracut: + udevadm settle --exit-if-exists=/initqueue/work
dracut: + check_finished
dracut: + local f
dracut: + [ -e /initqueue-finished/block.sh ]
dracut: + . /initqueue-finished/block.sh
dracut: + [ -e /dev/root ]
dracut: + return 1
dracut: + [ -f /initqueue/work ]
dracut: + rm /initqueue/work
dracut: + [ -e /initqueue/cryptroot-ask-sda2.sh ]
dracut: + job=/initqueue/cryptroot-ask-sda2.sh . /initqueue/cryptroot-ask-sda2.sh
dracut: + [ -e /initqueue/cryptroot-ask-sda2.sh ]
dracut: + rm /initqueue/cryptroot-ask-sda2.sh
dracut: + /sbin/cryptroot-ask /dev/sda2 luks-f31ad481-0ba4-4b15-8696-c45573d290f8
dracut: + luksname=luks-f31ad481-0ba4-4b15-8696-c45573d290f8
dracut: + [ /dev/sda2 != /dev/sda2 ]
dracut: + device=/dev/sda2
dracut: + [ -f /etc/crypttab ]
dracut: + getargs rd_NO_CRYPTTAB
dracut: + set +x
dracut: + return 1
dracut: + read name dev rest
dracut: + [ -z luks-f9991279-b526-417c-b762-493354760f29 -o luks-f9991279-b526-417c-b762-493354760f29 != luks-f9991279-b526-417c-b762-493354760f29 ]
dracut: + [ UUID = UUID ]
dracut: + [ luks-f9991279-b526-417c-b762-493354760f29 = luks-f31ad481-0ba4-4b15-8696-c45573d290f8 ]
dracut: + read name dev rest
dracut: + [ -z luks-f31ad481-0ba4-4b15-8696-c45573d290f8 -o luks-f31ad481-0ba4-4b15-8696-c45573d290f8 != luks-f31ad481-0ba4-4b15-8696-c45573d290f8 ]
dracut: + [ UUID = UUID ]
dracut: + [ luks-f31ad481-0ba4-4b15-8696-c45573d290f8 = luks-f31ad481-0ba4-4b15-8696-c45573d290f8 ]
dracut: + luksname=luks-f31ad481-0ba4-4b15-8696-c45573d290f8
dracut: + break
dracut: + unset name dev rest
dracut: + prompt=Password [/dev/sda2 (luks-f31ad481-0ba4-4b15-8696-c45573d290f8)]:
dracut: + [ 41 -gt 8 ]
dracut: + sluksname=
dracut: + sluksname=luks-f31
dracut: + prompt=Password for /dev/sda2 (luks-f31...)
dracut: + flock -s 9
dracut: + /bin/plymouth ask-for-password --prompt Password for /dev/sda2 (luks-f31...) --command=/sbin/cryptsetup luksOpen -T1 /dev/sda2 luks-f31ad481-0ba4-4b15-8696-c45573d290f8

Password for /dev/sda2 (luks-f31...):************
device-mapper: table: 253:0: crypt: Invalid IV mode
dracut: device-mapper: reload ioctl failed: Invalid argument
dracut: Failed to setup dm-crypt key mapping for device /dev/sda2
dracut: Check that kernel supports aes-xts-plain64 cipher (check syslog for more info).
dracut: Failed to read from key storage

Password for /dev/sda2 (luks-f31...):<Ctrl-C>
дальше много раз повторяется некоторый набор команд через sleep 0.5, потом быстро проскакивает много команд (не успеваю разобрать :)), получаю emergency shell
dracut:/# modprobe -l | grep dm
kernel/drivers/md/dm-multipath.ko
kernel/drivers/md/dm-queue-length.ko
kernel/drivers/md/dm-round-robin.ko
kernel/drivers/md/dm-crypt.ko
kernel/drivers/md/dm-service-time.ko
kernel/drivers/ata/pata_optidma.ko
kernel/drivers/ata/pdc_adma.ko
dracut:/# modprobe -l | grep crypt
kernel/drivers/md/dm-crypt.ko
kernel/drivers/crypto/padlock-aes.ko
kernel/arch/x86/crypto/aesni-intel.ko
kernel/arch/x86/crypto/aes-x86_64.ko
kernel/arch/x86/crypto/fpu.ko
kernel/crypto/aes_generic.ko
kernel/crypto/cryptd.ko
kernel/crypto/xts.ko
kernel/crypto/cbc.ko
kernel/crypto/sha256_generic.ko
kernel/crypto/gf128mul.ko
kernel/fs/ecryptfs/ecryptfs.jo
dracut:/# modprobe -l | grep aes
kernel/drivers/crypto/padlock-aes.ko
kernel/arch/x86/crypto/aesni-intel.ko
kernel/arch/x86/crypto/aes-x86_64.ko
kernel/crypto/aes_generic.ko
Вроде все модули на месте.

Помогите, пожалуйста, разобраться, в чём проблема, почему не работает с включенным шифрованием?

P. S. Вышеприведенный листинг перепечатывал с экрана, мог где-то ошибиться на букву или две.

P. P. S. Если пишу не в тот раздел, заранее приношу извинения и прошу переместить.

>dracut: Check that kernel supports aes-xts-plain64 cipher (check syslog for more info).

Чего ж тут непонятного? Ну не поддерживает ванильное 2.6.32 (из которого твое dom0 kernel сделали) шифрования по aes-xts-plain64. А rhel'овское 2.6.32 — поддерживает. И не только это, но еще многое из того, чего нет не только в ванильном 2.6.32, но и в свежайшем 2.6.37-rc8.

Забей на скрещивание ежа с ужом. Хочешь xen — ставь sles.

nnz ★★★★
()
Ответ на: комментарий от nnz

Действительно, загрузился в новое ядро, сделал cat /proc/crypto и там нет ничего связанного с aes. Странно, ведь модули включены? А как включить поддержку aes-xts-plain64?

Насчёт sles спасибо, посмотрю.

trytrytry
() автор топика
Ответ на: комментарий от trytrytry

>Действительно, загрузился в новое ядро, сделал cat /proc/crypto и там нет ничего связанного с aes. Странно, ведь модули включены?

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

А как включить поддержку aes-xts-plain64?


Скорее всего, только портированием патча из rhel или из свежей ванилы (если в ней это есть).

nnz ★★★★
()
Ответ на: комментарий от nnz

> Скорее всего, только портированием патча из rhel или из свежей ванилы (если в ней это есть).

Можете послать по ссылке в how to? :)

trytrytry
() автор топика
Ответ на: комментарий от trytrytry

>Можете послать по ссылке в how to? :)

Это вряд ли. Для такого дела нужен грамотный системный программист.

nnz ★★★★
()

>> Вроде все модули на месте.

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

GotF ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.