Cómo cifrar y proteger mi base de datos SQL con contraseña

¿Estás hablando de cifrado de datos transparente o cifrado de nivel de columna? Existen muchas buenas razones para cifrar sus datos (o toda la base de datos), dependiendo de los requisitos comerciales y / o legales.

Supongo que estás usando SQL Server.

1- Cifrado de datos transparente (TDE): aquí es donde se encripta toda la base de datos en el disco, y las copias de seguridad de la base de datos también se encriptan. Sin embargo, los datos que ve alguien que consulta la base de datos no están cifrados. Esto se debe a que no se encripta cuando se extrae de la memoria caché del búfer (memoria), lo que sucede cuando se leen los datos. El cifrado de datos transparente agrega un costo de CPU a la consulta de los datos, ya que deben estar sin cifrar cuando se leen y volver a cifrar cuando se vuelven a escribir en el disco cuando se producen puntos de control. Para implementar TDE, debe: 1- Crear una clave simétrica en la base de datos maestra (esto ya existe porque se creó cuando creó la instancia de SQL Server), 2- Crear una clave maestra de base de datos en la base de datos maestra, 3- Crear un certificado en la base de datos maestra, 4- Cree una clave de cifrado de la base de datos protegida por el certificado y 5- habilite TDE en la base de datos del usuario. Con respecto a la contraseña que desea usar para proteger los datos, la especificará cuando cree la clave maestra de la base de datos.

Es fundamental que haga una copia de seguridad de la clave simétrica, la clave maestra de la base de datos y el certificado para poder restaurar la base de datos más adelante. Si no tiene estos, es posible que ni siquiera esté haciendo copias de seguridad de su base de datos porque no podrá restaurarla. Recomiendo hacer una copia de seguridad antes de activar el interruptor en TDE.

Algunos entornos requieren legalmente el cifrado de datos transparente para garantizar que si los discos o las copias de seguridad fueran adquiridos por un tercero no deseado, no podrían restaurar los datos. Piense en una empresa que almacena datos de atención médica. Les gustaría implementar TDE para cumplir con los requisitos de HIPPA.

Aquí está la URL de la documentación de Microsoft para implementar el cifrado de datos transparente en SQL Server:

Cifrado de datos transparente (TDE)

2- Cifrado a nivel de columna: aquí es donde debe proteger los datos confidenciales, como números de seguridad social, números de tarjetas de crédito o salarios de empleados de empleados internos (así como de entidades externas). Es decir, si los datos permanecen cifrados en la memoria caché del búfer a menos que no se cifren explícitamente. La implementación del cifrado a nivel de columna es un proceso similar al TDE, ya que debe crear la clave maestra de la base de datos y un certificado, pero también deberá agregar comandos adicionales a sus scripts (para abrir la clave simétrica y descifrar / cifrar los datos usando el certificado) cuando inserta, actualiza o lee filas de la tabla donde especifica la clave de cifrado y el certificado que se utilizará para hacerlo.

Aquí está la URL de la documentación de Microsoft para implementar el cifrado a nivel de columna:

Cifrar una columna de datos

Bueno, las bases de datos SQL no deben cifrarse, ya que necesita un algoritmo de descifrado cada vez que desee recuperar datos de su base de datos, incluso su página de inicio requerirá un algoritmo de descifrado cada vez que esto aumentará la complejidad para diseñar el sitio web y también utilizará grandes volúmenes. de recursos de CPU para cada página de carga (le cuesta más)

Por lo tanto, todo lo que puede hacer es simplemente usar md5 o cualquier código de cifrado para las celdas de datos almacenadas específicamente para un campo en particular o todos los campos y debe ser hash

Incluso si el atacante obtiene acceso a su host mySQL descifrando sus datos de inicio de sesión

él / ella no puede usar lo mismo, ya que podría ser comprensible y descifrado usando ese hash particular que solo asignó al momento de la codificación

espero que ayude 🙂