Глава 10 Шифрование резервных копий
Для повышения безопасности резервных данных 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. Эти параметры могут использоваться с различными операциями над изображениями резервных копий. Подробности см. в разделе 20.13 «Параметры шифрования».
Ниже приведен пример команды для создания зашифрованной резервной копии:
mysqlbackup --defaults-file=/home/dbadmin/backup.cnf --backup-image=/backups/image.enc --encrypt \
--key=23D987F3A047B475C900127148F9E0394857983645192874A2B3049570C12A34 \
--backup-dir=/var/tmp/backup backup-to-imageДля использования файла ключей для той же задачи:
mysqlbackup --defaults-file=/home/dbadmin/backup.cnf --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.