В наши дни особой важности набирает защита данных и личной информации. С помощью информации и файлов, которые хранятся на компьютере можно узнать очень многое о человеке, который этим компьютером пользуется. Поскольку там могут быть не только ненужные данные, но логины, пароли или просто токены доступа к различным сетевым ресурсам.
Для защиты информации от несанкционированного доступа при физическом контакте с вашим устройством можно использовать шифрование и шифрованные файловые системы. Такой метод дает достаточно большую надежность и прост в использовании, разве что во время монтирования нужно вводить пароль. Еще один вариант – это передача файлов через интернет. Такие данные тоже лучше шифровать. В этой статье мы рассмотрим самые популярные шифрованные файловые системы, которые вы можете использовать для обеспечения безопасности ваших файлов.
Шифрованные файловые системы
Сначала разберем самодостаточные файловые системы, которые часто используются в 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, которые вы можете использовать для защиты своих данных. Сейчас конфиденциальность и безопасность информации имеет первостепенное значение. Если ваш компьютер находится в потенциально опасной обстановке и может быть доступен другим, то важно использовать шифрование чтобы избежать проблем. А какие шифрующие файловые системы вы используете? Напишите в комментариях!