Недавно появилась необходимость зашифровать файл на сервере с
FreeBSD, чтобы злобные хакеры не смогли получить доступ к важной
информации. После недолгих поисков в Интернетах оказалось, что для
подобной задачи вполне подходит OpenSSL — надёжное кроссплатформенное
решение. OpenSSL поддерживает различные алгоритмы шифрования, плюс он по
умолчанию установлен во многих операционных системах, а установка на
остальные не составит труда.
Итак, чтобы зашифровать одиночный файл file вводим:
# openssl enc -e -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded
Или так:
# cat ./file | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > file.encoded
В итоге мы получаем file.encoded, зашифрованный алгоритмом AES с 256-битным ключом. На взлом такого алгоритма шифрования уйдет очень много времени.
Теперь, чтобы расшифровать файл, вводим:
openssl enc -d -aes-256-cbc -k ПАРОЛЬ -in ./file.encoded -out ./file
и получаем расшифрованный file. Все очень просто и доступно.
Теперь хочу рассмотреть вариант шифрования каталога dir с файлами. Tar и Gzip конечно же помогут в этом деле.
# tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > archive.tar.gz.encoded
Tar упаковывает и сжимает Gzip’ом и передает поток через конвеер на
обработку OpenSSL. На выходе получаем зашифрованный .tar.gz архив. Если
Gzip не нужен — тогда просто tar -cf ……
Засшифровываем в обратном порядке:
# openssl enc -d -aes-256-cbc -in ./archive.tar.gz.encoded | tar -xz
Недавно наткнулся на одну хорошую вещь. Утилитка Pipe Viewer
позволяет просматривать ход процесса, статус передачи данных через
конвеер. Во FreeBSD находится в портах /usr/ports/sysutils/pv .
Pipe Viewer аналогична Cat — выводит файл потоком, но при этом считает статистику.
Например, чтобы наблюдать за процессом шифрования, вводим:
# pv ./file | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > file.encoded
5GB 0:00:04 [78.7MB/s] [==> ] 10% ETA 0:00:05
Вот это я понимаю *nix-way. Win архиваторы отдыхают
http://ramzess.ru/shifrovanie-fajlov-v-linux-i-freebsd/
|