Я пытаюсь придумать способ защитить серверы Linux, открытые для физического доступа. Моя конкретная платформа - это серверы Linux малого форм-фактора от бренда PC Engines. alix2d13 системная плата. Небольшие размеры представляют собой дополнительный риск удаления злоумышленником из помещения.
Предполагая, что есть физический доступ к серверу:
1) ROOT-PASSWORD: вы подключаете консольный кабель к серверу и получаете запрос на ввод пароля. Если вы не знаете пароль, перезапустите машину в однопользовательском режиме и сбросьте пароль. Вуаля, вы получаете root-доступ.
Для защиты вышеизложенного вы вставляете пароль в GRUB меню, поэтому при перезапуске сервера для входа в однопользовательский режим вам необходимо указать пароль GRUB.
2) GRUB_PASSWORD. Если вы выключите машину, вытащите жесткий диск и установите его на другую рабочую станцию, вы сможете просматривать /boot
каталог, содержащий файл grub.cfg, внутри которого вы можете найти пароль GRUB. Вы можете изменить пароль GRUB или удалить его.
Очевидно, что когда мы говорим о больших производственных машинах, скорее всего, не будет никакого физического доступа, и кроме этого, даже если кто-то получит физический доступ к серверу, он не отключит его.
Каковы возможные решения для предотвращения кражи данных на серверах, которые физически легко украсть?
На мой взгляд, так или иначе доступ к содержащимся в нем данным может быть получен.
Правило, с которым я всегда работал, заключается в том, что, как только злоумышленник получает физический доступ к вашему хосту, он может в конечном итоге взломать его - если, как говорит Касперд, вы не используете надежное шифрование всего диска с паролем загрузки и не хотите туда, чтобы вводить его каждый раз при загрузке хоста.
Решение, о котором я знаю, - это зашифровать диск и использовать TPM: Модуль доверенной платформы
Таким образом, теперь есть способ расшифровать жесткий диск как:
Приложения полного [...] шифрования диска могут использовать эту технологию [TPM] для защиты ключей, используемых для шифрования жестких дисков компьютера, и обеспечения аутентификации целостности для надежного пути загрузки (например, BIOS, загрузочного сектора и т. Д.). сторонние продукты для полнодискового шифрования также поддерживают TPM. Однако TrueCrypt решил не использовать его. - Википедия
Конечно, я могу ошибаться, и TPM можно легко взломать, или я могу не знать других решений.
Полное шифрование диска - хорошая идея для ноутбуков и небольших домашних серверов.
Для полного шифрования диска не требуется TPM. И даже TPM не может защитить вас от сложных злая горничная атака. Таким образом, чтобы действительно защитить ваш небольшой домашний Linux-сервер (или центр обработки данных), вам потребуются соответствующие другие меры физического противодействия.
Для домашнего использования может быть достаточно установить какое-нибудь творческое оборудование для самостоятельной сборки, которое:
Для журналистов и разоблачителей, которые сталкиваются с огромными компаниями или могущественными государственными учреждениями в качестве врагов, это, вероятно, все еще недостаточно безопасно. Эти трехбуквенные агентства могут иметь судебно-медицинское оборудование необходимо, чтобы спасти чистый текст из RAM даже минуты после отключения питания.
Вот простое решение: пересобрать ядро без однопользовательского режима!
Более точно, отредактируйте ядро Linux, которое вы используете, чтобы режим S был переназначен на любой режим по умолчанию (3,4,5). Таким образом, любая попытка загрузки в однопользовательском режиме запускает систему в обычном режиме. Вероятно, вы могли бы сделать то же самое в сценариях инициализации. Таким образом, не было бы никаких специальных средств входа в систему без знания пароля.
Зайдите и спросите на сайте электроники. Я почти уверен, что есть встроенные конструкции SOC, которые шифруют все, и как только вы их объедините, обратное проектирование «невозможно».
Тем не менее, я был на презентации DefCon, где команда показала, как именно они ее разобрали. Во многих случаях микросхемы не были слиты, или конструкция микросхемы по глупости включала неподключенный порт отладки. На других они удаляли слои чипа химическим способом и считывали чип с помощью сканирования под электронным микроскопом. Вы никогда не будете застрахованы от действительно преданных хакеров.
Я хотел бы предложить другой подход, если вы готовы рассмотреть деструктивные превентивные меры. Подумайте о том, чтобы припаять конденсатор большой емкости к вашему жесткому диску и оперативной памяти, который при обнаружении несанкционированного доступа (вы выбираете метод / датчики) разряжает разрушающие данные.
Это «предотвращает» доступ в том смысле, что никто не может впоследствии получить доступ к системе. Таким образом, он дает дословный ответ на вопрос, хотя, возможно, полностью игнорирует ваши намерения.
Конденсатор - это просто пример. Существуют и другие возможности. Проблема в том, что погодное разрушение устройства (или, по крайней мере, содержащихся в нем данных) приемлемо.
Также возможно решение на основе таймера - если устройство не может пинговать домой каждые несколько минут / часов / ... оно самоуничтожается. Много разных возможностей по этой теме.
Потенциальным решением было бы использовать полное шифрование диска, поместить ключ на USB-накопитель / карту памяти и поместить компьютер в металлическую коробку с единственной дверцей, которая имеет переключатель открытия, а также некоторые датчики окружающей среды.
Для загрузки устройства, как только вы вставляете USB-накопитель в порт (за пределами «хранилища»), он считывает оттуда ключ FDE и загружает систему. Если "хранилище" когда-либо будет открыто, открывающий переключатель перезагрузит систему, стирая ключ из памяти.
Если позволяет окружающая среда, вы можете добавить дополнительные датчики, такие как температура, ускорение, влажность и т. Д. Если обнаруживается внезапное изменение в сообщаемых значениях, система перезагружается, поэтому, если вор просто пытается взять систему и положить ее в его кармане он будет перезагружен еще до того, как он отключит его от всех кабелей.