Шифрование на Ubuntu с помощью Truecrypt

linux-truecrypt-logo

Краткое описание

Для шифрования ваших данных можно использовать разные методы, но в  этой статье мы будем  описывать процесс шифрования данных с помощью Truecrypt, который служит для кодирования жестких дисков, разделов жестких дисков, файлов, и USB-устройств , так что фронт работы довольно — таки обширный.

Необходимые файлы

  • Необходимые для установки файлы  скачать можно по адресу перейдти по ссылке. Эта инструкция написана для console-версии. В архиве находятся не исходники, а просто инсталлятор, который нужно рапаковать и запустить.

Предисловие

Для начала вам  нужно будет создать так называемый контейнер, в котором будут содержаться файло-папки, предназначенные для шифрования. Контейнером будет служить файл с  названием которое вы ему присвоите  или даже целый раздел диска (что очень заманчиво). Для доступа к вашему контейнеру  нужно будет обязательно указать пароль ( его вы должны придумать сами), а также можно создать так называемый  файл ключа ( но это является необязательной опцией), с помощью него будет шифроваться ваша информация. Учтите сразу, что размер контейнера не резиновый и у него есть свой предел, так что вам придётся подумать над его размером. И последнее: GUI для Truecrypt’а нет, поэтому весь процесс будет проходить в терминале.

Создание зашифрованных разделов/файлов

  • Создаём файл ключа:
truecrypt --create-keyfile /home/user/test/file

, где file — название файла — ключа. Учтите, что директория /home/user/test должна существовать.

  • Создаём контейнер, в моём случае раздел диска:
sudo truecrypt -k /home/user/test/file -c /dev/sda9

 

  Настройка защиты серверов Samba на Ubuntu linux
Вместо раздела /dev/sda9 вполне можно указать и какой нибудь  файл, например /home/user/test/cryptofile, но в этом случае нужно будет указать его размер, это делается параметром --size=5G до параметра -c. В указанном примере создастся файл cryptofile размером 5 ГигаБайт.
Иногда (FIXME всегда?) truecrypt принимает размер только в байтах что очень неудобно , для 5 Гбайт вам лучше высчитать значение заранее и указать--size=5368709120 (готовый вариант , но вы можете и указать свои параметры), или добавить немножко терминальной магии вот так: --size=`echo 1024^3*5 | bc`.
Для «любителей» информатики: 1 ГБ = 1024 МБ, 1 МБ = 1024 кБ, 1 кБ = 1024 Байт.

 

 

Для шифрования ваших данных будет использоваться сделанный уже файл — ключ.

 

  • Вам предложат выбрать тип контейнера (нормальный или скрытый) — выберете (сейчас мы работаем  только с нормальным), также — файловую систему (FAT, ext2/3/4 или без файловой системы), мы выберем «без файловой системы», можно создать её чуть позже. Также вам предложат выбрать алгоритм шифрования (например, AES), а так же hash-алгоритм (например, SHA-1) для шифрования потоков данных.

 

Truecrypt используется для шифрования данных «налету», то есть вы можете, подмонтировав контейнер, работать с находящимися в нём файлами как обычно (открывать/редактировать/закрывать/создавать/удалять), что очень удобно, просто это, естественно, будет немного медленнее , чем обычно бывает.

 

  • Шифрованный раздел/файл создали. Далее, если нужно его внутреннюю файловую систему отформатировать под нужную, делаем следующее. Цепляем его Truecrypt’ом:
truecrypt -k /home/user/test/file /dev/sda9

 

По умолчанию будет задействован созданный Truecrypt’ом девайс /dev/mapper/truecrypt0, можно поменять девайс на другой (читайте man truecrypt).

 

  • По обращению к этому девайсу, можно менять например файловую систему в зашифрованном контейнере. В нашем примере это нужно сделать. Делаем:
sudo mkfs.ext3 -v /dev/mapper/truecrypt0

Этим самым мы сделали файловую систему ext3 внутри вашего уже зашифрованного контейнера.

  • Далее, т.к. наш контейнер уже «прикреплён» к девайсу /dev/mapper/truecrypt0, то осталось его просто примонтировать к какой-нибудь директории. Эта директория для монтирования должна уже существовать в системе так что лучше на всякий случай создать ее заранее. Монтируем:
sudo mount /dev/mapper/truecrypt0 /mnt/crypto

, где /mnt/crypto — директория, к которой примонтировали нифрованный контейнер.

  • Далее, чтобы что-то зашифровать, нужно теперь просто кинуть информацию в папку /mnt/crypto. А чтобы скрыть от чужих глаз  зашифрованную информацию, выполняем команду размонтирования, но с помощью Truecrypt’а:
truecrypt -d

Вот и всё, теперь без знания файла-ключа и пароля никто не сможет прочесть спрятанную вами информацию.

  Установка Nginx на Ubuntu. Свой веб сервер за 5 минут.

Проверка работы

  • Чтобы проверить акт размонтирования, наберём:
truecrypt -v -l

Нам покажут примонтированные Truecrypt’ом контейнеры, если такие (примонтированные) имеются.

  • Чтобы снова получить доступ к информации, подключим контейнер:
truecrypt -k /home/user/test/file /dev/sda9 /mnt/crypto
  • Для проверки снова наберём:
truecrypt -v -l

Эта команда выдаст нам что-то вроде:

/dev/mapper/truecrypt0:
Volume: /dev/sda9
Type: Normal
Size: 22709965312 bytes
Encryption algorithm: AES
Mode of operation: LRW
Read-only: No
Hidden volume protected: No
  • Далее работаем с файлами в контейнере, обращаясь к ним как обычно.
  • Отключаем контейнер командой:
truecrypt -d
  • После этого команда
truecrypt -v -l

выведет нам:

No volumes mapped

Возможные проблемы и их решение

К сожалению, Truecrypt поддерживает в своих контейнерах в полной мере только файловую систему fat. Поэтому иногда не монтируются контейнера с файловой системой ext3, например.

  • Подключаем контейнер командой:
truecrypt -k /home/user/test/file /dev/sda9
  • Проверяем файловую систему:
sudo fsck -t ext3 /dev/mapper/truecrypt0
  • Затем уже монтируем его для работы:
sudo mount /dev/mapper/truecrypt0 /mnt/crypto

FIXME Возможно, разработчики это уже исправили в новых версиях.

  Минималистичный и быстрый просмотрщик изображений Gpicview для Ubuntu

Источники

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here