Configurar el cifrado de datos en reposo en PostgreSQL

Configurar El Cifrado De Datos En Reposo En Postgresql



Debe proteger sus datos siempre que trabaje con cualquier base de datos. Para PostgreSQL, es posible proteger los datos en reposo. La lógica implica proteger sus datos mientras están almacenados en el disco. De esa manera, tendrá una línea de defensa más para proteger sus datos de un atacante.

Aunque PostgreSQL no ofrece opciones de cifrado integradas, puede configurar el cifrado de datos en reposo utilizando métodos de cifrado de terceros. El tutorial de hoy se centra en utilizar el método de cifrado de datos transparente (TDE) para habilitar el cifrado a nivel del sistema de archivos.

Cómo configurar el cifrado de datos en reposo en PostgreSQL

Al configurar el cifrado de datos en reposo en PostgreSQL, el objetivo es hacer que los datos sean ilegibles en el sistema de archivos al requerir una clave de descifrado. De esta forma se elimina el acceso no autorizado.







Cuando PostgreSQL se ejecuta en su servidor, puede configurar el cifrado a nivel del sistema de archivos utilizando herramientas de terceros, como la Configuración de clave unificada de Linux (LUKS). Puede encontrar la solución adecuada para su sistema. Aquí, estamos trabajando con Ubuntu y configuramos el cifrado de datos siguiendo los siguientes pasos.



Paso 1: instale la herramienta de cifrado del sistema de archivos

Una vez que seleccione el método de cifrado, debe instalar las herramientas necesarias. Seleccionamos el método de cifrado a nivel de sistema de archivos e instalamos LUKS. Para instalar LUKS, instale cryptsetup de la siguiente manera:



sudo apt-obtener instalación configuración de cripta





Presione 'y' para continuar con la instalación y asegurarse de que todo se instale como se esperaba.

Paso 2: configurar un contenedor cifrado

Dado que estamos configurando el cifrado a nivel del sistema de archivos, debemos crear un directorio cifrado en nuestro disco que contenga los datos de PostgreSQL. Verifique los dispositivos disponibles en su sistema operativo con el siguiente comando:



sudo disco duro -l

A continuación, seleccione el dispositivo apropiado y ejecute el siguiente comando. Aquí utilizamos el /dev/sdb dispositivo. Se le pedirá que confirme la acción escribiendo 'SÍ' y luego ingrese una frase de contraseña.

Luego debes cifrarlo usando LUKS ejecutando el siguiente comando:

Paso 3: formatee el contenedor

Para el contenedor creado, debemos formatearlo. Usamos la opción “mkfs.ext4” ejecutando el siguiente código:

sudo mkfs.ext4 / desarrollador / mapeador / postgres_encriptado

Paso 4: montar el contenedor

A continuación, montemos el contenedor cifrado. Comience creando un directorio en el /mnt/ como sigue:

sudo mkdir / mnt / postgres

Una vez creado el directorio, continúe y monte el contenedor cifrado usando el comando 'montar' y especifique la ruta.

sudo montar / desarrollador / mapeador / postgres_encriptado / mnt / postgres /

Paso 5: mover los datos de PostgreSQL

Hasta ahora, creamos un contenedor cifrado para almacenar nuestros datos de PostgreSQL, pero aún tenemos que mover los datos. Antes de mover los datos debemos detener el servicio PostgreSQL.

sudo systemctl detener postgresql

Para mover los datos de PostgreSQL, ejecute el siguiente comando 'copiar' y asegúrese de copiarlo al directorio que creamos anteriormente:

sudo sincronización -de / era / biblioteca / postgresql / mnt / postgres

A continuación, haga una copia de seguridad de los datos originales de PostgreSQL moviéndolos a una ubicación de copia de seguridad.

sudo mv / era / biblioteca / postgresql / era / biblioteca / postgresql_backup


Luego deberá crear un enlace simbólico para el directorio para un acceso rápido.

sudo en -s / mnt / postgres / postgresql / era / biblioteca / postgresql

Eso es todo. Logramos copiar y mover los datos de PostgreSQL a nuestro contenedor cifrado a nivel de sistema de archivos para asegurarnos de proteger los datos en reposo.

Paso 6: edite el archivo de configuración de PostgreSQL

El directorio_datos en el archivo de configuración refleja la valiosa ubicación de los datos de PostgreSQL. Sin embargo, debemos editarlo para que coincida con la ubicación de los datos de PostgreSQL en el contenedor cifrado que creamos. Entonces, abra el archivo de configuración de PostgreSQL usando un editor de texto. Localice la sección directorio_datos. Aparece como se muestra a continuación antes de editarlo. La ruta puede diferir según la versión de PostgreSQL instalada en su sistema.

Cambie la ruta para dirigir al contenedor cifrado que creamos en el paso 4. En nuestro caso, la nueva ruta es la siguiente:

Paso 7: guardar, salir y reiniciar

Guarde y salga del archivo de configuración de PostgreSQL. A continuación, inicie o reinicie PostgreSQL. Logró configurar el cifrado de datos en reposo en PostgreSQL.

¡Eso es todo! Puede continuar usando PostgreSQL de forma segura y disfrutar del nuevo cifrado a nivel de sistema de archivos.

Conclusión

Configurar el cifrado de datos en reposo en PostgreSQL implica determinar qué método de cifrado utilizar y luego configurarlo. Seleccionamos el cifrado TDE usando LUKS para configurar un cifrado a nivel de sistema de archivos. Además, detallamos cada paso a seguir para configurarlo. ¡Eso es todo! Pruébelo y siga los pasos proporcionados.