Make-initrd development discussion
 help / color / mirror / Atom feed
From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Каким образом штатно отключить копирование ключевых файлов luks в initrd?
Date: Sun, 16 Apr 2023 15:35:14 +0200
Message-ID: <ZDv5ktXanyY/4tKX@example.org> (raw)
In-Reply-To: <be6a9b47-3b67-122c-8d67-83f64f78bbde@yandex.ru>

On Sun, Apr 16, 2023 at 03:18:20PM +0300, Alexander wrote:
> 16.04.2023 13:33, Alexey Gladkov пишет:
> > 
> > Сейчас возможности проигнорировать запись нет. Я думаю нужно ввести опцию
> > x-initrd.ignore для crypttab в противовес к x-initrd.attach. Чтобы можно
> > было игнорировать запись в crypttab даже если make-initrd посчитает его
> > необходимым. Добавлю в следующем релизе.
> > 
> 
> 
> Лучше не совсем так...Наверное лучше сделать опцию x-initrd.ignore-key.
> При этом запись из crypttab используем, опции монтирования из нее 
> используем, но именно сам ключ не копируем в initrd, хотя и запоминаем 
> где он лежит.

Ok. Можно.

> Потому как та схема какая есть сейчас, позволяет иметь шифрованные /home 
> и /swap и работающий resume из шифрованного swap. При этом пароль 
> запрашивается только один раз, а ключ от swap при загрузке берется из 
> шифрованного /home (и недоступен без предварительной расшифровки /home 
> или /swap по паролю).
> Если совсем проигнорировать строчку из crypttab то  наверное уже не 
> получится так сделать - без строчки из cryptatb разве получится 
> расшифровать swap при resume их hibernate?

Если не будет информации о swap, то ничего конечно не расшифруется.

> В принципе, насколько я понял, достаточно обойти по какому-то 
> условию/флажку только вот эти строки, которые я у себя пока просто 
> закомментировал (нештатное решение проблемы):
> #       if [ -z "$keydev" ] && [ -f "$keyfile" ]; then
> #               mkdir -p -- "$DIR/${keyfile%/*}"
> #               cp -- "$keyfile" "$DIR/$keyfile"
> #       fi
> 
> 
> А зачем вообще нужно копировать ключ шифрования в initrd? Судя всему - 
> раз так сделано специально - это зачем-то нужно, но я так и не смог 
> смоделировать для себя ситуацию, когда скопированный в initrd ключевой 
> файл не сводит все шифрование к фикции...

Ключи имеют смысл лишь если они находятся на отдельном устройстве, на
смарткарте (не поддерживается через crypttab) или сам initrd лежит на
отдельном устройстве. Остальные конфигурации будут фикцией, да.

Генерация crypttab срабатывает только для разделов, которые необходимо
обрабатывать в initrd. Если для рута нужен ключ, который лежит на диске,
то его необходимо его скопировать, иначе мы просто не сможем загрузиться.

Я не вижу других вариантов.

Я понимаю, что в вашей конфигурации сначала расшифровывается /home по
паролю, а оттуда берётся ключ для swap. Но я не знаю как можно отследить
такую ситуацию.

> Мне кажется, что логичнее при обработке cryptab вообще никаких ключей не 
> копировать в initrd по умолчанию, если только пользователь не укажет 
> явно какую нибудь опцию типа  x-initrd.copy-keyfile осознанно понимая 
> зачем он это делает.

К сожалению systemd-cryptsetup-generator(1) такого не умеет.

Я могу лишь дать возможность сделать возможность сделать конфигурацию
какую хочется. 

-- 
Rgrds, legion



  reply	other threads:[~2023-04-16 13:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-16  7:07 Alexander
2023-04-16 10:33 ` Alexey Gladkov
2023-04-16 10:45   ` Alexey Gladkov
2023-04-16 12:18   ` Alexander
2023-04-16 13:35     ` Alexey Gladkov [this message]
2023-04-17 13:35 ` Alexey Gladkov

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=ZDv5ktXanyY/4tKX@example.org \
    --to=gladkov.alexey@gmail.com \
    --cc=make-initrd@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

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/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 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git