Я пишу Chef LWRP для добавления ключа к контейнеру LUKS, и мне трудно найти способ определить, существует ли мой ключ уже. cryptsetup luksAddKey
с радостью добавит один и тот же ключевой файл несколько раз, поэтому я не могу просто продолжать звонить luksAddKey
каждый шеф-повар работает.
Пока что лучшее, что я придумал, это
cryptsetup luksDump /dev/xvdf1 --dump-master-key --key-file <thenewkey> > /dev/null
Кажется:
У кого-нибудь есть идея получше?
Спасибо!
Я не вижу возможности протестировать ключ без разблокировки громкости (по крайней мере, имея в виду загрузку процессора). Но у кого нет этих нескольких секунд процессора? У вас много томов LUKS на систему?
Вы также можете сделать это:
Каждый раз, когда вы добавляете ключ, вы сохраняете дайджест файла (он даже не обязательно должен быть безопасным дайджестом; подойдет даже MD5). Вы делаете каталог /etc/my_luks_keyfiles
. Для каждого тома LUKS в системе вы создаете подкаталог с UUID (cryptsetup luksUUID /dev/bla
). Если вы добавите ключ, вы создадите файл, например, метка времени как имя и дайджест как содержимое. Если вы удалите ключ, вы удалите файл. Если вы хотите узнать, активен ли ключ, вы сравниваете все файлы в каталоге с дайджестом (т.е. вам не нужно передавать файл ключа).
И если файлов больше или меньше, чем активных слотов, значит, вы все испортили ...