Полное шифрование диска с аутентификацией без пароля в Linux

16

У меня довольно стандартная настройка шифрования диска в Debian 5.0.5: незашифрованный /bootраздел и зашифрованный sdaX_crypt, содержащий все остальные разделы.

Теперь это установка безголового сервера, и я хочу иметь возможность загружать его без клавиатуры (сейчас я могу загрузить его только с подключенной клавиатурой и монитором).

До сих пор у меня была идея перенести /bootраздел на USB-накопитель и внести небольшие изменения, чтобы автоматически вводить ключ (я думаю, что где-то просто есть вызов askpassв скрипте загрузки). Таким образом, я могу загружаться без головы, просто нужно иметь флэш-накопитель во время загрузки.

На мой взгляд, проблема в том, что

  1. Мне нужно потратить время на выяснение всех деталей, чтобы все заработало,
  2. Если есть обновление, которое восстанавливает initrd, мне нужно восстановить загрузочный раздел на USB, что кажется утомительным.

Вопрос: есть ли стандартное решение по низкому содержанию для того, что я хочу сделать? Или я должен искать в другом месте вообще?

Алекс Б
источник

Ответы:

7

Вы можете настроить свою систему так, чтобы вместо пароля требовался ключ, а также изменить некоторые сценарии для поиска этого ключа на USB-накопителе. Я нашел подробное объяснение этого процесса на Debian Lenny. В конце есть несколько заметок, которые описывают необходимые изменения для более новых версий Debian.

Марсель Стимберг
источник
Похоже, что мне нужно. Сначала я должен увидеть, сколько усилий нужно приложить, чтобы все работало между обновлениями, прежде чем я приму ответ.
Алекс Б
Хорошо, хотя нет «стандартного» решения, похоже, это сработало.
Алекс Б
5

Но тогда какой смысл иметь полное шифрование диска, если вы просто оставляете ключи в незашифрованном виде?

Чтобы это работало, вам нужно что-то вроде того, каким должна была быть Trusted Computing Platform, до того как Microsoft и Big Media захватили ее в своих злых целях покорения пользователей.

Идея состоит в том, чтобы иметь микросхему, содержащую ключи на материнской плате, и дать ей ключи только тогда, когда будет подтверждено, что работающее программное обеспечение было должным образом подписано доверенным органом (вами). Таким образом, вы не оставляете ключи на виду и вам не нужно загружать сервер в интерактивном режиме.

Жаль, что я никогда не видел, чтобы Trusted Computing находили какое-либо хорошее применение , которое могло бы быть полезно для конечного пользователя .


источник
Ключ не больше лежит в открытом тексте, чем ваш ключ SSH в открытом тексте ~/.ssh. Я просто хочу иметь возможность загрузить безголовый сервер с полным шифрованием диска и вынуть ключ. Я понимаю, что злоумышленник может изменить незашифрованный загрузочный раздел и украсть ключ (как и в любом случае с программной версией обычного пароля), но я просто защищаю от случайной кражи.
Алекс Б
Фактически, TPM в последнее время вернулся к DRM и к правительству и предприятиям. Существует множество операционных систем, которые могут использовать его для хранения секретных ключей, но я не знаю ни одной, которая бы обеспечивала защиту целостности (то есть не позволяла злоумышленнику вставить кейлоггер /boot).
Жиль "ТАК - перестань быть злым"
@AlexB: у вашего сервера есть TPM? Если это так, вы, вероятно, можете делать то, что вы хотите с Trusted Grub .
Жиль "ТАК - перестань быть злым"
Обратите внимание, что преимущество заключается в том, что вы оставляете ключи в незашифрованном виде, то есть вы можете полностью стереть конфиденциальные данные на диске, не обнуляя весь диск. Да, вы можете обнулить суперблок или таблицу разделов, но, как мы все знаем, данные все еще можно восстановить из этих операций.
Стружец
@strugee: если вы используете LUKS, обнуление заголовка LUKS делает весь том невосстановимым. Если вы используете обычный dm-crypt без заголовка, то да, его можно восстановить позже с помощью пароля.
Джей Салливан
5

Мандос (который я и другие написали) решает эту проблему:

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

Короче говоря, загрузочный сервер получает пароль по сети безопасным способом. Смотрите README для деталей.

Тедди
источник
1
Даже если это бесплатное программное обеспечение, заявив, что это ваш продукт, мы будем благодарны, если на самом деле не требуется . Также будет приветствоваться более читабельная ссылка README / FAQ и краткое объяснение того, как работает Mandos.
Жиль "ТАК - перестать быть злым"
1
@ Жиль: Готово сейчас.
Тедди