В наши дни особой важности набирает защита данных и личной информации. С помощью информации и файлов, которые хранятся на компьютере можно узнать очень многое о человеке, который этим компьютером пользуется. Поскольку там могут быть не только ненужные данные, но логины, пароли или просто токены доступа к различным сетевым ресурсам.
Для защиты информации от несанкционированного доступа при физическом контакте с вашим устройством можно использовать шифрование и шифрованные файловые системы. Такой метод дает достаточно большую надежность и прост в использовании, разве что во время монтирования нужно вводить пароль. Еще один вариант - это передача файлов через интернет. Такие данные тоже лучше шифровать. В этой статье мы рассмотрим самые популярные шифрованные файловые системы, которые вы можете использовать для обеспечения безопасности ваших файлов.
Содержание статьи
Шифрованные файловые системы
Сначала разберем самодостаточные файловые системы, которые часто используются в Linux и среди прочего имеют функцию шифрования данных. Затем поговорим о файловых системах, разработанных только для шифрования.
1. ZFS
ZFS - это одна из самых интересных и перспективных файловых систем. Ее разработка началась еще в компании Sun Microsystems в 90 годах. Затем она прошла очень долгий путь развития и стала файловой системой с открытым исходным кодом. В этой файловой системе одной из первых появились такие возможности, как создание логических томов, снапшотов и многое другое. Изначально файловая система разрабатывалась для Solaris, но потом была портирована и для Linux. Шифрование в Linux версию было добавлено недавно.
Как и другие операции с файловой системой, шифрование можно выполнить даже для примонтированого раздела. Поддерживаются такие режимы шифрования, как AES (Advanced Encryption Standard) с длинной ключа 128, 192 и 256 бит. Но стоит отметить, что таким образом вы не можете зашифровать системный раздел. Можно выполнять шифрование без прав суперпользователя, и даже можно настроить политику шифрования для файлов, но отключить ее от обычного пользователя нельзя.
2. Ext4
Ext4 - это одна из самых популярных файловых систем, используемых в дистрибутивах Linux. Она применяется по умолчанию в большинстве дистрибутивов. Эта файловая система изначально разрабатывалась для Linux и с самого начала была включена в ядро. На данный момент это самая стабильная файловая система, в нее достаточно редко вносятся крупные изменения, а последний серьезный выпуск был в 2006 году, хотя новые функции добавляются постоянно.
Поддержка шифрования в файловой системе появилась тоже относительно недавно, начиная с ядра версии 4.1. Реализацией этой функции занималась компания Google, вероятно для своего Android. Здесь, также как и в предыдущем варианте можно настроить шифрование как для раздела целиком, так и для папок. Каждый файл шифруется собственным ключом, который генерируется на основе главного ключа. Поддерживается шифрование имен файлов и символических ссылок. Пока что для шифрования можно использовать алгоритмы AES-256 и AES-256 CBC+CTS. В отличие от ZFS, в ext4 можно использовать шифрование для корневого раздела.
3. F2FS
Файловая система F2FS известна как файловая система, адаптированная для работы на флеш накопителях и SSD дисках. Она содержит ряд оптимизаций, которые уменьшают число перезаписей диска, чем повышают срок его службы. Поддержка шифрования в F2FS появилась примерно тогда же, когда и в ext4, в ядре Linux 4.2. Из алгоритмов шифрования поддерживается AES-256.
4. CryFS
CryFS была разработана специально для шифрования. Файловая система позволяет скрывать не только данные, но и такую информацию, как размер файлов, метаданные и структуру каталогов. Файлы разбиваются на небольшие блоки фиксированного размера, которые используются по отдельности, независимо один от другого. Для запоминания размещения блоков используется древовидная структура. Метаданные и каталоги тоже записываются в зашифрованные блоки. Такой подход позволяет использовать шифрование с минимальными потерями производительности.
Эта шифрованная файловая система может использоваться поверх любой другой файловой системы. Каждый блок хранится в виде отдельного файла в базовом каталоге, эти файлы можно синхронизировать, например, в облачное хранилище. По умолчанию используется AES-256-GCM.
5. EncFS
EncFS - это еще одна шифрованная файловая система, основанная на FUSE. Как и в предыдущем случае зашифрованные файлы будут хранится в любой файловой системе, а для доступа к ним нужно использовать EncFS. При монтировании вы указываете директорию-источник и фразу-пароль, с помощью которой будут расшифрованы файлы. Зашифрованные файлы будут храниться как есть, без дополнительных изменений. Эта файловая система довольно старая и не использует современные практики шифрования. Поэтому на данный момент она считается небезопасной и была удалена из официальных репозиториев многих дистрибутивов.
6. eCryptfs
eCryptfs - это полноценная файловая система, предназначенная для шифрования. Она встроена в ядро Linux начиная с версии 2.6. Для шифрования используется стандарт OpenPGP, с несколькими модификациями. Каждый файл разделен на так называемые экстенты, части, которые могут быть расшифрованы независимо одна от одной, что позволяет реализовать произвольный доступ. Все метаданные файловой системы зашифрованы и находятся в отдельном файле. Это позволяет передавать данные через сеть.
7. LessFS
LessFS - файловая система, очень похожая по возможностях на Btrfs. Она позволяет оптимизировать дубли файлов, поддерживает сжатие и шифрование. LessFS основана на Fuse, а это значит, что нет необходимости модифицировать ядро. Поддерживается сжатие LZO, OuickLZ и Bzip. Из алгоритмов шифрования поддерживается AES.
8. GocryptFS
Это шифрованная файловая система, написанная на Go и основанная на FUSE. Она работает аналогично EncFS, только не содержит её уязвимостей и проблем с безопасностью. Впервые она появилась в 2015 году. Файловая система шифрует каждый файл отдельно, поэтому её можно использовать для загрузки шифрованных файлов в облака. Для шифрования используется алгоритм AES-GCM, а для шифрования имен файлов - алгоритм EME.
9. SecureFS
И снова файловая система специально разработанная для шифрования файлов на основе FUSE. Поддерживает не только Linux, но и Mac, а также Windows. Файловая система может работать в режиме lite, когда шифруются имена файлов и их содержимое отдельно, аналогично EncFS. Или же в режиме full, когда все файлы и папки хранятся в зашифрованной фиртуальной файловой системе.
Выводы
В этой статье мы рассмотрели лучшие шифрованные файловые системы Linux, которые вы можете использовать для защиты своих данных. Сейчас конфиденциальность и безопасность информации имеет первостепенное значение. Если ваш компьютер находится в потенциально опасной обстановке и может быть доступен другим, то важно использовать шифрование чтобы избежать проблем. А какие шифрующие файловые системы вы используете? Напишите в комментариях!
Вопрос.
Есть раздел, например, /home. Пускай будет на отдельном носителе. Представим, что HDD, где находиться система умер. Как я смогу получить доступ к данным, которые на диске с разделом /home.
Или если я решу переустановить ОС, другой дистрибутив поставить, то смогу ли я получить доступ к разделу /home, который был зашифрован предыдущим дистрибутивом Linux?
Извините за вопросы новичка.
Заранее спасибо.
Alessandro: Жаль, что вопрос остался без ответа. А вопрос хороший, многих бы это тоже интересовало.
Супер
Yandex: ubuntu восстановление доступа к шифрованному домашнему каталогу
Я так понимаю, что вас заботит вопрос о доступности зашифрованных данных в случае повреждения ОС. Да, к данные можно восстановить. И да, уже зашифрованный старый домашний каталог можно использовать в новой ОС.
PS В современных версиях Ubuntu инструмент eCryptfs шифрования домашнего каталога не устанавливается "из коробочки", его надо устанавливать вручную.