Модуль резервного копирования шифрование
В ispmanager реализован механизм шифрования резервных копии, построенный на основе библиотеки OpenSSL.
Назначение
Шифрование необходимо для того, что бы защитить данные, находящиеся внутри резервной копии от несанкционированного доступа. Особенно актуально для удаленных хранилищ, таких как Dropbox, Amazon S3, а так же FTP и SFTP.
Файлы
Подлежат шифрованию файлы с данными резервной копии, которые имеют префикс F, I или C. Зашифрованые файлы имеют расширение aes, например, F2016-10-18.usr2#.tgz.aes. Так же подлежат шифрованию файлы, содержащие листинг резервной копии, которые начиаются с даты, например, 2016-10-18.usr2#.tgz.aes.
Информационные файлы, которые имеют расширение info, например, 2016-10-18.usr2#.info шифрованию не подлежат. В info файлах хранится параметр key_hash, содержащий хэш пароля.
В локальной директории /usr/local/mgr5/var/backup/ispmgr info файлы и файлы, содержащие листинг резервной копии хранятся в незашифрованном виде.
Алгоритм шифрования
Для шифрования резервных копий используется алгоритм AES-256 предоставляемый библиотекой OpenSSL. Пароль от резервной копии, хранящийся в info файле зашифрован при помощи алгоритма SHA-256.
Включение и отключение шифрования
Для того, что бы включить шифрование, необходимо открыть форму "Резервное копирование", на которой расположены настройки, на вкладке "Основное" заполнить поле "Пароль резервной копии" и нажать кнопку "Ок".
Для того, чтобы отключить шифрование необходимо очистить поле "Пароль резервной копии" и нажать кнопку "Ок".
Шифрование и дифференциальные резервные копии
Включение шифрования влияет на порядок создания дифференциальных резервных копий.
Если текущий день недели не воскресенье и имеется полная копия, то после включения шифрования, следующая копия будет полной, а не дифференциальной.
Если в полной резервной копии было включено шифрование и в дальнейшем был изменен пароль, то будет создана полная резервная копия.
Если использовалось шифрование и было отключено, то так же будет создана полная резервная копия.
Восстановление после смены пароля
Если резервная копия была создана с паролем и пароль изменился, то при восстановлении или скачивании резервной копии будет отображена форма с запросом пароля. В случае ввода неправильного пароля будет показано сообщение об ошибке.
В случае если под администратором выбраны несколько пользователей, имеющих разные пароли, будет предложено восстановить пользователей по отдельности с вводом пароля для каждой резервной копии.
Пользовательское хранилище
Возможность включения шифрования доступна и для пользовательского хранилища. Для этого необходимо войти под пользователем и выполнить инструкции описанные в разделе "Включение и отключение шифрования".
Нельзя в качестве пользовательского хранилища использовать то же хранилище, которое используется к качестве основного хранилища.
Смена пароля в пользовательском хранилище
При загрузке резервной копии в пользовательское хранилище, резервная копия сохраняется в соответствии с настройками пользовательского хранилища.
Изменять пароль на пользовательское хранилище рекомендуется в воскресенье, когда делается полная резервная копия. Это связанно с тем, что полная и дифференциальная резервная копия будет зашифрована с разными паролями и возникнут проблемы при восстановлении и скачивании из дифференциальной резервной копии.
Импорт зашифрованного архива
Импортировать зашифрованный архив можно под администратором в разделе меню Импорт пользователя. В поле Тип источника выбрать из локального архива или каталога и указать путь к каталогу, содержащему полный зашифрованный архив, которой содержит файл листинга, info файл и файлы с данными. Так же необходимо указать пароль к зашифрованному архиву.
При импорте зашифрованного архива пароль изменен не будет.
Примеры команд для шифрования и расшифровки архива
Шифрование
openssl enc -e -pass pass:<password> -aes-256-cbc -in /path/to/file.part -out /path/to/file.aes.part
Расшифровка
openssl enc -md md5 -d -pass pass:<password> -aes-256-cbc -in /path/to/file.aes.part -out /path/to/file.part