Автоматическая загрузка и защита сервера Linux с зашифрованной файловой системой


16

Я настраиваю несколько новых серверов Ubuntu, и я хотел бы защитить данные на них от кражи. Модель угрозы - злоумышленники, желающие получить оборудование, или, скорее, наивные злоумышленники, желающие получить данные.


Пожалуйста, обратите внимание на этот раздел.

Модель угроз не включает умных злоумышленников, желающих получить данные; Я предполагаю, что они сделают одно или несколько из следующего:

  1. Соедините ИБП с кабелем питания, чтобы обеспечить непрерывную работу машины.

  2. Вставьте пару мостов Ethernet между компьютером и точкой завершения сети, которая будет соединять трафик через беспроводную сеть достаточного диапазона, чтобы хост поддерживал сетевое подключение.

  3. Откройте коробку и используйте датчик на шине памяти, чтобы получить интересные вещи.

  4. Используйте устройства TEMPEST, чтобы проверить, что делает хост.

  5. Использовать законные средства (например, по решению суда), чтобы заставить меня раскрыть данные

  6. И т. Д.


Так что я хочу, чтобы некоторые или, в идеале, все данные на диске находились в зашифрованном разделе, а материал ключа был необходим для доступа к нему на каком-либо внешнем носителе. Я могу придумать два способа хранения ключевого материала:

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

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

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

Мы запускаем Ubuntu 9.04, если это что-то меняет.


1
Ваша модель угрозы носит форму с тремя буквами? :)
Свен

Они не носят форму. :-) А если серьезно, нет; Любое правительственное агентство, тайное или нет, может быть достаточно умным, чтобы захватить все оборудование, а не только то, что они могут быстро захватить.
Курт Дж. Сэмпсон

1
Ваш вопрос, кажется, противоречит самому себе. Сначала вы говорите: «Я хотел бы защитить данные на них от кражи», затем вы говорите: «Не включает умных злоумышленников, которым нужны данные». Вы заботитесь о данных или нет?
Zoredache

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

+1 за то, что действительно продумал модель угрозы, что многие люди с похожим вопросом забывают сделать.
слеске

Ответы:


8

Я знаю об одном умном варианте Варианта 1, который называется Мандос.

Он использует комбинацию пары ключей GPG, Avahi, SSL и IPv6, добавленных на исходный RAM-диск для безопасного получения пароля ключа корневого раздела. Если сервер Mandos отсутствует в локальной сети, то ваш сервер является зашифрованным кирпичом или сервер Mandos в течение определенного периода времени не видел пульса от клиентского программного обеспечения Mandos, поэтому он будет игнорировать будущие запросы на эту пару ключей и сервер это зашифрованный кирпич при следующей загрузке.

Главная страница Mandos

Мандос README


1
Интересная идея. Я предполагаю, что вы выполняете PXE-загрузку клиентов, чтобы пара открытых / закрытых ключей не находилась на жестком диске. Тем не менее, вы можете отследить пару ключей по проводам, а затем использовать их в сочетании с анализом передачи ключа шифрования сервером-сервером для расшифровки диска. Целый «сервер не будет раздавать ключ, если он не услышал сердцебиение во временном окне ххх», тоже звучит как отличный способ вовлечь человека в цикл. Аккуратный проект. Не слишком сложно победить, если у вас есть физический доступ, но аккуратно.
Эван Андерсон

2
Эван, ты хочешь прочитать FAQ в Mandos README, я думаю ....
Курт Дж. Сэмпсон

Гектометр Я не понимаю, почему Mandos работает только через локальную сеть. Это потому, что он не может настроить IP-адрес и маршруты для использования Интернета?
Курт Дж. Сэмпсон

1
Curt, Mandos использует для связи локальные адреса ipv6, которые ограничены локальной сетью. Это, однако, означает, что ему не требуется внешняя конфигурация (dhcp) или конфликт с другими серверами в той же локальной сети. en.wikipedia.org/wiki/…
Хакон

1
Как соавтор Mandos, я могу только согласиться с Haakon. На самом деле у Mandos есть способ использовать глобальные IPv4-адреса с использованием ядра ip=и mandos=connectпараметров, см. Эту почту: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-Feb февраля/…, но обратите внимание, что это несколько хрупко, так как клиенты будут пытаться подключиться к указанному серверу только один раз и безвозвратно потерпеть неудачу. Рекомендуемая конфигурация через локальную сеть. Могу также упомянуть, что Mandos доступен в Ubuntu с 9 апреля (а также в тестировании Debian)
Тедди

6

Если вы просто ищете защиту от нетехнических атак, я думаю, что вам лучше всего повысить физическую безопасность.

Мое мышление таково:

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

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

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

В конечном счете, вам нужен (искусственный?) Интеллект, чтобы ввести ключ на сервер. Тот, который может сказать: «Я знаю, что не разглашаю ключ кому-либо, кроме сервера, и я знаю, что он не был украден». Человек может сделать это. Флэш-накопитель USB не может. Если вы найдете другой интеллект, который сможет это сделать, то, я думаю, у вас будет что-то рыночное. > Улыбка <

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

Редактировать:

Я думаю, что мы работаем с различными определениями термина «модель угрозы», возможно.

Если ваша модель угрозы - кража оборудования, то предлагаемое вами решение: шифрование диска, на мой взгляд, ничего не делает для противодействия угрозе. Ваше предлагаемое решение выглядит как противодействие краже данных, а не краже оборудования.

Если вы хотите предотвратить кражу оборудования, вам нужно закрепить его болтами, заблокировать, заложить в бетон и т. Д.

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

Я полагаю, что ваше лучшее "дешевое" решение - это установить какой-то обмен ключами по сети. Я бы поставил одного или нескольких людей в цикл для проверки подлинности «выпуска» ключа в случае перезагрузки. Это приведет к простоям до тех пор, пока человек не «отпустит» ключ, но, по крайней мере, даст вам шанс выяснить, почему запрашивается «выпуск» ключа, и решить, стоит ли это делать.


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

1
Что касается лучшей физической безопасности, я хотел бы сначала взглянуть на менее дорогие варианты. В нынешних условиях нам понадобится много тысяч долларов, чтобы установить что-то, что не может быть быстро побеждено кем-то с парой болторезов.
Курт Дж. Сэмпсон

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

Интересно увидеть комментарий к почти 8-летнему вопросу. Если ваше решение работает для вас, я, безусловно, рад этому.
Эван Андерсон

Я просто подумал «Я не должен некропостить», затем я увидел эти последние комментарии. Я думаю, что модель угроз у Курта такая же, как у меня ... для защиты данных от кого-то, кто ворует оборудование. В нескольких комментариях к этому и другим подобным постам говорилось, что люди могут просто «подслушать» ключевой процесс и выяснить это позже. Только действительно смехотворно плохой процесс может быть прерван любым воспроизведением. Также ... "все, что нужно сделать злоумышленнику, это" ... "взломать любое шифрование, которое вы сделали" ... О ком мы говорим? Каковы шансы, что обычный вор будет иметь такую ​​способность ... или даже желание сделать это?
Даррон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.