Чем шифровать файлы в Linux

Как известно, прекрасный криптографический инструмент TrueCrypt приказал долго жить. Некоторое время еще сохранялась возможность самостоятельно собирать TrueCrypt из исходников и пользоваться им в свое удовольствие. Но выход новых версий Linux-дистрибутивов сильно осложнил сборку, ведь в зависимостях остаются старые версии библиотек. Остро встал вопрос: куда валить с TrueCrypt?

Шифрование файлов

Поскольку я пользуюсь Debian (и всем советую), первым делом я обратился к официальным рекомендациям. Они заключаются в следующем:

  • не использовать по возможности TrueCrypt;
  • использовать EncFS;
  • или Cryptsetup / LUKS.

Я попробовал и EncFS и Cryptsetup. Первое — откровенный шлак. И медленно, и файловую систему замусоривает. Второе сильно лучше. Cryptsetup позволяет создавать зашифрованные файловые системы в одном файле, шифровать флешки, диски, разделы. Все работает очень быстро и удобно. Я бы на Cryptsetup и остановился. Но нет возможности примонтировать зашифрованную флешку или криптоконтейнер в Windows, а кроссплатформенность для меня важна.

Что же делать? Для себя я решил, что удобнее всего использовать предпоследнюю версию TrueCrypt 7.1a. Для Windows стандартный дистрибутив, для Linux консольную версию, которая поставляется одним файлом, не имеет экзотических зависимостей и корректно функционирует в Debian 8.

Второй важный вопрос заключается в том, откуда брать бинарники, чтобы им можно было доверять? Ведь на официальном сайте выложена покоцанная версия 7.2, да к тому же на том же сайте размещено т.н. свидетельство канарейки. Ответ прост: таких источников нет. Но из всех вариантов, наиболее безопасным кажется AuditProject/truecrypt-verified-mirror. Почему именно он можно узнать тут.

Третий вопрос: как интегрировать в систему бинарник, чтобы он не нарушил порядок и зависимости. Правильный ответ: создать под него deb-пакет. Я решил поступить немного иначе. Создал директорию /opt/truecrypt и положил бинарник туда. Добавил путь в PATH. Из репозитория брал 64-битную консольную версию, пользоваться которой легко и приятно (в отличии от Cryptsetup):

  • нужно один раз создать точку монтирования (например, /mnt/crypto);
  • затем можно переходить к монтированию криптоконтейнера простой командой truecrypt —mount [filename];
  • размонтирование производится командой truecrypt -d.