Я устанавливаю несколько безопасных серверов Ubuntu с полным шифрованием диска. У них есть небольшой загрузочный раздел и большой LUKS-зашифрованный диск с LVM для обеспечения остальных разделов. В настоящее время они настроены на использование пароля при загрузке. Однако мне было интересно, есть ли у них способ получить ключ расшифровки с TFTP-сервера, общего ресурса NFS или аналогичного, который позволил бы мне перезагрузить мои серверы без необходимости доступа к консоли. Я бы все равно зашифровал сервер ключей и потребовал бы консольный доступ и парольную фразу для его загрузки, но тогда мне пришлось бы иметь дело только с вводом парольной фразы для одного поля, а не с 20 зашифрованными серверами.

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

Есть ли способ сделать это? Имеет ли смысл то, что я пытаюсь сделать?

2 ответа2

0

Использование шифрования диска не имеет особого смысла, если у вас есть сервер, который отправляет ключ дешифрования любому, кто его запрашивает. Вы не можете выполнить какую-либо значимую аутентификацию клиента, который еще даже не загрузился; лучшее, что вы можете сделать, это проверить его MAC-адрес, который злоумышленник может легко подделать.

0

Из личинки? Да, это возможно. Теоретически. Но это еще не сделано. Вам нужно написать (или, скорее, изменить) модуль GRUB или два, чтобы его запустить.

Если вас не волнует, находится ли код для его загрузки в initrd, то это на самом деле довольно просто - "keyscript" - это скрипт, который возвращает ключ. Смотрите "man crypttab". Он будет включен в initramfs автоматически, но вам придется написать сценарий "hook" «initramfs-tools» для включения любых двоичных файлов, которые вам нужно вызывать во время загрузки. (IE ваша программа TFTP)

Похоже, стоит сделать что-то стоящее. Я думал о «маленьком компьютере с батарейным питанием с ключом в ОЗУ, запрограммированном на удаление указанного ключа, когда сетевой кабель отключен». Таким образом, если кто-то украдет ваши компьютеры, они не получат никаких данных. Это не так безопасно, как вводить парольную фразу каждый раз на каждом компьютере, но это более безопасно, чем USB-ключ, который у вас есть (который может быть украден), и НАМНОГО проще в использовании.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .