Шифрование файлов с помощью OpenSSL

Сентябрь, 14th 2017Рубрика: *NIX | Безопасность | Советы 19407
Подписаться на комментарии по RSS

Шифрование файлов с помощью OpenSSL

Иногда бывает нужно зашифровать какой-то архив или отдельный файл, обезопасив таким образом доступ к нему посторонним. Несколько лет назад, я уже рассказывал о хранении шифрованных данных в облаке Яндекс.Диск, тогда рассматривалось создание шифрованного образа диска средствами Mac OS X.

Сегодня, будем шифровать данные с помощью библиотеки OpenSSL, входящей в состав любого *NIX дистрибутива. К сожалению, самый распространённый архиватор tar, не умеет самостоятельно шифровать данные, но мы ему в этом поможем.

OpenSSL — это криптографический пакет с открытым исходным кодом для работы с SSL/TLS, имеется возможность шифрования данных и тестирования SSL/TLS соединений. OpenSSL поддерживает множество алгоритмов шифрования: Blowfish, Camellia ,DES, RC2, RC4, RC5, IDEA, AES, ГОСТ 28147-89, RSA, DSA, Diffie-Hellman key exchange и это еще не полный список. Вообще, все они делятся на два типа - симметричные и асимметричные, но углубляться в данную тематику не будем, так как сам, разбираюсь в ней довольно поверхностно, чтобы давать какие-то советы и уж тем более писать статьи.

У нас задача проще, используя уже имеющиеся инструменты, обезопасить свои данные. Для начала, создадим обычный tar архив и упакуем его архиватором gzip:

# tar cvzf arhive.tar.gz /path/to/arhiv

ключи архиватора:

  • с - (create) создать архив.
  • x - (eXtract) извлечь файлы из архива.
  • v - отображение процесса архивации (на экран будут выведены все найденные в архиве файлы)
  • f - обязательный ключ для создания файла архива.
  • z - использовать для сжатия архиватор gzip (.tar.gz)
  • j - использовать для сжатия архиватор bzip2 (.tar.bz2)
  • t - (test) просмотреть содержимое архива.

Для распаковки архива, соотвественно следует заменить параметр -с на -x:

# tar xfvz archive.tar.gz

С помощью ключа -С можно указать путь, куда следует распаковывать архив:

# tar xfvz archive.tar.gz -C /var/www

Шифрование архива с помощью OpenSSL

Для примера зашифруем полученный архив, используя алгоритм des3:

# openssl des3 -in arhive.tar.gz -out arhive.tar.gz.des3

Будет предложено ввести пароль на архив и подтвердить его

enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:

Расшифруем полученный файл:

# openssl des3 -d -in arhive.tar.gz.des3 -out arhive.tar.gz
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

ваш комментарий будет опубликован после проверки
на указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.