В этой статье я расскажу о том, как можно шифровать файлы в операционной системе Linux с помощью таких криптографических файловых систем как eCryptfs и EncFS.
Немного теории
В отличие от операционной системы Windows в Linux есть довольно много средств криптографической защиты информации. С их помощью можно шифровать почтовые переписки, файлы, блочные устройства.
Если включить шифрование файлов в Linux то уменьшиться длинна допустимого имени файла. При этом ключи шифрования различные для каждого пользователя.
eCryptfs –это файловая система, которая предназначена для многоуровневого шифрования. Она не нуждается в резервировании места на жестком диске, поэтому она монтируется в любую директорию. После монтирования eCryptfs может шифровать файл, директорию или весь жесткий диск.
EncFS – это файловая система, которая использует любую директорию для прозрачного шифрования файлов.
Разберемся на примере.
Шифрование с помощью eCryptfs
Для работы с eCryptfs нужно открыть терминал (Ctrl + Alt + T) и прописать команду sudo apt-get install ecryptfs-utils. Таким образом, вы установите userspace-инструменты необходимые для шифрования.
Затем нужно создать каталог и монтировать смонтировать его. Для этого нужно по очереди выполнить следующие команды:
- sudo mkdir /путь/имя каталога
- sudo mount -t ecryptfs /путь к исходному каталогу/имя исходного каталога/ путь к целевому каталогу/имя целевого каталога/
После ввода команд вам нужно будет ввести пароль для ключа шифрования.
После ввода пароля вам будет предложен выбор алгоритма шифрования. По умолчанию это AES. Оставим его – нажмите enter для продолжения.
Далее нужно выбрать размер ключа:
- 16
- 32
- 24
Выберите 32 – для этого введите цифру 2 и нажмите enter.
Далее нам будет предложено разрешить или запретить доступ к незашифрованным файлам. Оставим доступ к файлам – введите y.
Затем нужно выбрать, шифровать ли имена файлов. Мы не будем шифровать имена – n.
Затем появиться различные опции, которые мы не будем менять. Введите yes и закончите монтирование.
Мы зашифровали каталог, в моем случае – test. Теперь нужно проверить работу шифрования.
Создайте файл в папке test. Я перешел в папку cd /test и создал файл sudo nano testfile.txt. Напишите любой текст в этом файле и сохраните его.
Теперь демонтируем eCryptfs с помощью команды: sudo umount /путь/имя каталога/.
Посмотрите содержимое файла.
Шифрование с помощью EncFS
Установим EncFS с помощью команды sudo apt-get install encfs.
Допустим нам нужно все файлы, которые мы копируем в каталог cat1 шифровать и помещать в каталог cat2. Для этого нам нужно выполнить команду sudo encfs ~/cat1 ~/cat2.
Если этих каталогов не существует, то они будут созданы автоматически. Имена каталогов и пути можете выбрать любые.
Теперь при перемещении файлов (учтите, что нужно запустить nautilus с правами супер пользователя: команда sudo nautilus).
Теперь если вы скопируете файл в директорию cat1 то в директории cat2 будет содержаться зашифрованная копия этого файла.