Как скрыть зашифрованную версию файла, помещенного в файловую систему cryptfs?

Допустим, я создаю зашифрованную папку и добавляю в нее файл:

# mount -t ecryptfs /srv /srv
# echo word > /srv/file

Содержимое файла недоступно только после размонтирования файловой системы.

Как мне настроить ecryptfs (или использовать альтернативную систему шифрования в Linux), чтобы содержимое файла не было незашифрованным в любое время?


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

0
24.11.2016, 18:20
2 ответа

Я не уверен, что в данном случае вам нужна зашифрованная файловая система.

Почему бы не использовать псевдоним (см. псевдоним man ), чтобы использовать инструмент gpg (см. man gpg ), чтобы расшифровать / зашифровать указанный файл / папку при открытии / закрытии?

Пример этого можно найти @ моя главная страница (рабочий пример)

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

1
28.01.2020, 02:34

Общий ответ (насколько я знаю, это AIX EFS, а не Linux)

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

Выполните тест:
* как пользователь без полномочий rootA добавьте файл в вашу зашифрованную файловую систему, режим 644
* как пользователь без полномочий rootB - вы не ожидается, что вы знаете ключ шифрования, поэтому в идеале вы не можете видеть «открытый текст», лучше не иметь доступа.
* как root, в идеале, без доступа (без ключа дешифрования), в худшем случае, может видеть зашифрованные данные.

В AIX, поэтому я предполагаю, что Linux такой же: вам понадобятся некоторые учетные данные, которые позволят вам получить доступ (секретный ключ, используемый для шифрования / дешифрования) данных в состоянии покоя и / или доступа к кэшированному представлению одних и тех же данных «в кэшированной памяти» - помимо традиционных механизмов доступа * NIX DAC.

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

1
28.01.2020, 02:34

Теги

Похожие вопросы