From: "Vladimir D. Seleznev" <vseleznv@altlinux.org> To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org> Subject: Re: [sisyphus] Как установить систему на зашифрованный диск? Date: Fri, 9 Mar 2018 20:01:09 +0300 Message-ID: <20180309170109.GA13979@portlab> (raw) In-Reply-To: <21a68a5b-3f70-ccb8-ac76-c415c00c72b2@complife.ru> On Thu, Mar 08, 2018 at 09:04:11PM +0100, Michael A. Kangin wrote: > Здравствуйте. > > Простите за такой вопрос в 2018 году, но я опять в непонятках - где > можно в инсталляторе сказать, чтобы зашифровать при установке весь диск? > > Ну т.е. про то, что /boot и всякие EFI System/BIOS boot разделы должны > остаться нетронутыми - это понятно, но вот /, swap, /home и /var > хотелось бы иметь зашифрованными, и чтобы при загрузке вводить только > один пароль на всех. Можно и /boot шифровать, но это не так удобнее сделать. В инсталляторе можно создать несколько зашифрованных разделов без использования LVM, а потом сделать расшифровку с помощью ключа с помощью механизма crypttab (работает и под systemd, и под sysvinit). Недавно в make-initrd была добавлена возможность через параметры ядра игнорировать расшифровки отдельный зашифрованных массивов [1], поэтому рецепт такой. В случае незашифрованного /boot: 1. С помощью инсталлятора создать таблицу разделов с нужными зашифрованными разделами. 2. В уже установленной загруженной системе сгенерировать ключ расшифровки, и с cryptsetup добавить в новый слот ключей, сам ключ сохранить где-нибудь в rootfs с правами доступа 0000 (например, в /etc/luks/key). 3. Написать правила для crypttab'а (к сожалению, справочная страница сейчас доступна только в пакете systemd, что странно, мне казалось, я её видел раньше), в котором перечислить все зашифрованные разделы с файловыми системами, отличными от rootfs, формат которого: имя_расшифрованного_устройства зашифрованное_устройство путь_к_файлу_ключа опции_расшифровка 4. Добавить в параметры загрузки ядра (прописав в /etc/sysconfig/grub) параметры luks-ignore с имена зашифрованных устройств, отличных от rootfs, перегенерировать grub 5. Установить пакет make-initrd-luks В случае зашифрованного /boot: 1. Зашифровать все файловые системы, в этом случае попросят ввести пароль на загрузчик. 2. В установленной системе сгенерировать ключ расшифровки, добавить его в слоты для расшифровки разделов, положить куда-нибудь (например, /etc/luks/key с правами доступа 0000). 3. В /etc/initrd.mk дописать строчку: PUT_DIRS += /etc/luks 4. Написать правила для crypttab аналогично предыдущему сценарию. 5. Добавить в параметры загрузки ядра luks-ignore'ы аналогично предыдущему сценарию. 6. Добавить в параметры загрузки ядра параметр luks-key=key (если ключ лежит в файле /etc/luks/key). 7. Установить make-initrd-luks. Минусы обоих вариантов: на текущий момент ключ дешифровки лежит в файловой системе в открытом виде и защищён только правами доступа. Если это неприемлемо, то подойдёт только схема LVM на LUKS. Генерировать ключ надо в файл с уже правильными правами доступа, иначе теряется всякий смысл. > Как это вообще сделать, я более-менее представляю несколькими методами, > сплошной закат солнца вручную. Про всякие хитрые лив-сборки тоже > представляю. > > А из штатного инсталлятора от штатной alt-workstation, по феншую? Увы, пока никак. [1] http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/luks/README.md;h=6c0b91b0b36acc7f886d64af995ba2ff9bc16f2c;hb=80c527b31e17193b4cf4157e136078246876d6a1 -- С уважением, Владимир Селезнев
next prev parent reply other threads:[~2018-03-09 17:01 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-08 20:04 Michael A. Kangin 2018-03-09 13:28 ` Stas 2018-03-09 14:11 ` Michael A. Kangin 2018-03-11 16:01 ` Michael Shigorin 2018-03-09 17:01 ` Vladimir D. Seleznev [this message] 2018-03-09 20:46 ` Michael A. Kangin 2018-03-09 23:32 ` Vladimir D. Seleznev 2018-03-10 19:46 ` Leonid Krivoshein
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180309170109.GA13979@portlab \ --to=vseleznv@altlinux.org \ --cc=sisyphus@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git