Это может быть действительно глупый вопрос, но, тем не менее, начнем.
Я только что купил пару серверов. Я уже установил Ubuntu с зашифрованным LVM на одном, и я планирую сделать то же самое с другим. Это означает, что каждый раз, когда я загружаю каждую из этих машин, я должен вводить кодовую фразу. И мне придется делать это каждое утро, потому что я каждую ночь выключаю каждую машину из соображений безопасности.
Проблема вот в чем: у меня нет мониторов или клавиатур для этих серверов. Мне кажется, у меня есть два варианта:
Я сомневаюсь, что вариант №1 - это вариант, но я хочу убедиться, что это не так, прежде чем куплю KVM. Можно ли ввести кодовую фразу удаленно? И это хорошая идея?
Если ваши серверы поддерживают IPMI 2.0 SOL (Serial-over-LAN), вы можете использовать ipmiconsole или аналогичную утилиту, чтобы получить последовательную консоль на вашем компьютере. После того, как вы это сделаете, это не большой шаг, чтобы получить ввод с клавиатуры, отправленный на ваш виртуальный последовательный порт. Ваша ОС может потребовать дополнительной настройки для использования последовательной консоли.
Что касается того, хорошая ли это идея, ну, здесь нет однозначного ответа. Это зависит от того, что вы пытаетесь обезопасить и чего пытаетесь этим добиться. Почти во всех случаях, которые я видел, шифрование всего диска на сервере - это полный перебор, потому что оно не защищает вас ни от чего, кроме физического взлома. Большинство вторжений / взломов по очевидным причинам происходит на серверах, которые включены, а не на выключенных.
Один из возможных вариантов - переделать его так, чтобы базовая система (/ /usr /etc /lib
и тому подобное ... вещи, которые одинаковы для всех систем Linux) не зашифрованы, а ваши фактические данные для защиты в отдельном LV, который зашифрован. Затем система должна иметь возможность загрузиться до состояния, в котором вы можете удаленно войти в систему, смонтировать зашифрованный раздел и указать пароль в это время.
Это вариант, который я использую с моими серверами баз данных, с разделом encryptd только для базы данных, который не запускается при загрузке, поэтому я могу войти в систему, смонтировать раздел и запустить базу данных.
Может быть, вы хотите использовать для этой цели USB-токен? Конечно, это сместит безопасность с сети на физическую. Я уверен, что вы знаете, что вы не можете достичь полной безопасности, но вы должны пойти на компромисс.
Один совет: привычки приводят к тому, что вы теряете бдительность, что приводит к большей склонности к оплошностям и мелким ошибкам, что ведет к темной стороне и, в конечном итоге, к ложному чувству безопасности.
Я настоятельно рекомендую не полагаться на массивную единицу безопасности для всего, а вместо этого полагаться на небольшие модульные плагины, которые могут дать вам более детальный контроль. Например: зашифрованный LVM - это нормально, но используйте USB-токен в качестве ключа для загрузки системы. Затем смонтируйте только те разделы, которые вам действительно нужны (и зашифруйте их с помощью разных ключей), возможно, даже введите ключи удаленно или (лучше!) Пусть устройство для чтения карт будет использовать то, что вы всегда носите с собой, чтобы аутентифицировать вас и предотвратить ответные атаки. Положитесь на хорошие исправления и избыточные системы безопасности, а не на один брандмауэр или одно «решение» (т.е. установите два дублирующих брандмауэра на разных машинах и сделайте один невидимым, выполнив прозрачный мост). Держите одну систему в автономном режиме и сравнивайте контрольную сумму через случайные промежутки времени (дни, недели, часы и т. Д.). И так далее.
Если вам нужна быстрая и грязная безопасность, забудьте о части «безопасности».
Это могло быть невозможно, когда вопрос был первоначально задан, но теперь можно настроить ваш initrd, чтобы вы могли вводить парольную фразу через ssh.
На основе этого руководства для Ubuntu - http://blog.nguyenvq.com/2011/09/13/remote-unlocking-luks-encrypted-lvm-using-dropbear-ssh-in-ubuntu/ - Мне удалось настроить несколько моих серверов Debian, чтобы я мог удаленно их разблокировать.