как отключить автоаттачь GELI

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-17 14:11:18

ДВС.
FreeBsd 10.1
Собрал ядро с

Код: Выделить всё

options	GEOM_ELI
device	crypto
Система стоит на обычных, только своп зашифрован и дополнительный раздел.

Проблема: при старте системы проситЪ ввести пассфразу. Я так понимаю, что GELI автоматом аттачит gpt/schtirlitc
А мне не надо, чтобы шифрованый раздел автоматом монтировался (в fstab его не прописывал). - Для старта системы он не нужен.
Как сделать чтобы автоаттача нужного раздела не было? Пересобрать ядро без "options GEOM_ELI" не подходит (там ещё своп зашифрован). Не могу найти, где ковырять...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

как отключить автоаттачь GELI

Непрочитанное сообщение Alex Keda » 2015-08-19 9:32:46

собрать без них, потом модулем грузить
Убей их всех! Бог потом рассортирует...

Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-19 16:03:55

А в производительности потери не будет?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

как отключить автоаттачь GELI

Непрочитанное сообщение Alex Keda » 2015-08-20 7:15:26

Нет
Убей их всех! Бог потом рассортирует...

mr.fr
ефрейтор
Сообщения: 53
Зарегистрирован: 2014-10-09 11:12:35

как отключить автоаттачь GELI

Непрочитанное сообщение mr.fr » 2015-08-20 11:16:28

Исаев писал(а):ДВС.
FreeBsd 10.1
Собрал ядро с

Код: Выделить всё

options	GEOM_ELI
device	crypto
Система стоит на обычных, только своп зашифрован и дополнительный раздел.

Проблема: при старте системы проситЪ ввести пассфразу. Я так понимаю, что GELI автоматом аттачит gpt/schtirlitc
А мне не надо, чтобы шифрованый раздел автоматом монтировался (в fstab его не прописывал). - Для старта системы он не нужен.
Как сделать чтобы автоаттача нужного раздела не было? Пересобрать ядро без "options GEOM_ELI" не подходит (там ещё своп зашифрован). Не могу найти, где ковырять...
Странно. По умолчанию GELI не должна монтировать провайдер. в rc.conf прописывали что либо?

Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-20 16:47:45

По умолчанию GELI не должна монтировать провайдер. в rc.conf прописывали что либо?
В том то и дело, что не прописывал. Но мне странность неочевидна, поскольку с geli до сей поры не сталкивался.
Попробовал ядро без опций geli - результат тоже интересный:
загрузку модуля не прописывал.
Да, секурный раздел сам не аттачится. Но, прописанный в fstab swap - вполне себе автоматом запускает geli, аттачится и монтируется.
Вот такие пироги.

Код: Выделить всё

 # cat /boot/loader.conf
geom_eli_load="NO"
root@crypto:~ # 
root@crypto:~ # cat /etc/fstab
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/da0p2.eli  none            swap    sw      0       0
/dev/da0p3      /               ufs     rw      1       1
root@crypto:~ #
в rc.conf geli нету

Загрузка:

Код: Выделить всё

Aug 20 18:31:40 crypto kernel: cd0: Attempt to query device size failed: NOT READY, Medium not present
Aug 20 18:31:40 crypto kernel: Timecounter "TSC" frequency 1866710000 Hz quality 1000
В этом месте был ввод пассфразы если ядро собрано с gali
Aug 20 18:31:40 crypto kernel: Trying to mount root from ufs:/dev/da0p3 [rw]...
Aug 20 18:31:40 crypto kernel: cryptosoft0: <software crypto> on motherboard
А вот автоматом инит и аттач свопа:
Aug 20 18:31:40 crypto kernel: GEOM_ELI: Device da0p2.eli created.
Aug 20 18:31:40 crypto kernel: GEOM_ELI: Encryption: AES-XTS 128
Aug 20 18:31:40 crypto kernel: GEOM_ELI:     Crypto: software
Aug 20 18:31:40 crypto kernel: uhid0: <VMware> on usbus0
Aug 20 18:31:40 crypto kernel: uhid1: <VMware> on usbus0

mr.fr
ефрейтор
Сообщения: 53
Зарегистрирован: 2014-10-09 11:12:35

как отключить автоаттачь GELI

Непрочитанное сообщение mr.fr » 2015-08-20 17:21:47

цитирую handbook
Для удобства использования подсистемы geli в комплект базовой системы FreeBSD входит стартовый скрипт, работой которого можно управлять из rc.conf(5):

geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"
При этом дисковый раздел /dev/da2 будет сконфигурирован как провайдер geli, связан с ключевым файлом /root/da2.key, а кодовая фраза не будет использоваться (отметим, что это возможно только в том случае, если при инициализации geli init был указан ключ -P). Шифрованный провайдер geli будет отсоединен перед выключением системы.
Процедура при использовании geli(8) для шифрования раздела подкачки сходна с использованием gbde(8). В строку файла /etc/fstab, описывающую раздел подкачки, нужно добавить суффикс .eli:

# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.eli none swap sw 0 0
По умолчанию, geli(8) использует алгоритм криптования AES с длиной ключа 256 бит.

При необходимости эти параметры могут быть изменены в опции geli_swap_flags файла конфигурации /etc/rc.conf. Приведенная ниже строка указывает, что скрипт rc.d encswap должен использовать для криптования алгоритм Blowfish с ключом длиной 128 бит, размером сектора 4 килобайта и включенной опцией <<отсоединиться при последнем закрытии>>:

geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
За списком возможных опций обращайтесь к описанию команды onetime в странице справочника geli(8).
Как видите, необходимо отредактировать rc.conf, что бы провайдер автоматически монтировался. Смотрите дефолтовые скрипты, что у вас там написано...

Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-21 0:59:51

2mr.fr:
Если бы Вы внимательно прочли первый пост(или хотя бы название темы), то обнаружили бы, что задача как раз в обратном: чтобы автоматически не монтировался и (главное!) не аттачился. (возможно, я изложил проблему несколько сумбурно)
А у меня фишка в том, что если кернел с geli - всё аттачится автоматом, без всяких

Код: Выделить всё

 geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"
Если же ядро собрано без geli, то секурный раздел автоматом не аттачиться, а своп (см листинг fstab) - аттачится и монтируется. Достаточно указать ".eli". И даже без прописи загрузки geli. Как тот суслик - не видно, но он есть.

Специально для Вас поясняю (если это неочевидно из первого поста и дальнейшего обсуждения):
ключевой файл не используется, используется только пассфраза - поскольку нет физического доступа к серверу. Следует понимать так, что сервер находится во владении третьих лиц, которым я не доверяю. Соответственно, аттачь и монтирование шифрованного раздела должно происходить только после того как я войду по SSH и исполню соответствующие команды ручками (ну, или скрипт запущу).
Приведённые Вами выдержки из манов я читал, в часности, это очевидно из листинга моего fstab.

Для меня загадка: на основании чего фря аттачит секурный раздел, если я о том нигде не указал - сам раздел анализирует, или в прцессе инициализации где-то прописывается номер/метка раздела? (это я о /dev/gpt/schtirlitc, не о свопе). И как ей запретить делать это автоматически при старте - ибо останавливается инициализация, нет пуска sshd и я теряю доступ к системе полностью.
Использовать ядро без options geli мне кажется не решением проблемы, а уходом от неё. Как временная мера подойдёт, но и только. Всё же хочется понять как оно работает. (к сожалению, и английский у меня слаб и как BSD-админ я не особенно крут :sorry: . Так-то можно было и разрабам написать..)

Есть подозрение что маны от предыдущей версии geli, поскольку наличиствует поведение, не описанное в оных...

mr.fr
ефрейтор
Сообщения: 53
Зарегистрирован: 2014-10-09 11:12:35

как отключить автоаттачь GELI

Непрочитанное сообщение mr.fr » 2015-08-21 7:37:01

Если бы Вы внимательно прочли первый пост(или хотя бы название темы), то обнаружили бы, что задача как раз в обратном: чтобы автоматически не монтировался и (главное!) не аттачился.
Я внимательно прочёл. Я понял вашу проблему. Решил развеять ваши сомнения и привёл цитаты из хэндбука. Из него понятно, что необходимо обязательно редактировать файл rc.conf, что бы провайдер монтировался при загрузке. Поэтому посоветовал Вам заглянуть в дефолтовый стартовый сценарий.
Специально для Вас поясняю (если это неочевидно из первого поста и дальнейшего обсуждения):
ключевой файл не используется, используется только пассфраза - поскольку нет физического доступа к серверу. Следует понимать так, что сервер находится во владении третьих лиц, которым я не доверяю. Соответственно, аттачь и монтирование шифрованного раздела должно происходить только после того как я войду по SSH и исполню соответствующие команды ручками (ну, или скрипт запущу).
Приведённые Вами выдержки из манов я читал, в часности, это очевидно из листинга моего fstab.
Я догадался. Просто когда цитировал не стал дергать из контекста, а привёл полностью.
Есть подозрение что маны от предыдущей версии geli, поскольку наличиствует поведение, не описанное в оных...
У меня 10.1 и все работает в "не автоматическом режиме"

Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-21 12:06:59

