14

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

Существует ли такая вещь в Linux? Или, если нет, что было бы лучшей альтернативой для создания зашифрованных файлов журнала?

Мой текущий обходной путь состоит из простой передачи данных через gpg --encrypt , который работает, но очень громоздкий, так как вы не можете легко получить доступ к файловой системе в целом, вы должны передать каждый файл через gpg --decrypt вручную ,

3 ответа3

4

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

Это невозможно. Если система полностью взломана, тогда "по определению" все, что на ней доступно, включая ключи шифрования.

Шифрование бесполезно для защиты от взлома системы, пока система работает, ЕСЛИ ключи для шифрования / дешифрования данных находятся в одной системе с зашифрованными данными. Например, если у вас смонтирована файловая система LUKS, и кто-то получает root-доступ к вашей системе, можно извлечь ключи из ОЗУ - потому что они должны жить в ОЗУ для расшифровки файловой системы. В вашей ситуации, если вы вводите свою фразу-пароль каждый раз, когда шифруете файл, вы защищены (при условии, что в вашей системе нет кейлоггера), если нет, то вы находитесь в той же ситуации, и кто-то, кто скомпрометирует вашу систему, может обнаружить, что ключ и отменить все ваше шифрование.

Вам необходимо отправить данные, которые вы хотите защитить, за пределы системы + НЕ записывать их на промежуточный носитель в этой системе, если вы абсолютно не хотите, чтобы root получал к ним доступ. rsyslog явно поддерживает это в отношении ведения журнала, и вы можете зашифровать соединение между источником и приемником с помощью OpenVPN, stunnel или аналогичного. Я уверен, что есть и другие варианты односторонней передачи.

3

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


$ touch log
$ chmod 222 log
$ echo test > log
$ cat log
cat: log: Permission denied

Конечно, этот файл может находиться в зашифрованной файловой системе.

1
umask 0477 && touch file && echo test > file && cat file

тоже может быть полезным. Любой файл, созданный в текущем процессе, будет иметь режим 0200.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .