Глава 9 Шифрование резервных копий
Для повышения безопасности резервных данных MySQL Enterprise Backup предоставляет шифрование для резервных копий в формате одного файла. Шифрование также может быть применено при создании частичных, сжатых или инкрементных резервных копий одного файла, а также для потоковой передачи данных резервной копии на другое устройство или сервер.
Шифрование выполняется с использованием блочного шифра Advanced Encryption Standard (AES) в режиме CBC с использованием строкой ключа из 64 шестнадцатеричных цифр, предоставленной пользователем. Расшифровка выполняется с использованием того же ключа. Ключ можно создать вручную, просто объединив 64 случайных шестнадцатеричных байта, или его можно сгенерировать с помощью shasum (или аналогичных программ для вычисления хэш-функций, работающих на вашей платформе), предоставив ему фразу ключа:
$ echo -n "my secret passphrase" | shasum -a 256
a7e845b0854294da9aa743b807cb67b19647c1195ea8120369f3d12c70468f29 - Обратите внимание, что “-” в конце не является частью ключа и его следует игнорировать. Передайте ключ команде mysqlbackup с опцией --key, или вставьте ключ в файл ключа и передайте путь к файлу в команду mysqlbackup с опцией
--key-file.
Для генерации случайного ключа можно использовать такие инструменты, как OpenSSL:
$ openssl rand -hex 32
8f3ca9b850ec6366f4a54feba99f2dc42fa79577158911fe8cd641ffff1e63d6Чтобы поместить сгенерированный OpenSSL ключ в файл ключа, можно выполнить следующие действия:
$ openssl rand -hex 32 >keyfile
$ cat keyfile
6a1d325e6ef0577f3400b7cd624ae574f5186d0da2eeb946895de418297ed75b Функция шифрования использует собственный формат шифрования MySQL Enterprise Backup, что означает, что расшифровка возможна только с помощью MySQL Enterprise Backup. Для операционных систем семейства Unix используются различные магические числа для идентификации зашифрованных и незашифрованных файлов резервных копий. Например, вы можете добавить эти строки в файл /etc/magic вашей операционной системы:
0 string MBackuP\n MySQL Enterprise Backup backup image
0 string MebEncR\n MySQL Enterprise Backup encrypted backupКоманда file может быть использована для определения типов файлов:
$ file /backups/image1 /backups/image2
/backups/image1: MySQL Enterprise Backup backup image
/backups/image2: MySQL Enterprise Backup encrypted backup Опции команд, используемые для шифрования и расшифровки, это --encrypt, --decrypt, --key и --key-file. Эти опции могут быть использованы с различными операциями над резервными изображениями. Подробности см. в разделе 16.13 «Опции шифрования».
Ниже приведен пример команды для создания зашифрованной резервной копии:
mysqlbackup --backup-image=/backups/image.enc --encrypt
--key=23D987F3A047B475C900127148F9E0394857983645192874A2B3049570C12A34
--backup-dir=/var/tmp/backup backup-to-imageЧтобы использовать файл ключа для той же задачи:
mysqlbackup --backup-image=/backups/image.enc --encrypt
--key-file=/meb/key --backup-dir=/var/tmp/backup backup-to-imageЧтобы расшифровать резервную копию при ее извлечении:
mysqlbackup --backup-image=/backups/image.enc --decrypt
--key-file=/meb/key --backup-dir=/backups/extract-dir extractЧтобы проверить изображение зашифрованной резервной копии:
mysqlbackup --backup-image=/logs/encimage.bi --decrypt --key-file=/meb/enckey validate
© 2025 Oracle
Licensed under the GPLv2 License.