MySQL Tablespace Encryption es relativamente simple de configurar. Tienes que estar usando MySQL 5.7, innodb_file_per_table
La documentación de MySQL cubre todo lo que necesita para configurarlo:
Pero mi publicación en el blog sería muy breve si solo compartiera un enlace. Asi que....
Una vez actualizado y en MySQL 5.7, debe tener una ubicación válida para su archivo de claves. Tengo un datadir de MySQL como / var / lib / mysql / data, esto permite ubicaciones predeterminadas para que la gente lo encuentre si es necesario, pero también permite una ubicación montada simple para más discos si es necesario también. Esto también evita tener que hacer ediciones adicionales para selinux y etc, ya que permite / var / lib / mysql.
toque / var / lib / mysql / keyring
chmod 750 / var / lib / mysql / keyring *
Chown mysql: mysql / var / lib / mysql / keyring
Edite el archivo mysql .cnf:
ls /usr/lib64/mysql/plugin/keyring_file.so
/usr/lib64/mysql/plugin/keyring_file.so
[mysqld]
# Instalación del complemento de Keyring
early-plugin-load = keyring_file.so
keyring_file_data = / var / lib / mysql / keyring
Después del inicio de MySQL, verifique los complementos:
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
-> FROM INFORMATION_SCHEMA.PLUGINS
-> DONDE PLUGIN_NAME ME GUSTA 'keyring%';
+ -------------- + --------------- +
| PLUGIN_NAME | PLUGIN_STATUS |
+ -------------- + --------------- +
| keyring_file | ACTIVO |
| keyring_udf | ACTIVO |
+ -------------- + --------------- +
INSTALE PLUGIN keyring_udf SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_generate DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_length_fetch DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_type_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_store DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_remove DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
mysql> usar prueba;
mysql> SELECT keyring_key_generate ('MyKey1', 'AES', 32);
mysql> CREATE TABLE `enc_test` (
`enc_test_id` varchar (255) NOT NULL,
LLAVE PRIMARIA (`enc_test_id`)
) ENGINE = InnoDB;
mysql> alter table test.enc_test encryption = 'Y';
mysql> mostrar crear tabla enc_test \ G
*************************** 1. fila ******************** *******
Tabla: enc_test
Crear tabla: CREATE TABLE `enc_test` (
`enc_test_id` varchar (255) NOT NULL,
LLAVE PRIMARIA (`enc_test_id`)
) ENGINE = InnoDB CHARSET POR DEFECTO = latin1 ENCRYPTION = 'Y'
1 fila en el set (0.00 seg)
La documentación de MySQL cubre todo lo que necesita para configurarlo:
- https://dev.mysql.com/doc/refman/5.7/es/keyring.html
- https://www.percona.com/blog/2016/04/08/mysql-data-at-rest-encryption
- http://mysqlserverteam.com/mysql-enterprise-transparent-data-encryption-tde-provides-at-rest-encryption-for-physical-innodb-tablespace-data-files/
Pero mi publicación en el blog sería muy breve si solo compartiera un enlace. Asi que....
Una vez actualizado y en MySQL 5.7, debe tener una ubicación válida para su archivo de claves. Tengo un datadir de MySQL como / var / lib / mysql / data, esto permite ubicaciones predeterminadas para que la gente lo encuentre si es necesario, pero también permite una ubicación montada simple para más discos si es necesario también. Esto también evita tener que hacer ediciones adicionales para selinux y etc, ya que permite / var / lib / mysql.
toque / var / lib / mysql / keyring
chmod 750 / var / lib / mysql / keyring *
Chown mysql: mysql / var / lib / mysql / keyring
Edite el archivo mysql .cnf:
ls /usr/lib64/mysql/plugin/keyring_file.so
/usr/lib64/mysql/plugin/keyring_file.so
[mysqld]
# Instalación del complemento de Keyring
early-plugin-load = keyring_file.so
keyring_file_data = / var / lib / mysql / keyring
Después del inicio de MySQL, verifique los complementos:
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
-> FROM INFORMATION_SCHEMA.PLUGINS
-> DONDE PLUGIN_NAME ME GUSTA 'keyring%';
+ -------------- + --------------- +
| PLUGIN_NAME | PLUGIN_STATUS |
+ -------------- + --------------- +
| keyring_file | ACTIVO |
| keyring_udf | ACTIVO |
+ -------------- + --------------- +
INSTALE PLUGIN keyring_udf SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_generate DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_length_fetch DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREATE FUNCTION keyring_key_type_fetch DEVOLUCIONES STRING SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_store DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
CREAR FUNCTION keyring_key_remove DEVOLUCIONES INTEGER SONAME 'keyring_udf.so';
mysql> usar prueba;
mysql> SELECT keyring_key_generate ('MyKey1', 'AES', 32);
mysql> CREATE TABLE `enc_test` (
`enc_test_id` varchar (255) NOT NULL,
LLAVE PRIMARIA (`enc_test_id`)
) ENGINE = InnoDB;
mysql> alter table test.enc_test encryption = 'Y';
mysql> mostrar crear tabla enc_test \ G
*************************** 1. fila ******************** *******
Tabla: enc_test
Crear tabla: CREATE TABLE `enc_test` (
`enc_test_id` varchar (255) NOT NULL,
LLAVE PRIMARIA (`enc_test_id`)
) ENGINE = InnoDB CHARSET POR DEFECTO = latin1 ENCRYPTION = 'Y'
1 fila en el set (0.00 seg)