2mr.fr
необходимо обязательно редактировать файл rc.conf, что бы провайдер монтировался при загрузке
дык вот монтируется. Без упоминания в rc.conf.
ps: под "провайдер монтировался" Вы понимаете "geli attach"?
(несмотря на почти 15 лет общения с фрёй у меня достаточно ограниченные знания по ней, т.к. не было необходимости вникать глубоко и всё работало в доверенном окружении. Так-то я в несколько иной области тружусь)

У меня 10.1 и все работает в "не автоматическом режиме"
А как у Вас подключается geli?
В ядре, в loader.conf?

"дефолтовый стартовый сценарий" -
нашёл упоминания geli в rc.subdir, но насколько я понял, там уже идёт работа с fstab.
поставил вывод дебага.
По приведённому куску messages (6-й пост) видно (по крайней мере я сделал такой вывод) что аттач шифрованного раздела происходит ДО старта rc. Т.е., получается - на стадии инициализации устройств.

mr.fr
ефрейтор
Сообщения: 53
Зарегистрирован: 2014-10-09 11:12:35

как отключить автоаттачь GELI

Непрочитанное сообщение mr.fr » 2015-08-21 13:36:48

undefined писал(а): ps: под "провайдер монтировался" Вы понимаете "geli attach"?
это терминология geli. Пусть будет контейнер, зашифрованный диск. Как вам удобно.
undefined писал(а): А как у Вас подключается geli?
В ядре, в loader.conf?
/boot/loader.conf редактируется обычно для загрузки с зашифрованного диска. В Вашем случае изменения вносят в /etc/rc.conf
undefined писал(а): дефолтовый стартовый сценарий" -
нашёл упоминания geli в rc.subdir, но насколько я понял, там уже идёт работа с fstab.
Смотрите в /etc/default/rc.conf этот файл с параметрами по умолчанию, а /etc/rc.conf переопределяет его.

Исаев
проходил мимо

как отключить автоаттачь GELI

Непрочитанное сообщение Исаев » 2015-08-21 15:21:14

ессно, /etc/default/rc.conf смотрел.
Скудно там.

Код: Выделить всё

# GELI disk encryption configuration.
geli_devices=""		# List of devices to automatically attach in addition to
			# GELI devices listed in /etc/fstab.
geli_tries=""		# Number of times to attempt attaching geli device.
			# If empty, kern.geom.eli.tries will be used.
geli_default_flags=""	# Default flags for geli(8).
geli_autodetach="YES"	# Automatically detach on last close.
			# Providers are marked as such when all file systems are
			# mounted.
И там тоже ничего не прописано. Как и в rc.conf. А он автоаттачится. Вот такая загогулина.

Да и повторюсь: включил отладку стартового скрипта, и стало видно что geli attach просходит ДО старта сего скрипта. Вот же:

Код: Выделить всё

Aug 21 17:10:30 crypto kernel: Trying to mount root from ufs:/dev/da0p3 [rw]...
Aug 21 17:10:30 crypto kernel: start_init: trying /sbin/init
Aug 21 17:10:30 crypto kernel: crypto: <crypto core>
Aug 21 17:10:30 crypto kernel: cryptosoft0: <software crypto> on motherboard
Aug 21 17:10:30 crypto kernel: crypto: assign cryptosoft0 driver id 0, flags 100663296
Aug 21 17:10:30 crypto kernel: crypto: cryptosoft0 registers alg 1 flags 0 maxoplen 0
...[скипнуто]...
Aug 21 17:10:30 crypto kernel: crypto: cryptosoft0 registers alg 17 flags 0 maxoplen 0
Aug 21 17:10:30 crypto kernel: GEOM_ELI: Device da0p2.eli created.
Aug 21 17:10:30 crypto kernel: GEOM_ELI: Encryption: AES-XTS 128
Aug 21 17:10:30 crypto kernel: GEOM_ELI:     Crypto: software
Aug 21 17:10:30 crypto kernel: uhid0: <VMware> on usbus0
Aug 21 17:10:30 crypto kernel: uhid1: <VMware> on usbus0
Смотрите, GEOM_ELI отрабатывает до того, как появляется строка DEBUG стартового скрипта!
Значит, rc.conf (оба) вообще ни причём!
причём, интересная строка: crypto kernel: crypto: <crypto core>
И это фактически начало работы /sbin/init
Специально ещё раз проверил - device crypto - закомментировано..

mr.fr
ефрейтор
Сообщения: 53
Зарегистрирован: 2014-10-09 11:12:35

как отключить автоаттачь GELI

Непрочитанное сообщение mr.fr » 2015-08-25 18:40:54

Очень интересно. Тогда я думаю только о двух вещах. Либо /boot/loader.conf который вы уже показали, либо конфигурационный файл ядра.